zabbix可不仅仅只有监控功能,还支持远程执行命令,实现简单自动化运维
以下以监控mysql的3306端口为例,如该端口异常关闭,自动执行命令重启mysql
创建一个监听3306的监控项,键值按照这样写也可以。不过可能换成net.tcp.listen[3306]会更合适一些
表达式那里,点击右边的按钮,在监控项里选择刚才新增的监控项就可以了,监控到未监听返回0,正常监听返回1.我们设置返回0时,触发该触发器实现告警和进行下一步操作
接下来新增一个动作。新的触发条件那里选择触发器=刚才新创建的触发器,注意需要点击下方的添加才能生效
接着点击操作。我这里设置了两个动作,一个是发送邮件,另一个是执行远程命令(主要讲这个)。设置远程命令时,在操作类型那里选择远程命令
输入对应的ssh,账号,密码,执行的命令
启动mysql,然后再关闭数据库,测试能否自动起来。可以在以下位置,查看是否正常执行重启动作
这个图是我根据监控项创建的,可以看到,我试着关闭了几次mysql,但是它都会自动有起来了