经常通过shell脚本统计线上的一些服务,比如mysql主从同步是否OK,mysql从库是否有延时(Seconds_Behind_Master),统计线上用户数等等,然后利用zabbix监控当服务有异常时报警或者通zabbix 查看Graphs信息。

1.利用zabbix+Shell脚本监控Mysql主从复制,当从库出现异常的时候报警。
1.1首先给mysql slave授权一个监控账号。

1.2编写一个监控从数据库状态的脚本,用show slave status可以查看从库工作状态,当同时出现2个Yes是表明从库正常,否则从库会出现各种异常情况。

1.3在从数据库的zabbix_agentd的配置文件里面添加如下内容:

其中mysql.replication表示key值,/etc/zabbix/replication_status.sh表示脚本存放绝对路径

1.4重启从数据zabbix_agentd服务。

1.4在zabbix服务端执行zabbix_get看是否能取到从数据监控的状态值。

1.5配置mysql主从监控的监控条目Items。

Zabbix+Shell脚本监控线上服务_第1张图片

1.6配置mysql主从监控的触发器Trigger,即当采集的状态值小于2的时候报警。

Zabbix+Shell脚本监控线上服务_第2张图片

1.7测试,停止主数据库的mysql服务或者在从数据库上面slave stop,zabbix都会报警的。

Zabbix+Shell脚本监控线上服务_第3张图片

2.利用zabbix+Shell脚本监控主机存活,宕机后报警。

2.1在zabbix server添加如下脚本,用case循环+ping命令检查服务器的存货状态。

Zabbix+Shell脚本监控线上服务_第4张图片

2.2如果调用脚本执行case分支,返回值为0,说明服务器正常,否则说明宕机,脚本里面可以添加所有监控机。

2.3在zabbix server的zabbix_agentd.conf配置文件里面添加下面内容。

2.4在zabbix server上面添加监控条目。在Configuration-Items,选择HOST为zabbix,创建一个新的监控条目。

Zabbix+Shell脚本监控线上服务_第5张图片

2.4在zabbix server上面添加触发器。在Configuration-Triggers,选择HOST为zabbix,创建一个触发器,即当zabbix取值非0的时候报警。

Zabbix+Shell脚本监控线上服务_第6张图片

2.5测试,禁掉244上面的ping来测试是否会报警。

2.6查看zabbix 是否会报警,如果有报警,说明是OK的。

Zabbix+Shell脚本监控线上服务_第7张图片