【架构】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监控概述

相关推荐
加载中loading...27 分钟前
Linux的多线程(线程的创建,退出,取消请求,取消处理例程,线程属性的设置)
linux·运维·服务器·c语言
技术无疆29 分钟前
【Python】Uvicorn:Python 异步 ASGI 服务器详解
运维·服务器·开发语言·网络·python·pygame·python3.11
龙哥·三年风水1 小时前
国外电商系统开发-运维系统批量添加服务器
运维·python·商城系统
2402_857583491 小时前
新闻推荐系统:Spring Boot的架构优势
数据库·spring boot·架构
bylander1 小时前
【AI学习】Mamba学习(一):总体架构
人工智能·深度学习·学习·架构
未来之窗软件服务1 小时前
玄武星辰大阵——软件终端架构思维———未来之窗行业应用跨平台架构
架构
Trump. yang2 小时前
AutoSar 通信服务架构,CAN通信诊断详解
架构·autosar·汽车电子·can总线·通信原理
小小工匠3 小时前
Arch - 架构安全性_保密(Confidentiality)
架构·保密·confidentiality
爱吃龙利鱼3 小时前
网络基础知识笔记(四)
运维·网络·笔记·云原生·智能路由器