图文详解Prometheus监控+Grafana+Alertmanager告警安装使用 (4)

2.点击 Add data source 按钮后,出来下面界面:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

3.鼠标移到 Prometheus 上,点击 Select 按钮:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

4.prometheus相关设置:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

最主要设置获取数据的HTTP URL。

5.点击 save&test 按钮,它会提示你是否设置成功。

6.设置Dashboards

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

7.回到home

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

8:点击 prometheus

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

9:出来很多图表展示

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

其他dashboard模板设置

grafana不仅有我们上面设置的那些图表模板,它还有其他很多模板,我们也可以设置。
官方模板dashboard 地址。

比如我们查找node exportet的模板,https://grafana.com/grafana/dashboards?search=node%20exporter,有一个模板 downloads 比较多,

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

它的地址为:
https://grafana.com/grafana/dashboards/8919

我们在grafana上来设置这个dashboard,import进来:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

可以填写id和url,我们填写id,为 8919:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

点击 load 出来下面界面:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

然后选择prometheus-1,点击 import, 出来如下图的界面:

图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

七、告警通知

我们已经能够对收集的数据,通过grafana展示出来了,能查看数据。想一想,系统还缺失什么功能?

监控最重要的目的是什么?

第一:监控系统是否正常

第二:系统不正常时,可以告知相关人员及时的排查和解除问题,这就是告警通知。

所以,还缺一个告警通知的模块。
prometheus的告警机制由2部分组成:

告警规则
prometheus会根据告警规则rule_files,将告警发送给Alertmanager

管理告警和通知
模块是Alertmanager。它负责管理告警,去除重复的数据,告警通知。通知方式有很多如Email、HipChat、Slack、WebHook等等。

配置 1.告警规则配置

告警文档地址:告警规则官方文档。

我们新创建一个规则文件:alert_rules.yml,把它和prometheus.yml放在一起,官方有一个模板 Templating,直接copy过来:

groups: - name: example rules: # Alert for any instance that is unreachable for >5 minutes. - alert: InstanceDown expr: up == 0 for: 5m labels: severity: page annotations: summary: "Instance {{ $labels.instance }} down" description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes." # Alert for any instance that has a median request latency >1s. - alert: APIHighRequestLatency expr: api_http_request_latencies_second{quantile="0.5"} > 1 for: 10m annotations: summary: "High request latency on {{ $labels.instance }}" description: "{{ $labels.instance }} has a median request latency above 1s (current value: {{ $value }}s)"

上面规则文件大意:就是创建了2条alert规则 alert: InstanceDown 和 alert: APIHighRequestLatency :

InstanceDown 就是实例宕机(up==0)触发告警,5分钟后告警(for: 5m);

APIHighRequestLatency 表示有一半的 API 请求延迟大于 1s 时(api_http_request_latencies_second{quantile="0.5"} > 1)触发告警

更多rules规则说明,请看这里 recording_rules。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjdpx.html