05prometheus告警规则配置及alertmanage部署
一.prometheus告警规则设置及编写
vi /usr/local/prometheus/prometheus.yml
在rule_files中添加规则文件路径及文件格式。
vi cpu_mem_alert.rule
groups: - name: hostStatsAlert rules: - alert: hostCpuUsageAlert # 正则匹配job中的node_exporter值,这里.匹配了单个数字 expr: (1-(avg(irate(node_cpu_seconds_total{job=~"node_exporter.",mode="idle"}[5m])) by (instance)))*100 > 0.55 for: 100s labels: severity: page annotations: # {$..}调用prometheus ui界面的变量 summary: "Instance {{ $labels.instance }} CPU usgae high" description: "{{ $labels.instance }} CPU usage above 55% (current value: {{ $value }
保存,重新prometheus生效
在stauts中的rules可以查看具体规则
在告警中也可以查看
触发告警后在alert可以查看。
二.安装部署alertmanage
在官网下载alertmanage软件包
官网:https://prometheus.io/download/
tar xf alertmanager-0.25.0.linux-amd64.tar.gz
mv alertmanager-0.25.0.linux-amd64 /usr/local/
启动alertmanage
nohup /usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --storage.path=/usr/local/alertmanager/data/ > /usr/local/alertmanager/alert.log 2>&1 &
回到prometheus,alertmanage和prometheus安装在同一台主机
vi prometheus.yml配置文件,添加如下内容,alertmanage默认端口是9093
# Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: ["localhost:9093"] # - alertmanager:9093
重启prometheus,出现告警会发送给alertmanage.
alertmanage页面显示
在一台node_exporter主机使用命令触发cpu告警
cat /dev/zero > /dev/null
prometheus已经存在告警
等100s state会由pending改为firing后发送给alertmanage