在添加zabbix 监控自定义脚本获取信息,为了便于获取Linux服务器资产情况
vi hardwareinfo.sh
#!/bin/bash
var=$1case $var in
'IP')
hostname -I
case $var in
'XH')
dmidecode -t 1|grep "Product Name"|awk '{print $3}' ;;'XLH')
dmidecode -t 1|grep "Serial Number"|awk '{print $3}' ;;
'ManuFactur')
dmidecode -t 1|grep "Manufacturer"|awk '{print $2}' ;;
'Release')
cat /etc/redhat-release ;;
esac
保存退出;
测试
sh hardwareinfo.sh IP ---获取IP信息
sh hardwareinfo.sh XH---获取型号信息
sh hardwareinfo.sh XLH---获取序列号信息
sh hardwareinfo.sh ManuFactur---获取厂商信息
sh hardwareinfo.sh Release---获取系统版本信息
适用于LinuxCentOS系统,其他系统替换一下其他命令即可,或者有需要新增其他信息增加其他命令;
大家有更好的监控项信息获取命令也可以评论分享一下
------------------------------------------------------------------------------------------------------------------------------------
zabbix客户端配置
编辑zabbix_agentd.conf配置文件
修改UnsafeUserParameters=1
添加:
UnsafeUserParameters=1 //开启自定义脚本
UserParameter=check.linux[*],/usr/local/zabbix/script/hardwareinfo.sh $1 //$1是参数,在页面配置KEY时带的参数,比如获取IP,key就是check.linux[IP]
重启zabbix客户端生效;
----------------------------------------------------------------------------------------------------------------------------------
zabbix服务端
登录服务器端页面,点击配置——主机——新增监控项
注意的点
key填配置里的check.linux[IP] ,获取IP填IP,获取序列号就填XLH
选择客户端主动式,客户端需要额外增加其他配置,保证服务端到客户端是通的即可,由服务端发起请求去执行客户端脚本获取数据;
选择客户端模式(即被动式),保证客户端到服务端的端口是通的,由服务端被动获取客户端发送过来的数据;
资产列表选择对应的资产,以便自动获取资产信息。
如有问题,请指教~~~