zoukankan      html  css  js  c++  java
  • zabbix之3触发器/action及模板

    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
    不管是带参还是不带参数,都是在客户端的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 
    自定义脚本,用zabbix_get获取数据,发现值为空
    查看脚本是否授权给了zabbix用户





    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    同样功能的SQL语句,写成参数和写成常量怎么效率会有那么大的差别
    遭遇钓鱼网站
    SQL Server 2005与Oracle同步注意NUMBER类型转换
    Oracle数据类型(转)
    如何使用枚举的组合值
    社保,交得越多亏得越多(转)
    使用OPENXML函数将XML文档转换为行结果集
    发布一个性能测试工具的破解补丁
    如何将SQLServer2005中的数据同步到Oracle中
    Repository模式
  • 原文地址:https://www.cnblogs.com/aaa103439/p/1a9fea269af0d4a50f6ee1d11964d06f.html
Copyright © 2011-2022 走看看