zabbix监控到异常后自动执行对应命令

zabbix可不仅仅只有监控功能,还支持远程执行命令,实现简单自动化运维

以下以监控mysql的3306端口为例,如该端口异常关闭,自动执行命令重启mysql

创建一个监听3306的监控项,键值按照这样写也可以。不过可能换成net.tcp.listen[3306]会更合适一些

表达式那里,点击右边的按钮,在监控项里选择刚才新增的监控项就可以了,监控到未监听返回0,正常监听返回1.我们设置返回0时,触发该触发器实现告警和进行下一步操作

接下来新增一个动作。新的触发条件那里选择触发器=刚才新创建的触发器,注意需要点击下方的添加才能生效

接着点击操作。我这里设置了两个动作,一个是发送邮件,另一个是执行远程命令(主要讲这个)。设置远程命令时,在操作类型那里选择远程命令

输入对应的ssh,账号,密码,执行的命令

启动mysql,然后再关闭数据库,测试能否自动起来。可以在以下位置,查看是否正常执行重启动作

这个图是我根据监控项创建的,可以看到,我试着关闭了几次mysql,但是它都会自动有起来了

原文地址:https://www.cnblogs.com/ExMan/p/11002687.html

时间: 2024-08-23 09:06:03

zabbix监控到异常后自动执行对应命令的相关文章

expect 切换用户后自动执行shell命令

#!/usr/bin/expect -fset tvgwRecordChannel [lindex $argv 0]set tvldFlag [lindex $argv 1]spawn su expect "Password: " send "hello123\r"expect "]#"send "./cmm_tvgw_config.sh  $tvgwRecordChannel  $tvldFlag\r"expect &quo

JAVA设计方法思考之如何实现一个方法执行完毕后自动执行下一个方法

今天编程时,突然想起来在一些异步操作或Android原生库的时候,需要我们实现一些方法, 这些方法只需要我们具体实现,然后他们会在适当的时候,自动被调用! 例如AsyncTask,执行玩doInBackground()后会执行处理结果的postResult()方法,但我们并没有设置过他们的执行顺序. 以前只知道他们的运行原理,但不知道具体的实现方法,细想起来,这是一个相当不错的代码设计,所以决定研究一下. 因为一开始是通过实现方法来具体实现那些需要被执行的方法的,所以以为实现的方式是接口, 思索

jenkins构建完成后,执行的命令行的东西也会自动结束的解决办法

问题: 把添加VPN的指令写在脚本里,然后用jenkins执行这个脚本,jenkins执行的结果是成功的,但是在机器上看,并没有执行成功. 问题分析: 其实在机器上执行过添加VPN的操作,只是在jenkins任务结束后,添加的VPN也自动跟着结束了,这个过程可以在执行的过程中做测试,使用sleep 1000的时候,然后去机器上看,确实是添加VPN成功的,但是jenkins执行的任务一旦结束,添加的VPN就消失了 解决办法: 在前面添加BUILD_ID=XXXXX,这样的话,jenkins的任务结

[C#.net]WinForm载入窗体完成后自动执行事件

一.以下是网络上可搜索到的次序 当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:        System.Windows.Forms.Control.HandleCreated        System.Windows.Forms.Control.BindingContextChanged        System.Windows.Forms.Form.Load        System.Windows.Forms.Control.VisibleCha

jQuery在HTML文档加载完毕后自动执行某个事件;

原来onchange=“fucntionname(parms)”: 1 <select name="country" id="selCountries_{$sn}" onchange="region.changed(this, 1, 'selProvinces_{$sn}')" style="border:1px solid #ccc;"> 2 <option value="0">{

JS+PHP实现登录后自动执行之前的操作

问题 用户进入页面A,在页面A上要执行一个操作X.操作X需要用户登录后才能访问,因此系统引导用户到登录页,用户登录后在让用户继续执行操作X. 分析 操作X存在两种情况,1:跳转到一个页面B:2:执行一个操作. 进入页面B的情况,要在页面B的入口位置判断是否用户是否为登录状态,是则进入,否则进入登录页面,登录成功后再进入页面B.假设页面A的URL是是url-a,页面B的url是url-b,登录页面的url是url-l,那么浏览器的地址依次是url-a,url-b,url-l,url-b.因此,系统

Zabbix监控(十二):自动监控Linux端口

1.客户端新建脚本 [[email protected] ~]# vi /usr/local/zabbix_agent/sbin/discovertcpport.sh  #!/bin/bash portarray=(`netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`) #namearray=(`netstat -tnlp|egrep -i

Zabbix监控(十五):自动批量监控WEB页面

参考官方文档: https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery 参考自动监控Linux端口文档: http://ywzhou.blog.51cto.com/2785388/1580160 说明:本节将使用脚本形式批量监控WEB页面,再多的URL都可以写在weblist文件中进行自动监控:由于监控网页不需要依赖某台监控主机,因此直接在Zabbix Server上配置即可. 1.新建脚本文件

Zabbix监控Mysql多实例自动添加

1.定义每个实例的端口 cat mysql_port 3306 3307 3308 3309 3310 3311 3312 3313 2.给所有实例创建一个zabbix用户只允许本地访问,生产环境具体权限各位看官自己看着给吧O(∩_∩)O GRANT ALL PRIVILEGES ON *.* TO [email protected]'127.0.0.1' IDENTIFIED BY 'zabbix'; 3.创建自动发现MySQL端口脚本 cat /data/PRG/zabbix/scripts