Linux zabbix自定义监控

大憨熊 提交于 2020-01-01 00:28:56

在被监控端修改配置文件

把UnsafeUserParameters=0改为1
在最后添加UserParameters=key名+命令

[root@localhost etc]# pkill zabbix
[root@localhost etc]# zabbix_agentd 

重启服务

  • 在服务端上验证
[root@zabbix scripts]# zabbix_get -s 192.168.220.10 -k hehe
hello world

进程监控

脚本

[root@zabbix scripts]# cat check_process.sh 
#/bin/bash

status=$(ps -ef|grep -Ev "grep|$0"|grep "$1"|wc -l)

if [ $status -eq 0 ];then
    echo '1'
else
    echo '0'
fi
[root@zabbix scripts]# chown -R zabbix.zabbix /scripts/check_process.sh
[root@zabbix scripts]# chmod +x check_process.sh

修改配置文件

[root@localhost scripts]# tail /usr/local/etc/zabbix_agentd.conf
UserParameter=check_p[*],/bin/bash /scripts/check_process.sh $1

[root@localhost scripts]# pkill zabbix
[root@localhost scripts]# zabbix_agentd 

创建监控项

在这里插入图片描述

添加触发器

在这里插入图片描述

自定义监控日志

下载脚本

https://github.com/chendao2015/pyscripts/blob/master/log.py

配置文件

[root@localhost scripts]# vim /usr/local/etc/zabbix_agentd.conf

UserParameter=check_log[*],/usr/bin/python /scripts/log.py $1 $2 $3
[root@localhost scripts]# pkill zabbix
[root@localhost scripts]# zabbix_agentd 

修改脚本权限与目录权限

[root@localhost httpd]#  chown zabbix.zabbix /tmp/logseek 
[root@localhost httpd]# setfacl -m u:zabbix:r-x /var/log/httpd/
[root@localhost scripts]# chown zabbix.zabbix log.py

添加监控项

在这里插入图片描述
在这里插入图片描述

监控mysql的主从状态

监控的是从服务器

脚本

[root@localhost yum.repos.d]# vim /scripts/mysql_repl.sh
[root@localhost yum.repos.d]# cd
[root@localhost ~]# cat /scripts/mysql_repl.sh 
#!/bin/bash

status=$(mysql -uroot -p123456 -e 'show slave status\G' 2> /dev/null |grep -E 'Slave_IO_Running|Slave_SQL_Running:'|grep -c 'Yes')

if [ $status -ne 2 ];then
    echo '1'
else
    echo '0'
fi

配置文件

[root@localhost ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_ms,/bin/bash /scripts/mysql_repl.sh

修改目录权限和脚本权限

[root@localhost scripts]# chown zabbix.zabbix mysql_repl.sh 
[root@localhost scripts]# chmod +x mysql_repl.sh 

创建监控项

在这里插入图片描述

监控主从延迟

脚本

[root@localhost ~]# cat /scripts/mysql_delay.sh 
#!/bin/bash

delay=$(mysql -uroot -p123456 -e 'show slave status\G' 2>/dev/null|grep 'Seconds_Behind_Master'|awk '{print $2}')

echo $delay

权限

[root@localhost ~]# chmod +x /scripts/mysql_delay.sh 
[root@localhost ~]# chown zabbix.zabbix /scripts/mysql_delay.sh 

配置文件

 UserParameter=check_delay,/bin/bash /scripts/mysql_delay.sh
 [root@localhost ~]# service mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

添加监控项

在这里插入图片描述

触发器

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!