设为首页 收藏本站
查看: 2206|回复: 0

[经验分享] zabbix之3触发器/action及模板

[复制链接]
累计签到:13 天
连续签到:1 天
发表于 2015-9-9 10:03:15 | 显示全部楼层 |阅读模式
1.触发器:
{server_name:item_name.func.operator.condition}
一旦condition(条件)触发,则item状态改变
触发器之间可以存在依赖关系,即itemA触发,则itemB也触发.
2.动作action
action是触发器触发后,应该采取的动作.
其中动作除了可以详细设定执行的动作(如发邮件,重启服务)外,还可以设定触发的第二条件,如维护期间不执行,仅为触发器的执行.
最重要的是动作可以升级,如动作执行多少次后,触发器依然没有恢复,则执行下一步动作.例如邮件从发送给管理员-->CTO
4.宏设置
宏其实就类似于变量.分为全局宏和局部宏
全局宏在管理-通用-分类(宏)
局部宏在各个模板中定义.
5.
5-1.自定义items_key
tiems_key分为带参数和不带参数,格式:UserParameter=itemkey,command
DSC0000.gif 不管是带参还是不带参数,都是在客户端的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.sh
process=`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
DSC0001.gif 自定义脚本,用zabbix_get获取数据,发现值为空
DSC0002.gif 查看脚本是否授权给了zabbix用户



来自为知笔记(Wiz)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-111358-1-1.html 上篇帖子: 解决zabbix的cannot allocate shared memory of size错误 下篇帖子: How to install zabbix 2.4.5 on OEL6u6 x86 64bit
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表