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. AngularJS中的控制器示例_3

    <!doctype html> <html ng-app="myApp"> <head> <script src="C:\\Us ...

  2. silverlight中使用Json读取数据

    假定按照 如何:对基于 HTTP 的服务发出请求中描述的方法向基于 HTTP 的 Web 服务发出请求后,在 Stream 类型的 responseStream 对象中返回了下列 JSON. {&qu ...

  3. IOS 保存图片至相册

    IOS 保存图片至相册   应用中有时我们会有保存图片的需求,如利用UIImagePickerController用IOS设备内置的相机拍照,或是有时我们在应用程序中利用UIKit的 UIGraphi ...

  4. C++之------进制学习

    碰到一些寄出的东西不是很理解,就是关于多进制在代码中的转换: 比喻一个数number的多进制表示方法:B:二进制 Q:八进制 D:十进制 H:十六进制 二进制:0bnumber           ( ...

  5. npm install 本地安装与全局安装

    npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已: npm install grunt # 本地安装 npm install -g gr ...

  6. mysql 导出导入sql

    >mysqldump -u用户名 -p密码 -h主机名 数据库名 > 20150116mw_pm_db.sql mysql> source /home/y/my_work/20150 ...

  7. keil c51的内部RAM(idata)动态内存管理程序

    程序比较简单,但感觉比较有意思,个人认为有一定应用价值,希望大家有更好的思路和方法,互相促进. 程序的基本思路是:在CPU堆栈指针SP以上的RAM区域,通过把堆栈指针SP上移若干个字节,把空出的RAM ...

  8. SqlServer计算周岁的函数

    CREATE Function Dbo.GetAge ( @birthday datetime, @now datetime ) Returns int As Begin Declare @Age i ...

  9. windows下将隐藏文件通过命令行改变为普通的显示文件

    attrib -h -s *.* /s /d 不懂的看下 attrib /? 帮助.保存为bat也可以.

  10. 安卓开发中ScrollView不能用RelativeLayout的解决方案

    RelativeLayout的意义: 布局各个部件的相对布局.使得界面空间合理利用. 一.ScrollView局限: 滑动的只能是linearlayout,甚至整个布局都不能有RelativeLayo ...