使用zabbix实现报警触发脚本

起因:运维服务的过程中会一件很困扰的事情就是dev qa环境的磁盘空间因为不是很大的原因 导致几乎每天或者每几天就要清理一次日志,虽然已经做了报警的功能 可以实时监控磁盘的空间大小,但是还是需要手动去清理日志。

今天要讲的就是当报警的时候自动去清理日志。

首先要实现远程执行命令的话需要开启agent端配置文件里的EnableRemoteCommands=1的参数

如果不改的话 当触发报警同时 会发现执行命令失败

之后需要去确认zabbix启动用户 是否有执行命令的权限。可以通过直接切换到指定用户去执行命令,如果报Permission denied表示就是没有相应的权限

这个时候需要使用visudo 去增加zabbix 使用sudo 切换到root用户的权限zabbix ALL=NOPASSWD: ALL

这个时候环境已经配置好了 需要去zabbix的web里配置相应的动作:

 

之后在动作里设置好触发的条件,我这里是根据触发器名称去触发这个动作,也就是说当home 或者根分区小于20%的时候就触发这个动作

使用zabbix实现报警触发脚本_第1张图片

之后在操作界面配置操作的内容

使用zabbix实现报警触发脚本_第2张图片

默认的步骤持续时间:默认为一分钟 和后面的操作中的步骤持续时间有关系

使用zabbix实现报警触发脚本_第3张图片

步骤:执行多少次,0表示无穷大 

步骤持续时间:如果填0,就是上面开头的默认操作步骤持续时间,可以自定义,比如60秒

这里类型选择自定义脚本 只需在zabbix客户端

执行的命令内容是上面的脚本:通过sudo 切换到root用户去执行sh脚本  意思脚本的意思就是在指定目录找到相应的文件后执行清空以及删除的功能。

噜噜噜的博客

你可能感兴趣的:(linux运维)