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

相关推荐
大模型码小白31 分钟前
AI大模型接入SDK:人工智能核心概念与发展史
大数据·运维·人工智能·安全·prompt
javaDocker1 小时前
电视台自建AI短视频生产线与算力底座:技术架构、关键实现与优化实践
人工智能·架构·音视频
野熊佩骑1 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
小HANN1 小时前
Linux建站实战:CentOS7+LNMP 从零部署 ECShop 开源电商系统
linux·运维·服务器·经验分享
haishikeji696_2 小时前
市域空中智能治理建设:无人机巡检管控平台功能架构与行业落地方案
架构·无人机·低空经济·无人机巡检·无人机管理系统·飞控管理平台
前端世界2 小时前
基于 Linux 的本地 AI 智能问答平台搭建实践 —— Ollama + FastAPI + Nginx 实现本地大模型 Web 服务
linux·运维·人工智能
山岚的运维笔记2 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
m0_587383002 小时前
点餐预约核销系统的架构脉络
java·架构·系统架构·需求分析
jianqiang.xue2 小时前
审查技能库(上):内存安全四件套
stm32·单片机·物联网·架构·esp32
代码方舟3 小时前
O2O二手车交易平台B端车商管理后台:基于天远车信盟出险构建自动化车况评估网关
java·运维·人工智能·自动化