当前位置: 首页 > article >正文

【架构】prometheus+grafana系统监控

文章目录

      • 一、Prometheus简介
      • 二、Grafana简介
      • 三、Prometheus+Grafana系统监控的实现
      • 四、优势与应用场景
    • 参考

Prometheus+Grafana系统监控是一个强大的组合,用于实时监控和分析系统的性能与状态。以下是对这一组合在系统监控中的详细解析:

一、Prometheus简介

Prometheus(普罗米修斯)是一个开源的系统监控和警报工具包,由Go语言开发,是云原生计算基金会(CNCF)的项目之一。它主要特点包括:

  • 时间序列数据库:Prometheus的核心是一个时间序列数据库,能够高效存储来自各种应用程序和系统的指标数据,如CPU利用率、内存使用情况、HTTP请求响应时间等。
  • 灵活的查询语言:PromQL(Prometheus Query Language)允许用户对存储的指标数据进行复杂的查询和聚合操作。
  • 强大的警报系统:Prometheus可以根据定义的规则触发警报,并通过多种渠道(如邮件、Slack等)发送通知。
  • 不依赖分布式存储:单个节点即可实现自治,易于部署和扩展。

Prometheus四种数据类型
Counter

Counter用于累计值,例如记录请求次数、任务完成数、错误发生次数。一直增加,不会减少。重启进程后,会被重置。

例如:http_response_total{method=“GET”,endpoint="/api/tracks"} 100,10秒后抓取http_response_total{method=“GET”,endpoint="/api/tracks"} 100。

Gauge

Gauge常规数值,例如 温度变化、内存使用变化。可变大,可变小。重启进程后,会被重置。

例如: memory_usage_bytes{host=“master-01”} 100 < 抓取值、memory_usage_bytes{host=“master-01”} 30、memory_usage_bytes{host=“master-01”} 50、memory_usage_bytes{host=“master-01”} 80 < 抓取值。

Histogram

Histogram(直方图)可以理解为柱状图的意思,常用于跟踪事件发生的规模,例如:请求耗时、响应大小。它特别之处是可以对记录的内容进行分组,提供count和sum全部值的功能。

例如:{小于10=5次,小于20=1次,小于30=2次},count=7次,sum=7次的求和值。

Summary

Summary和Histogram十分相似,常用于跟踪事件发生的规模,例如:请求耗时、响应大小。同样提供 count 和 sum 全部值的功能。

例如:count=7次,sum=7次的值求值。

它提供一个quantiles的功能,可以按%比划分跟踪的结果。例如:quantile取值0.95,表示取采样值里面的95%数据。

二、Grafana简介

Grafana是一个开源的数据可视化和监控平台,由Torkel Ödegaard于2014年创建。其主要特点包括:

  • 多数据源支持:Grafana能够连接多种数据源,包括Prometheus、Graphite、Elasticsearch、InfluxDB等,并在同一仪表板中统一展示数据。
  • 丰富的可视化选项:提供多种图表类型和配置选项,如折线图、柱状图、仪表板、热图等,用户可以根据需求自由组合和定制。
  • 告警功能:支持设置警报规则,并在达到特定条件时发送通知。
  • 插件生态系统:拥有丰富的插件生态系统,用户可以根据需要扩展和定制功能。
    在这里插入图片描述

三、Prometheus+Grafana系统监控的实现

  1. 环境准备

    • 选择合适的操作系统(如Ubuntu、CentOS等)。
    • 安装Prometheus和Grafana,以及必要的Exporter(如Node Exporter用于收集Linux系统指标)。
  2. Prometheus配置

    • 下载并解压Prometheus安装包。
    • 配置prometheus.yml文件,定义监控目标和抓取间隔。
    • 启动Prometheus服务,并验证其正常运行。
  3. Grafana配置

    • 下载并解压Grafana安装包。
    • 启动Grafana服务,并使用默认用户名和密码登录。
    • 在Grafana中添加Prometheus数据源,并配置数据源URL。
  4. 创建仪表板

    • 在Grafana中创建新的仪表板。
    • 添加图表组件,并设置查询以展示所需的指标数据(如CPU使用率、内存占用等)。
    • 自定义图表样式和布局,以满足监控需求。
  5. 配置告警

    • 在Prometheus中定义告警规则文件(如alerts.yml)。
    • 在Grafana中添加告警规则,并配置通知渠道(如邮件、Slack等)。
    • 测试告警功能,确保在指标异常时能够及时收到通知。

四、优势与应用场景

Prometheus+Grafana组合在系统监控中具有以下优势:

  • 实时监控:能够实时监控系统的各项性能指标,确保系统稳定运行。
  • 可视化展示:通过Grafana提供的丰富图表和仪表板,用户可以直观地了解系统状态。
  • 灵活扩展:支持多种数据源和插件,可以根据需求灵活扩展监控范围和功能。
  • 告警通知:强大的告警系统能够在指标异常时及时通知相关人员,便于快速响应和处理问题。

该组合广泛应用于云计算、微服务架构、容器化部署等场景,为系统稳定性和性能提供了有力的保障。

参考

【Prometheus】Prometheus 监控 + Grafana 可视化平台部署
Prometheus+grafana监控系统-学习笔记
大数据监控系列(一)——Prometheus+Grafana监控概述


http://www.kler.cn/a/328572.html

相关文章:

  • ssh无法连接Ubuntu
  • 【嵌入式】关于push老仓库到新仓库的方法
  • 理解 Python 中的 __getitem__ 方法:在自定义类中启用索引和切片操作
  • VSCode 常用的快捷键
  • 什么是JSX?
  • springboot基于Web足球青训俱乐部管理后台系统开发(代码+数据库+LW)
  • 鸿蒙开发知识点速记全解
  • Python数据分析工具: Scikit-learn用法示例
  • android.bp cc_test
  • 木舟0基础学习Java的第三十一天(SpringMVC,xml式和注解式开发,携带数据,取值,视图解析)
  • Selenium(1)-webUI自动化环境部署,基本元素定位
  • 大学学校用电安全远程监测预警系统
  • Verilog基础:时序调度中的竞争(四)(描述时序逻辑时使用非阻塞赋值)
  • 车辆重识别(注意力 U-Net:学习在哪些区域寻找胰腺)论文阅读2024/10/01
  • 单体到微服务架构服务演化过程
  • 无人机跟踪
  • [网络]抓包工具介绍 tcpdump
  • 15.面试算法-树基础
  • 【深度学习】低维向量映射到高维空间的方法
  • 服装分类检测系统源码分享
  • 数据库重建索引的作用?
  • 编码能力提升计划 - 华为OD统一考试(E卷)
  • 2025届CS保研经验简帖
  • C#语言的历史与发展:从基础到高级的全面解析
  • Spring Boot技术在足球青训管理中的创新应用
  • 深入理解 WebSocket:实时通信的利器