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用户

zabbix之3触发器/action及模板的更多相关文章

  1. 运维监控-使用Zabbix Server 创建触发器Triggers

    运维监控-使用Zabbix Server 创建触发器Triggers  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.点击相应主机的触发器 2>.点击创建触发器 ...

  2. zabbix WebUI自定义Nginx监控项模板

    zabbix webUI自定义Nginx监控项模板 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建模板 1>.如下图所示,依次点击"配置" --- ...

  3. zabbix 自动发现主机并关联模板

    一.自动发现添加主机 1.利用agent自动发现主机 Configuration - Discovery -Create discovery rule 2.将自动发现的主机关联模板 Configura ...

  4. Zabbix 配置监控 & 触发器

    Zabbix 自定义监控 zabbix-agent 获取数据,然后定义,交给 zabbix-server 端 Zabbix 配置监控项 监控的内容 # 监控服务器登录用户的数量 [root@web01 ...

  5. zabbix使用percona的mysql监控模板监控

    安装第三方插件仓库源: [root@iZ9j3yrx43sb5sZ ~]# yum install https://www.percona.com/redir/downloads/percona-re ...

  6. zabbix客户端的安装、zabbix主被动模式、添加主机模板等、处理页面的中文乱码

    1.zabbix客户端的安装: 如下步骤: wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch. ...

  7. Zabbix trigger(触发器)设置

    设置一个监控项–进站包数,当进站包数>50触发器报警. 先设置一个进站包数的监控项(item):

  8. 03: zabbix API接口 对 主机、主机组、模板、应用集、监控项、触发器等增删改查

    目录:Django其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项. ...

  9. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

随机推荐

  1. MySQL 设置远程访问

    MySQL远程访问,也就是通过ip访问MySQL服务,MySQL对于安全的要求是非常严格的,需要授权. 1.本地访问 GRANT ALL PRIVILEGES ON *.* TO admin@loca ...

  2. Manasa and Stones

    from __future__ import print_function def main(): t = int(raw_input()) for _ in range(t): n = int(ra ...

  3. C语言内存分配函数

    c语言标准库提供了3个内存分配的函数,都包含在头文件<stdlib.h>中 1.malloc 函数原型: void *malloc( size_t size ); 参数:要分配内存大小的字 ...

  4. ps2keyboard demo code for 8052

    #pragma code symbols debug objectextend #include <reg51.h> /* special function register declar ...

  5. Microsoft Certification List

    Exam Title Files 70-178 Microsoft Project 2010, Managing Projects 16 70-243 Administering and Deploy ...

  6. Android高德地图自定义Markers的例子

    下文为各位重点介绍关于Android高德地图自定义Markers的例子,希望这篇文章能够让各位理解到Android高德地图自定义Markers的方法. 之前的博客里说了地图的嵌入和定位,今天就说说在地 ...

  7. PooledDataSource--mybatis-3-mybatis-3.2.3

    org.apache.ibatis.executor.SimpleExecutor public <E> List<E> doQuery(MappedStatement ms, ...

  8. C语言中的声明解析规则——数组,指针与函数

    摘要:C语言的申明存在的最大问题是:你无法以一种人们所习惯的自然方式和从左向右阅读一个声明,在引入voliatile和const关键字以后,情况更加糟糕了.由于这些关键字只能出现在声明中,是的声明形式 ...

  9. 《Java程序员面试笔试宝典》之组合与继承有什么区别

    组合和继承是面向对象中两种代码复用的方式.组合是指在新类里面创建原有类的对象,重复利用已有类的功能.继承是面向对象的主要特性之一,它允许设计人员根据其它类的实现来定义一个类的实现.组合和继承都允许在新 ...

  10. Spark函数详解系列之RDD基本转换

    摘要:   RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集   RDD有两种操作算子:         ...