监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item;也可直接在host中定义

目标:自定义监控项检查/tmp/aa文件是否存在,并设置触发器,实现邮件报警

其实zabbix自带监控项vfs.file.exists可以检查文件是否存在,本文主要为了说明怎么自定义监控项,所以不使用自带的。

vfs.file.exists[file] 检查文件是否存在。返回 0 - 未找到文件;1 - 常规文件或链接(软/硬)存在

1. 开启自定义用户参数

# vim /usr/local/zabbix/conf/zabbix_agentd.conf

UnsafeUserParameters=1

2. 在配置文件中添加UserParameter 

#UserParameter的格式:UserParameter=<key>,<shell command>

UserParameter=file.exist[*],ls /tmp/$1 >/dev/null 2>&1;echo $?   #0表示存在,>0表不存在

#带参数UserParameter的格式:<key[*]>,<shell command>,其中*的意思是方括号中可以有任意多的参数,每个参数由逗号隔开,分别是$1、$2、$3、... ...

3. 重启zabbix_agentd,在server端验证UserParameter是否生效

 重启:略

#server端验证

[root@zabbix ~]# zabbix_get -s 192.168.119.137 -k "file.exist[aa]"
0
[root@zabbix ~]# zabbix_get -s 192.168.119.137 -k "file.exist[bb]"
2

#以上结果说明在agent端存在/tmp/aa文件,不存在/tmp/bb文件

4. 在主机上创建应用集

5. 创建item

6.添加图形

 

7. 添加触发器

项目只收集数据。为了自动评估传入数据,我们需要定义触发器。触发器包含一个表达式,该表达式定义数据的可接受级别的阈值。

如果这个水平超过了传入的数据,触发器将“触发”或进入“问题”状态 - 让我们知道发生了某些事情可能需要注意。如果等级再次可接受,则触发器返回到“OK”状态。

 触发器表达式格式:

{<server>:<key>.<function>(<parameter>)}<operator><constant>

 运算符如下表:

 

PRIORITY OPERATOR DEFINITION Notes for unknown values
1 - Unary minus -Unknown → Unknown
2 not Logical NOT not Unknown → Unknown
3 * Multiplication * Unknown → Unknown
(yes, Unknown, not 0 - to not lose
Unknown in arithmetic operations)
1.2 * Unknown → Unknown
  / Division Unknown / 0 → error
Unknown / 1.2 → Unknown
0.0 / Unknown → Unknown
4 + Arithmetical plus 1.2 + Unknown → Unknown
  - Arithmetical minus 1.2 - Unknown → Unknown
5 < Less than. The operator is defined as:
A<B ⇔ (A<B-0.000001)
1.2 < Unknown → Unknown
  <= Less than or equal to. Unknown <= Unknown → Unknown
  > More than. The operator is defined as:
A>B ⇔ (A>B+0.000001)
 
  >= More than or equal to.  
6 = Is equal. The operator is defined as:
A=B ⇔ (A>=B-0.000001) and (A<=B+0.000001)
 
  <> Not equal. The operator is defined as:
A<>B ⇔ (A<B-0.000001) or (A>B+0.000001)
 
7 and Logical AND and Unknown → 0
and Unknown → Unknown
Unknown and Unknown → Unknown
8 or Logical OR or Unknown → 1
or Unknown → Unknown
Unknown or Unknown → Unknown

 

8. 远程执行命令

当检测到/tmp/aa不存在时远程创建该文件

agent端修改配置文件

EnableRemoteCommands = 1

 另外,在执行命令时确保你的zabbix用户有执行权限,如果某些命令需要root权限,那么请使用sudo。编辑sudoer文件,zabbix用户便可以执行对应命令了。

在/tmp下创建文件不需要root权限,该步骤可忽略

 

#以重启nginx服务为例
zabbix ALL=NOPASSWD: ALL
zabbix ALL=NOPASSWD: /etc/init.d/nginx stop,/etc/init.d/nginx start

zabbix自定义监控项、添加图形、设置触发器、远程执行命令的更多相关文章

  1. zabbix自定义监控项二

    为zabbix增加支持传参的自定义监控项 例如使用zabbix来监控tcp的12种状态 tcp的12种状态可以通过man netstat来找到,即 LISTEN:等待从任何远端TCP 和端口的连接请求 ...

  2. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  3. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  4. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  5. zabbix自定义监控项

    原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...

  6. zabbix 自定义监控项每隔1分钟检测一次三次失败报警

    在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py auth.check就是之后添加的自定义的item值 ...

  7. zabbix 自定义监控项,监控tomcat访问量

    uv:访客量.每个独立上网电脑视为一位访客.pv:访问量.页面浏览量或者点击量,访客每访问一次记录一次. 1.创建文件 /home/zabbix/pvuv_number.sh [ #/bin/bash ...

  8. zabbix 自定义监控项 获取nginx监控状态

    本篇是基于zabbix 源码安装的 [root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" Acti ...

  9. zabbix 自定义监控项简单案例

    例如:获取被监控主机的登录用户数 以uptime为例: 输入命令:uptime | awk '{print $6}'  可以获得当前登录用户数(不通终端打印出的位置不同) 1.被监控主机修改zabbi ...

随机推荐

  1. 【原创】运维基础之Docker(3)搭建私有仓库

    下载并启动registry $ docker pull registry$ docker run --name my_registry -d -p 5000:5000 -v /var/lib/regi ...

  2. uni-app hbuilderX ios离线打包,启动图修改没反应

    最后还是没反应 删除app从新安装, 可参考https://www.jianshu.com/p/47c1377c61d6

  3. sublime的插件

    记录一下常用的插件: 1. htmlpretty 用于HTML.CSS.JS的格式化,以方便阅读代码.插件全名是HTML-CSS-JS Pretty.安装后使用方法是: 打开一个HTML/CSS/JS ...

  4. 页面报错时隐藏Tomcat信息

    一.问题描述Tomcat报错页面泄漏Apache Tomcat/8.0.53相关版本号信息,是攻击者攻击的途径之一.因此实际当中建议去掉版本号信息. 二.解决办法1.进入到tomcat/lib目录下, ...

  5. tcpdump抓包常用命令列举

    情形一.采集指定网络接口和端口的数据包 sudo tcpdump -s 0 -x -n -tttt -i bond0  port  55944 -w /tmp/mysql_tmp.tcp 情形二.采集 ...

  6. 解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创)

    这几天用到了微信企业付款到零钱这个接口,结果出现了报错:CA_ERROR, 该接口的API说明和报错提示说明:https://pay.weixin.qq.com/wiki/doc/api/tools/ ...

  7. echarts4.0折线图让某个点闪烁

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Zookeeper集群搭建步骤及相关知识点深入了解

    1.zookeeper概念 zookeeper是一个分布式协调服务:a:zookeeper是为别的分布式程序服务的 b:zookeeper本身就是一个分布式程序(只要半数以上节点存活,zookeepe ...

  9. Windows API教程文件系统

    本篇文章主要介绍了"Windows API教程文件系统",主要涉及到Windows API教程文件系统方面的内容,对于Windows API教程文件系统感兴趣的同学可以参考一下. ...

  10. 创建phpinfo(PHP探针)查看自己服务器空间php详细信息

    创建phpinfo(PHP探针)查看自己服务器空间php详细信息 <?phpphpinfo();?> 保存,然后更改文件名为phpinfo.php 放到你域名根目录,然后访问:http:/ ...