GPE:grafana,prometheus,exporter
详细介绍见官方网站:https://prometheus.io/docs/introduction/overview/
1.1、 基础架构
1.2、核心组件
- prometheus:主要用于抓取数据和存储时序数据,另外还提供查询和 Alert Rule 配置管理
- client libraries,用于对接 Prometheus Server, 可以查询和上报数据
- push gateway ,用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等。
- exporter:多种类型,收集不同数据,如:node-exporter等等
- alertmanager:用于告警通知管理
1.3、主要功能
- 一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据
- 灵活的查询语句(PromQL)
- 不依赖分布式存储;单服务器节点是自治的
- 采用 http 协议,使用 pull 模式,拉取数据,简单易懂
- 通过服务发现或静态配置发现目标
- 支持多种统计数据模型,图形化友好。
安装前准备
2.1、配置文件如下
host.json
instance.yml
prometheus.yml
详细配置见:https://prometheus.io/docs/prometheus/latest/configuration/configuration/
服务自动发现使用,比如我想新加一个主机节点的监控,我只需要修改文件即可,不需要重启prometheus服务
2.2、docker启动
上述配置完成后,执行下面命令启动prometheus服务
注意从 2.0 开始,热加载功能是默认关闭的,添加:开启配置文件热加载,可以通过实现
2.3、简单使用
启用TCP连接监控,其它启用见:https://github.com/prometheus/node_exporter
访问:http://localhost:9100/metrics
访问:http://localhost:9091/
以钉钉报警为例
2.1、配置
详细配置见:https://prometheus.io/docs/alerting/latest/configuration/
alertmanager.yml配置如下:
2.2、docker启动
2.3、钉钉机器人receivers搭建
参考:https://theo.im/blog/2017/10/16/release-prometheus-alertmanager-webhook-for-dingtalk/
测试CPU报警,停止node-exporter服务:
- inactive:表示当前报警信息即不是firing状态也不是pending状态
- pending:表示在设置的阈值时间范围内被激活的
- firing:表示超过设置的阈值时间被激活的
详细介绍见官方:https://grafana.com/docs/grafana/latest/
Grafana是开源的可视化和分析软件。它使您可以查询,可视化,警告和浏览指标,无论它们存储在哪里。用简单的英语,它为您提供了将时间序列数据库(TSDB)数据转换为精美的图形和可视化效果的工具。
安装前准备
docker启动命令如下,可以通过预先安装一些指定插件
导入:8919