Zabbix实现邮件和钉钉实时告警(使用python脚本)

作者 : admin 本文共1838个字,预计阅读时间需要5分钟 发布时间: 2024-06-9 共4人阅读

告警和通知

告警是监控的主要职能,是指将到达某一阈值事件的消息发送给用户,让用户在事件发生的时候即刻知道监控项处于不正常状态,从而让用户来决定是否采取相关措施。
zabbix中,告警是由一系列的流程组成的,⾸首先是触发器到达阈值,接下是Active对事件信息进行处理,其中包括两部分:第一部分是发送消息,即将告警信息发送给用户;第二部分是执行命令,即将事件用命令进行处理,到达对事件故障⾃动尝试恢复的结果。

告警流程

Host Groups(设备组)-> Hosts (设备)-> Applications(监控项组) -> Items(监控项) -> Trigger(触发器) -> Actives (告警动作) -> Medias(告警方式) -> User Groups(用户组) -> Users(用户)

1 系统告警

1.1 设置触发器

先配置一个监控项:

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图

再配置触发器:

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(1)

1.2 设置Action

如果想在产生事件后,即当触发器条件被满足时,采取一些操作,比如,发送事件通知、远程执行命令等,则需要配置Action。

创建一个新的Action,选择触发器:

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(2)

设置两个条件之间的关系:

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(3)

转到操作选项,添加一个发送消息的操作:

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(4)

再添加一个操作,当出现问题时,尝试远程登录到服务器,重启httpd服务

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(5)

查看所有的操作

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(6)

调整恢复正常后的操作:

Zabbix实现邮件和钉钉实时告警(使用python脚本)插图(7)

客户端需要允许服务器进行远程操作

[root@client2 ~]# vim /etc/zabbix/zabbix_agentd.conf 

UnsafeUserParameters=1

测试:

[root@client2 ~]# systemctl stop httpd
[root@client2 ~]# clock
2022年07月13日 星期三 16时46分07秒  -0.040396 秒
[root@client2 ~]# systemctl status httpd		# 关掉服务后,过一会儿zabbix将服务重启了
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2022-07-13 16:46:27 CST; 13s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 5169 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 5195 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
    Tasks: 6
   CGroup: /system.slice/httpd.service
           ├─5195 /usr/sbin/httpd -DFOREGROUND
           ├─5196 /usr/sbin/httpd -DFOREGROUND
           ├─5197 /usr/sbin/httpd -DFOREGROUND
           ├─5198 /usr/sbin/httpd -DFOREGROUND
           ├─5199 /usr/sbin/httpd -DFOREGROUND
           └─5200 /usr/sbin/httpd -DFOREGROUND

7月 13 16:46:27 client2.test.com systemd[1]: Starting The Apache HTTP Server...
7月 13 16:46:27 client2.test.com httpd[5195]: AH00558: httpd: Could not reliably de...ge
7月 13 16:46:27 client2.test.com systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@client2 ~]# clock
2022年07月13日 星期三 16时47分03秒  -0.993565 秒

如果觉得使用root权限太大,也可以给zabbix用户赋权限:

[root@client2 ~]# visudo
zabbix  ALL=(ALL)       NOPASSWORD: /etc/init.d/httpd restart

2 设置邮件告警

如果需要使用网络中的邮件服务器,需要先开启SMTP服务,并获取到密码:

本站无任何商业行为
个人在线分享 » Zabbix实现邮件和钉钉实时告警(使用python脚本)
E-->