Caso de escrita da regra de aviso do Alertmanager
1. Precauções para escrever regras de alarme
Primeiro, planeje alguns itens de monitoramento semelhantes em um grupo, defina expressões, níveis de alarme e detalhes de alarme. Nos detalhes do alarme, você deve ser proficiente no uso das tags dos próprios itens de monitoramento, para que o administrador possa ser incluído no alarme conteúdo. Saiba rapidamente o que acionou o alerta
2. Escreva regras de aviso de disco
2.1. Regras de escrita
expr especifica a expressão, usando símbolos lógicos para corresponder ao limite
Vários tags devem ser usados habilmente no conteúdo do alarme. Os tags são todos itens de monitoramento embutidos, e o tag de valor é um indicador do item de monitoramento atual.
[root@prometheus-server /data/prometheus]# vim rules/node.yml
groups:
- name: node.rules
rules:
- alert: NodeFilessystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率过高"
description: "{
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率超过80% (当前值: {
{ $value }}) "
1.检测语法
[root@prometheus-server /data/prometheus]# promtool check config /data/prometheus/prometheus.yml
2.加载配置
[root@prometheus-server /data/prometheus]# curl -XPOST 192.168.81.210:9090/-/reload
2.2. Verifique se a página adiciona regras de alarme
Clique em regras de status para ver as regras de alarme
Clique em alerta para ver se a regra de alarme é acionada
2.3. Acionar um alarme
Podemos acionar o alarme ajustando o limite ligeiramente mais baixo
1.查看当前系统磁盘使用率
[root@prometheus-server /data/prometheus]# df -hT | egrep '文件|/$'
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 47G 7.6G 40G 17% /
2.根据刚刚查看的磁盘使用率调整一下告警阈值,将阈值调整为10
[root@prometheus-server /data/prometheus]# vim rules/node.yml
groups:
- name: node.rules
rules:
- alert: NodeFilessystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100) > 10
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率过高"
description: "{
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率超过80% (当前值: {
{ $value }}) "
2.4. Verifique o e-mail de alerta
Os alarmes dos três nós do nó foram enviados e enviados em um e-mail ao mesmo tempo. Também pode ser visto que apenas alteramos o limite, e a seguinte informação ainda é de 80%
3. Escreva regras de aviso de memória
3.1. Regras de escrita
[root@prometheus-server /data/prometheus]# vim rules/node.yml
groups:
- name: node.rules
rules:
- alert: NodeMemoryUsage
expr: 100 - ((node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} 内存使用率过高"
description: "{
{ $labels.instance }} 内存使用率超过80% (当前值: {
{ $value }}) "
1.检测语法
[root@prometheus-server /data/prometheus]# promtool check config /data/prometheus/prometheus.yml
2.加载配置
[root@prometheus-server /data/prometheus]# curl -XPOST 192.168.81.210:9090/-/reload
3.2. Verifique se a página adiciona regras de alarme
Clique em regras de status para ver as regras de alarme
Clique em alerta para ver se a regra de alarme é acionada
O uso de memória e disco são todos monitorados por nó, portanto, todos são classificados no grupo node.rules
3.3. Acionar um alarme
Podemos acionar o alarme ajustando o limite ligeiramente mais baixo
Ajuste o limite para 10
groups:
- name: node.rules
rules:
- alert: NodeMemoryUsage
expr: 100 - ((node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100) > 10
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} 内存使用率过高"
description: "{
{ $labels.instance }} 内存使用率超过80% (当前值: {
{ $value }}) "
Já eficaz
3.4. Ver e-mails de alerta
O alarme foi acionado e é um e-mail enviado
4. Escreva regras de aviso de CPU
4.1. Regras de escrita
groups:
- name: node.rules
rules:
- alert: NodeCpuUsage
expr: 100 - (avg(irate(node_cpu_seconds_total{mode='idle'}[5m])) by (instance) *100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} CPU使用率过高"
description: "{
{ $labels.instance }} CPU使用率超过80% (当前值: {
{ $value }}) "
1.检测语法
[root@prometheus-server /data/prometheus]# promtool check config /data/prometheus/prometheus.yml
2.加载配置
[root@prometheus-server /data/prometheus]# curl -XPOST 192.168.81.210:9090/-/reload
4.2. Verifique se a página adiciona regras de alarme
Clique em regras de status para ver as regras de alarme
Clique em alerta para ver se a regra de alarme é acionada
O uso de CPU, memória e disco são todos monitorados por nó, portanto, todos são classificados no grupo node.rules
4.3. Acionar um alarme
Podemos acionar o alarme ajustando o limite ligeiramente mais baixo e ajustar o limite para 1.
groups:
- name: node.rules
rules:
- alert: NodeCpuUsage
expr: 100 - (avg(irate(node_cpu_seconds_total{mode='idle'}[5m])) by (instance) *100) > 1
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} CPU使用率过高"
description: "{
{ $labels.instance }} CPU使用率超过80% (当前值: {
{ $value }}) "
Já eficaz
4.4. Ver e-mails de alerta
O alarme foi acionado e é um e-mail enviado
5. Ajuste o limite de volta para o correto
[root@prometheus-server /data/prometheus]# vim rules/node.yml
groups:
- name: node.rules
rules:
- alert: NodeFilessystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率过高"
description: "{
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率超过80% (当前值: {
{ $value }}) "
- alert: NodeMemoryUsage
expr: 100 - ((node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} 内存使用率过高"
description: "{
{ $labels.instance }} 内存使用率超过80% (当前值: {
{ $value }}) "
- alert: NodeCpuUsage
expr: 100 - (avg(irate(node_cpu_seconds_total{mode='idle'}[5m])) by (instance) *100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} CPU使用率过高"
description: "{
{ $labels.instance }} CPU使用率超过80% (当前值: {
{ $value }}) "
Você Terminou