1.触发器:{server_name:item_name.func.operator.condition}一旦condition(条件)触发,则item状态改变触发器之间可以存在依赖关系,即itemA触发,则itemB也触发.2.动作actionaction是触发器触发后,应该采取的动作.
其中动作除了可以详细设定执行的动作(如发邮件,重启服务)外,还可以设定触发的第二条件,如维护期间不执行,仅为触发器的执行.最重要的是动作可以升级,如动作执行多少次后,触发器依然没有恢复,则执行下一步动作.例如邮件从发送给管理员–>CTO4.宏设置宏其实就类似于变量.分为全局宏和局部宏全局宏在管理-通用-分类(宏)局部宏在各个模板中定义.5.5-1.自定义items_keytiems_key分为带参数和不带参数,格式:UserParameter=itemkey,command不管是带参还是不带参数,都是在客户端的zabbix_agentd.conf或者zabbix_agentd.conf.d目录中建立新的*.conf来定义,如果是在conf.d目录中定义,则需要修改zabbix_agentd.conf中include选项(默认include选项路径是/usr/local/etc/zabbix_agentd.conf.d)添加任何的key都需要重启zabbix_agentd服务.不带参数犹如如下例子所示:UserParameter=memory.free,/usr/bin/free | awk ‘/^Mem:/{print $4}’不管是带参数和不带参数,其命令返回值只能存在一个且必须小于512字节,否则zabbix_server无法接收.带参数犹如如下例子所示:UserParameter=key(*),command这里的*可以调用server端key()括号中所写的匹配项,而command可以通过$1,$2依次调用*的参数,不过,如果command自身就包含了$1和$2,比如awk的print $1,那么这些$1和$2需要转变为$$1,$$2.5-2.测试key的可用性,在zabbix_server端使用zabbix_get命令zabbix_get -s agentd_IP -k “key_name”# zabbix_get -s 127.0.0.1 -k "voice.exist[10.88.5.8,Voice]"
1
在zabbix_agentd端使用zabbix_agentd# zabbix_agentd -t voice.exist[10.88.5.8,Voice]
voice.exist[10.88.5.8,Voice] [t|1]
附:nginx_status监控($1是nginx网址ip,$2是端口)UserParameter=Nginx.active[*],/usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/{print $NF}'
UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^ /{print $$1}'
UserParameter=Nginx.handld[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^ /{print $$2}'
UserParameter=Nginx.request[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^ /{print $$3}'
UserParameter=Nginx.read[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Read/{print $$2}'
UserParameter=Nginx.write[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Read/{print $$4}'
UserParameter=Nginx.wait[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Read/{print $$6}'
windows进程状态监控,需要配合snmp($1是win主机IP,$2是进程名)#!/bin/bash#/usr/local/zabbix/share/zabbix/externalscripts/win_process_exist.shprocess=`snmpwalk -v 2c -c jzzz $1 .1.3.6.1.2.1.25.4.2.1.2 | awk '/'$2'/{print $NF}'`
if [[ $process == '' ]];then
echo 0;
else
echo 1;
fi
# cat /etc/zabbix/zabbix_agentd.conf.d/win_process.conf
UserParameter=voice.exist[*],/usr/local/zabbix/share/zabbix/externalscripts/win_process_exist.sh $1 $2
自定义脚本,用zabbix_get获取数据,发现值为空查看脚本是否授权给了zabbix用户
来自为知笔记(Wiz)