Prometheus 监控指标采集学习笔记(概念)
前言
Google提出了监控的4 个黄金指标,分别是:流量
、延迟
、错误
、饱和度
这些指标是用于监控计算机系统、网络或服务的健康状况和性能的关键指标。以下是每个指标的解释:
流量
:指通过系统、网络或服务的数据传输量。监控流量可以帮助你了解系统的负载情况以及数据传输效率。如果流量过高,可能会导致系统性能下降或崩溃。延迟
:指从发出请求到收到响应所需的时间。监控延迟可以帮助你了解系统的响应速度,以及确定潜在的瓶颈和瓶颈所在的位置。错误
:指在系统、网络或服务中发生的错误数量。监控错误可以帮助你了解系统的稳定性和可靠性,以及确定错误发生的原因和位置。饱和度
:指系统、网络或服务正在处理的负载量。监控饱和度可以帮助你了解系统的负载情况,以及确定何时需要扩展或优化系统以提高其性能。
总之,这些指标是监控系统、网络或服务健康状况和性能的关键指标,通过监控这些指标可以及时发现问题并采取适当的措施来提高系统性能和稳定性。
当前监控服务 Prometheus,以下是Prometheus如何监控服务的流程:
配置监控目标
:管理员需要在Prometheus的配置文件中指定要监控的目标(例如应用程序、服务器、数据库等),以及这些目标的监控指标和数据采集方式。数据采集
:Prometheus使用一种称为“pull”的方式从目标系统中收集监控数据。当Prometheus启动时,它会定期从配置文件中列出的目标系统中拉取数据。数据存储
:Prometheus会将收集到的数据存储在本地的时间序列数据库中,这是一个高效的存储引擎,可以快速存储和检索大量的时间序列数据。查询和聚合
:管理员可以使用PromQL(Prometheus查询语言)来查询和聚合存储在时间序列数据库中的监控数据,以生成有用的指标和仪表板。告警
:管理员可以设置告警规则,以在系统出现问题或达到特定阈值时自动触发告警。Prometheus会使用配置的通知方式将告警发送给管理员或其他关键利益相关者。
通过以上流程,Prometheus可以实现对服务的全面监控,包括性能指标
、错误率
、延迟
、饱和度
等方面,为管理员提供快速、高效的监控和诊断功能。
数据采集
1、数据采集格式要求 metrics
Metrics 是指用于测量、监控和报告系统、服务或应用程序性能的度量标准。它们是用于衡量系统各种方面的定量指标,可以帮助了解系统的健康状况和性能表现,并支持做出优化决策。
在Prometheus中,metrics 既是一种数据指标的格式
,又是一个生产监控数据的角色的名称
。
具体来说,Prometheus使用一种简单而灵活的文本格式来表示监控数据,这种格式被称为Prometheus Metrics 格式。
该格式由标识符
、标签
和数值
组成,可用于表示各种监控指标
和度量值
。
Prometheus定义了几种不同类型的指标,
计数器
(Counter)、测量器
(Gauge)、直方图
(Histogram)和摘要
(Summary)
2、采集器
2.1 categraf
文档
简介
Categraf 是一个
监控采集 Agent
,类似 Telegraf、Grafana-Agent、Datadog-Agent,希望对所有常见监控对象提供监控数据采集能力,采用 All-in-one 的设计,不但支持指标采集,也希望支持日志和调用链路的数据采集。来自快猫研发团队,和 Open-Falcon、Nightingale 的研发是一拨人。
Categraf 采集到数据之后,通过 remote write 协议
推给远端
存储
目录结构(部分)
[root@zhangsan categraf-v0.2.39-linux-amd64]# tree
.
├── categraf
└── conf
├── categraf.service
├── config.toml
├── input.aliyun
│ └── cloud.toml
├── input.arp_packet
│ └── arp_packet.toml
├── input.cloudwatch
│ └── cloud.toml
├── input.conntrack
│ └── conntrack.toml
插件
2.2 mtail
简介
mtail是一种
日志数据抽取工具
,它可以从日志文件中抽取出有用的信息,并将其转换为指标(metrics),以供Prometheus等监控系统使用
特点
与其他日志数据抽取工具相比,mtail具有以下特点:
高效性
:mtail采用了高效的日志数据过滤和抽取算法,可以快速地从大量日志数据中提取有用的信息,并将其转换为指标。同时,它还支持对数据进行聚合和计算,可以实现实时性能监控和故障排除。灵活性
:mtail采用了类似于正则表达式
的匹配规则,可以根据具体的监控需求对日志数据进行自定义的过滤和抽取。同时,它还支持多种输出格式和数据存储方式,可以与不同的监控系统和数据仓库进行无缝集成。易于部署
:mtail是一个轻量级的工具,可以很容易地部署在各种环境中,包括容器、虚拟机和物理主机等。同时,它还提供了友好的Web界面和命令行工具,方便管理员进行监控和管理。
详解
本作品采用《CC 协议》,转载必须注明作者和本文链接