21_zabbix自定义key监控Linux

zabbix自定义key监控

zabbix agent提供很多监控信息,但是如果有需求,自带的监控项无法满足我们的需求

自定义key说明

所有语言,只要能运行然后返回结果即可。运维常用语言:shell、python。

自定义key

使用自定义shell脚本监控内存,一般脚本只需要输出数字即可

  1. 无参数定义key
cat >/tmp/memavailable.sh <<EOF
free -m | grep 'Mem:' | awk '{print \$NF}'
EOF
  1. 有参数定义key
cat >/tmp/mem.sh <<EOF
case "\$1" in
"available") free -m | grep "Mem:" | awk '{print \$NF}';;
"total") free -m | grep "Mem:" | awk '{print \$2}';;
"used") free -m | grep "Mem:" | awk '{print \$3}';;
*) echo "not supported!!";;
esac
EOF

zabbix自定义key的配置

配置文件和脚本均在agent上,配置完成后重启agent

# 配置文件路径在配置文件/usr/local/zabbix/etc/zabbix_agentd.conf(zabbix agent)中查找Include的值
# 在自定义key的脚本存储在zabbix agent上
cat >/usr/local/zabbix/etc/zabbix_agentd.conf.d/mem.conf <<EOF
UserParameter=mem.available,sh /tmp/memavailable.sh
UserParameter=mem.check[*],sh /tmp/mem.sh \$1
EOF

网页上添加监控

键值直接使用/usr/local/zabbix/etc/zabbix_agentd.conf.d/mem.conf配置文件中定义的,参数使用脚本中的,其他的和使用系统提供的key格式相同