前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >prometheus之Alertmanage告警

prometheus之Alertmanage告警

作者头像
行 者
发布2023-10-20 14:26:29
3000
发布2023-10-20 14:26:29
举报
文章被收录于专栏:运维技术迷

运行环境

操作系统:Centos7 Server版本:prometheus-2.22.0 Alertmanage版本:alertmanager-0.21.0.linux-amd64

所需端口

Server端:9090 Alertmanage端:9093

软件部署

Github:Alertmanage-0.21.0

部署Alertmanage

代码语言:javascript
复制
[root@prometheus software]# cp -rf alertmanager-0.21.0.linux-amd64.tar.gz /usr/local/alertmanage
[root@prometheus software]# cd /usr/local/alertmanager/
[root@prometheus alertmanager]# ls
alertmanager  alertmanager.yml  alertmanager.yml.bak  amtool  data  email.tmpl  LICENSE  NOTICE
[root@prometheus alertmanager]# vim alertmanager.yml
global:
  resolve_timeout: 5m
  smtp_from: 'im@lian.st'
  smtp_smarthost: 'smtp.地址:465'
  smtp_auth_username: '发件人用户名'
  smtp_auth_password: '发件人密码'
  smtp_require_tls: false
  smtp_hello: 'lian.st'
#templates: # 自定义邮件模板
  #- '/usr/local/alertmanager/email.tmpl'
route:
  group_by: ['alertname']
  group_wait: 5s
  group_interval: 5s
  repeat_interval: 5m
  receiver: 'email'
receivers:
- name: 'email'
  email_configs:
  - to: '9763307@qq.com' # 收件人地址
    #html: '{{ template "email.to.html" . }}'
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

进程守护

代码语言:javascript
复制
[root@prometheus alertmanager]# vim /usr/lib/systemd/system/alertmanager.service 
[Unit]
Description=alertmanager.server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target
[root@prometheus alertmanager]# systemctl daemon-reload
[root@prometheus alertmanager]# systemctl enable alertmanager.service

检查进程/端口

代码语言:javascript
复制
[root@prometheus alertmanager]# ps aux | grep alertmanage
root     1517645  0.0  1.7 723836 32048 ?        Ssl  Nov02   0:33 /usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanagr/alertmanager.yml
root     1698866  0.0  0.0  12112  1088 pts/0    R+   10:01   0:00 grep --color=auto alertmanage
[root@prometheus alertmanager]# ss -anptu | grep 9093
tcp  LISTEN    0      128                        *:9093                       *:*            users:(("alertmanager",pid=1517645,fd=9))  

测试访问

定义报警规则

代码语言:javascript
复制
[root@prometheus alertmanager]# cd /usr/local/prometheus/rules/
groups:
- name: node-up
  rules:
  - alert: node-up
    expr: up{job="node"} == 0
    for: 5s
    labels:
      severity: 1
      team: node
    annotations:
      summary: "{{ $labels.instance }} 已停止运行!"
      description: "{{ $labels.instance }} 检测到异常停止!请重点关注!!!"
[root@prometheus rules]# systemctl restart prometheus_server
[root@prometheus rules]# systemctl restart alertmanager

测试告警

根据上述报警规则,我们将一台机器的node_exporter停止,来触发告警。

代码语言:javascript
复制
[root@pwd ~]# systemctl stop node_exporter
[root@pwd ~]# systemctl status node_exporter
● node_exporter.service - node_exporter
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:112 collector=timex
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:112 collector=udp_queues
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:112 collector=uname
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:112 collector=vmstat
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:112 collector=xfs
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:112 collector=zfs
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=node_exporter.go:191 msg="Listening...s=:9100
Nov 02 03:28:21 pwd.lian.st node_exporter[1295]: level=info ts=2020-11-02T08:28:21.980Z caller=tls_config.go:170 msg="TLS is disab...2=false
Nov 02 21:07:42 pwd.lian.st systemd[1]: Stopping node_exporter...
Nov 02 21:07:42 pwd.lian.st systemd[1]: Stopped node_exporter.
Hint: Some lines were ellipsized, use -l to show in full.

告警邮件

恢复邮件

TODO

告警介质:钉钉,微信,短信,TG; 告警规则:常用规则(linux server、nginx、apahce、mysql、redis、jvm)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行环境
  • 所需端口
  • 软件部署
    • 部署Alertmanage
      • 进程守护
        • 检查进程/端口
        • 测试访问
        • 定义报警规则
        • 测试告警
          • 告警邮件
            • 恢复邮件
            • TODO
            相关产品与服务
            腾讯云服务器利旧
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档