zabbix-agent自定义item监控远程服务器
程序员文章站
2022-03-18 20:11:21
...
1.首先是自己的脚本
我的脚本就是简单的正则表达式的脚本,只是为了模拟检测bond中网卡关闭的信息。检测到网卡关闭就报警。
具体代码如下:
#!/usr/bin/env python
# -*-coding:utf-8 -*-
import os
def detect(file_name):#提取出网卡错误的信息
bond_txt = file_name.split('\\')
file = open( file_name , 'r')
line = file.readline()
detect_str = 'Slave Interface:'
while( line ):
#print ( line )
if detect_str in line:
second_line = file.readline()
detect_down = 'down'
if detect_down in second_line :
list_first = line.split()
#print ( len(list_first) )
print ( 'in the ' + bond_txt[len(bond_txt)-1] + ', network ' + list_first[ len( list_first ) -1] + ' is down')
#print( '++++++++++++++++++++++++++++++++++' )
line = file.readline()
def main():
dic = 'C:\\Users\\daicy\\Desktop\\test_for_bonding\\bond0.txt'
detect( dic )
if __name__ == '__main__':
main()
2.创建host并将模板template添加上
创建如下图:
3.创建item
4.创建triggers
5.在远程服务器上,进行zabbix-agent的配置
首先将/usr/local/etc/zabbix_agentd.conf中的服务器地址添加上
然后就是添加userparameter,我的是在/usr/local/etc/zabbix_agentd.conf.d/这个文件夹下添加
这样一个简易的报警触发装置就弄好了。
自己遇到的一个错误信息:
提示:unsupported item key
自己的错误是端口10050被防火墙关闭了,导致消息传达不到,大家遇到此类问题,可以参考一下:
首先使用iptables -nL查看端口是否没有开启
经过上图我们可以发现确实没有开启,我们将该端口开启就好了
开启代码如下:
iptables -I INPUT -p tcp -s 10.10.30.232 -m tcp --dport 10050 -m comment --comment "zabbix_agentd listen 10050" -j ACCEPT
最后,我们再查看其是否开启了:
这样就是开启了,问题就得到了解决。