zabbix--自定义监控项vsftpd

Zabbix 自定义监控项之监控 vsftpd 

zabbix 提供了很多监控选择,功能丰富,我们还可以根据自定义来监控想要监控一些日常的服务等。

说明:

  此处我们通过监控 ftp (自定义命令),实现如果 ftp 服务挂掉后自动重启,并邮件告警通知。

 参考官档:https://www.zabbix.com/documentation/4.0/zh/manual/config/items/userparameters

具体步骤

1)在agent上先测试命令,vsftpd作为一个示例,监控vsftpd是否正常

[root@Srt_Aly_244 ~]# /etc/init.d/vsftpd start 
Starting vsftpd for vsftpd:                                [  OK  ]
[root@Srt_Aly_244 ~]# 
[root@Srt_Aly_244 ~]# pgrep -l vsftpd |wc -l
1
[root@Srt_Aly_244 ~]# /etc/init.d/vsftpd stop 
Shutting down vsftpd:                                      [  OK  ]
[root@Srt_Aly_244 ~]# 
[root@Srt_Aly_244 ~]# pgrep -l vsftpd |wc -l
0

2)通过上面的命令测试发现 pgrep -l vsftpd |wc -l 这条命令结果为 0 时,即表示 vsftpd 挂了。编辑配置文件(放在/etc/zabbix/zabbix_agentd.d目录里面)

# vim /etc/zabbix/zabbix_agentd.d/userparameter_vsftpd.conf
UserParameter=vsftpd.alive,pgrep -l vsftpd |wc -l

3)在 zabbix 服务器端通过 zabbix_get 命令进行测试(结果为 0,表示agent端 vsftpd 服务挂了,为 1 表示 vsftpd 服务正常)

[root@SrtAly120 zabbix]# zabbix_get -s 39.107.xx.xx -k vsftpd.alive
0

4)在 web 页面创建监控项 (说明:键值处填写自定义的UserParameter=key, key的名字。必须对应)

进入:配置 -> 主机 -> 监控项 -> 创建监控项

5)在 web 页面创建触发器 (说明:监控项选择上面创建的监控项, 功能选择根据上面定义的命令来设置,因为测试结果是当值为 0 时就表示服务down了,所以这里选择最新的t值=0,(就是说最新的t值如果是0,表示服务down了) )

进入:配置 -> 主机 -> 触发器 -> 创建触发器

6)在 web 页面配置动作,配置重启动作(由于使用的 zabbix 用户运行的守护进程,所以zabbix用户执行 /etc/init.d/vsftpd restart命令是没有权限的,所以需要先进行sudo授权)

参考官档:https://www.zabbix.com/documentation/4.0/zh/manual/config/notifications/action/operation/remote_command

[root@Srt_Aly_244 ~]# chmod 640 /etc/sudoers
[root@Srt_Aly_244 ~]# vim /etc/sudoers
## Allow 'zabbix' user to restart vsftpd without password
zabbix  ALL=NOPASSWD: /etc/init.d/vsftpd restart
[root@Srt_Aly_244 ~]# su zabbix
sh-4.1$ sudo /etc/init.d/vsftpd restart 
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

进入:配置 -> 动作 -> 创建动作

配置恢复操作 + 邮件告警

至此,当我们在 agent 上面停掉 vsftpd 服务,就会触发 zabbix 监控动作自动重启 vsftpd 并邮件告警相应人员。

原文地址:https://www.cnblogs.com/yanjieli/p/10813602.html