zabbix自定义监控和告警(如编写脚本监控硬盘,raid,电源)

一.安装好agent
二. 在目录/etc/zabbix/zabbix_agentd.d 新建配置文件,如check_machine.conf,根据自己监控的项,写好脚本和返回参数。
注意:脚本最好全路径,返回参数如disk.check.xor要在zabbix 唯一
UserParameter=disk.check.xor,/opt/MegaRAID/MegaCli/MegaCli64 -pdlist -a0 | grep -w Online  | wc -l
UserParameter=raid.check.xor,/opt/MegaRAID/MegaCli/MegaCli64 -LDinfo -LALL -a0 | grep -w Optimal |  wc -l
UserParameter=power.check.xor,/usr/sbin/dmidecode  | grep -w Safe |wc -l
三.重启agent和测试
根据操作系统的版本可能有所不同
centos 6.5 重启脚本
service zabbix-agent restart
测试,如果返回值跟自己预估的一样表示配置正确:
本机上进行测试
zabbix_agentd -t  disk.check.xor
在zabbix server上进行测试
/usr/local/zabbix-server/bin/zabbix_get -s 192.168.3.2 -p 10050 -k disk.check.xor
四 .zabbix上进行配置

1在您监控的host上增加item

2 输入参数,根据自己的要求进行配置,key 一定要跟配置文件check_machine.conf中的参数一致。

3. 状态一定要enable,如果不是enable,请检查各种配置和查找原因。

4.  根据自己的要求,输入触发报警的条件。

五. 返回值不正确遇到的问题如何处理
1. 修改agent的配置文件  ,加入
AllowRoot=1
重启agent
此次遇到返回值不能正确返回,跟这个配置有关,进行配置后,能取到正确的数值。
2。可能是 sudo不允许远程执行,需要将 /etc/sudoers中的一行注释就可以了。如下
#Defaults   requiretty   #这行注释就可以了
3.这台agent 无法通过从服务端执行zabbix_get 获取到数据,可能是配置文件没有正确配置,配置文件中加入
Server=127.0.0.1,ServerIP
重启agentd

六 相关命令

 zabbix命令之:zabbix_get命令
zabbix_get命令是在server端用来检查agent端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用zabbix_get来检查能否采集到数据,以便判断问题症结所在。
zabbix_get 参数说明:
-s --host: 指定客户端主机名或者IP
-p --port:客户端端口,默认10050
-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k --key:你想获取的key
至于使用长参数还是短的,自己选,我经常使用-s而不是-host,
如果不知道key参数可以使用 zabbix_agentd -p 寻找自己想要找的参数
[root@host~]# zabbix_agentd -p | grep system.cpu.load
system.cpu.load[all,avg1]                     [d|0.040000]
如果不知道zabbix_get在什么路径,可以使用find / -name zabbix_get查找
[root@host ~]# find / -name zabbix_get
/usr/local/zabbix/bin/zabbix_get
/data/tools/zabbix-4.0.3/src/zabbix_get
/data/tools/zabbix-4.0.3/src/zabbix_get/zabbix_get
/usr/local/zabbix-server/bin/zabbix_get -s 192.168.3.2 -p 10050 -k sanguo.check.ssh

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix中配置自定义监控MySQL的Python脚本,需要进行以下步骤: 1. 创建Python脚本 首先,您需要创建一个Python脚本来连接MySQL数据库并执行查询。脚本应该返回所需的监控数据。以下是一个示例Python脚本的代码: ```python import pymysql # MySQL连接参数 mysql_host = 'localhost' mysql_port = 3306 mysql_user = 'user' mysql_password = 'password' mysql_db = 'database' # 连接MySQL数据库 conn = pymysql.connect(host=mysql_host, port=mysql_port, user=mysql_user, password=mysql_password, db=mysql_db) # 执行查询 cursor = conn.cursor() cursor.execute("SELECT COUNT(*) FROM my_table") result = cursor.fetchone()[0] # 返回结果 print(result) ``` 请注意,此脚本连接到本地MySQL服务器,并查询名为“my_table”的表的行数。您可以根据自己的需要修改此脚本。 2. 将脚本复制到Zabbix服务器 将脚本复制到Zabbix服务器的某个位置,例如“/usr/lib/zabbix/externalscripts”。确保脚本可执行,并且Zabbix用户具有对该文件的读取权限。 3. 在Zabbix中配置ALScripts 在Zabbix中,ALScripts是用于执行外部脚本的功能。要配置ALScripts,请执行以下操作: - 转到Zabbix Web界面中的“管理”>“通用配置”>“外部脚本”。 - 单击“创建脚本”按钮。 - 输入脚本名称,例如“mysql_monitor.py”。 - 在“脚本命令”字段中输入Python脚本的完整路径,例如“/usr/lib/zabbix/externalscripts/mysql_monitor.py”。 - 单击“保存”按钮。 4. 创建Zabbix监控项 现在,您可以创建Zabbix监控项来监视MySQL数据库。要创建监控项,请执行以下操作: - 转到Zabbix Web界面中的“配置”>“主机”。 - 找到要监视的MySQL主机,并单击其名称。 - 单击“创建监控项”按钮。 - 在“名称”字段中输入监控项名称,例如“MySQL行数”。 - 在“键”字段中输入以下内容:`ALScript["mysql_monitor.py"]`。 - 在“类型”字段中选择“Zabbix采集器”。 - 单击“添加”按钮。 现在,您已经成功地配置了一个自定义监控MySQL的Python脚本,并将其集成到Zabbix中。您可以在Zabbix中查看监控项的值,并设置警报以便在达到阈值时通知您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值