promethueus 作为监控是目前市面上比较流行的方案
Prometheus 是一套开源的系统监控报警框架,用于收集、存储和查询时间序列数据。让我为你详细介绍一下 Prometheus 的架构。
- Prometheus Server:
- Prometheus Server 是 Prometheus 组件中的核心部分。
- 它负责实现对监控数据的获取、存储和查询。
- Prometheus Server 可以通过静态配置管理监控目标,也可以使用服务发现动态管理监控目标。
- 存储方面,Prometheus Server 本身就是一个时序数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘中。
- 对外提供自定义的 PromQL 语言,用于查询和分析数据。
- Exporter:
- 用于暴露已有的第三方服务的指标给 Prometheus。
- Exporter 将监控数据通过 HTTP 服务暴露给 Prometheus Server。
- Push Gateway:
- 主要用于短期的任务。
- 一些任务可能在 Prometheus 拉取之前就消失了,因此这些任务可以直接向 Push Gateway 推送它们的指标。
- Grafana:
- 第三方展示工具,可以编写 PromQL 查询语句,与 Prometheus 集成。
- AlertManager:
- 从 Prometheus Server 接收到警报后,去除重复数据、分组,并路由到不同的接收方式,如电子邮件、钉钉、企业微信等。
- Client Library:
- 为需要监控的服务生成相应的指标并暴露给 Prometheus Server。
- 当 Prometheus Server 拉取时,直接返回实时状态的指标。
Prometheus 的工作流程包括指标采集、指标处理、指标展示和指标告警。它使用 pull 形式采集监控指标,存储在自身数据库中,并提供 HTTP 接口供展示系统使用。AlertManager 负责处理警报信息123。
如果你想深入了解更多关于 Prometheus 的内容,欢迎继续提问!
# 安装exporter
Prometheus Exporter 是一种用于将监控数据提供给 Prometheus 的组件。它允许各种应用程序、服务或系统将自身的监控指标暴露给 Prometheus,以便进行数据收集、分析和展示。
以下是关于 Prometheus Exporter 的一些重要信息:
- Exporter 是什么:
- Exporter 是可以向 Prometheus 提供监控样本数据的程序。
- 每个 Exporter 实例被称为一个 target,Prometheus 通过轮询这些 target 定期获取样本数据。
- Prometheus 已成为云原生应用监控的标准,许多流行的监控系统都已实现了 Prometheus 的监控接口。
- Exporter 分类:
- 社区提供的:例如 Node Exporter、MySQL Exporter、Fluentd Exporter 等。
- 用户自定义的:用户可以基于 Prometheus 提供的 Client Library 创建自己的 Exporter 程序。
- Exporter 获取监控数据的方式:
- HTTP/HTTPS 方式:通过 HTTP 接口获取监控数据。
- TCP 方式:直接从目标系统获取数据。
- 本地文件方式:从文件系统读取数据。
- 标准协议方式:遵循 Prometheus 规范返回数据。
- Exporter 规范:
- 所有的 Exporter 都需要按照 Prometheus 规范返回监控样本数据。
- 样本数据包括一般注释信息(HELP)、类型注释信息(TYPE)和样本值。
- 自定义 Exporter:
- 用户可以基于 Prometheus 提供的 Client Library 创建自己的 Exporter 程序。
- 使用不同编程语言的 Client Library,如 Go、Java、Python 等。
总之,Prometheus Exporter 允许各种应用程序和系统将监控数据暴露给 Prometheus,使其能够集中收集、分析和展示这些数据。1[1]2[2]3[3]44
如果您需要更详细的信息或有其他特定需求,请随时告知,我会为您提供更具体的帮助。
部署完成后,查看一下节点上 9100/metrics 上是否正常显示
命令行查看负载。
安装 prometheus server
参考文档: https://kangll.blog.csdn.net/article/details/136783153?spm=1001.2014.3001.5502
安装 garafa
参考文档:
https://kangll.blog.csdn.net/article/details/137217639?spm=1001.2014.3001.5502
7362-mysql 为 grafana 的 id。
https://grafana.com/grafana/dashboards/7362-mysql-overview/
mysql_exporter 部署
my.cnf
|
|
启动 mysql_exporter
1.supervisor 启动
|
|
启动
|
|
配置为系统服务
mysqld-exporter.service
|
|
启动
|
|
参考文档
https://blog.csdn.net/weixin_42434700/article/details/126732987