监控项是在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. C#+EntityFramework编程方式详细之Model First

    Model First Model First模式即“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在VS中 ...

  2. 2017-2018-2 20155309南皓芯 Exp4 恶意代码分析

    实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 答:我会使用sysmon工具来进行监控 ...

  3. 参数ref与out

    通常我们向方法中传递的是值,方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不会受到影响. 这种情况是通常的,当然还有另外一种情况,我们向方法传递参数的形 ...

  4. ionic2中使用videogular2实现m3u8文件播放

    // 安装依赖 npm i videogular2 --save npm i hls.js --save // 在index.html中引入 <script src="assets/h ...

  5. 【Spring Boot】关于上传文件例子的剖析

    目录 Spring Boot 上传文件 功能实现 增加ControllerFileUploadController 增加ServiceStorageService 增加一个Thymeleaf页面 修改 ...

  6. iphone手机浏览器文本框不触发输入中文的keyup事件

    问题描述:iphone手机浏览器文本框不触发输入中文的keyup事件,在输入中文之后需要点击回退按键,才会开始搜索.问题分析:iphone手机的输入法(不管是第三方还是自带)能检测到英文或者数字的ke ...

  7. 【AtCoder】【组合数学】【模型转换】Colorful Balls(AGC012)

    题意: 有n个球,每个球有两个值,一个是颜色,另一个是重量.可以进行如下的操作任意次: 1.选择两个颜色相同的球,如果这两个球的重量之和小于等于X,就交换这两个球: 2.选择两个颜色不同的球,如果这两 ...

  8. Android系统文件目录路径说明

    系统数据存储路径,如下:其中应用程序包名为:com.spt ContextWrapper类中,包含以下方法: 1. getFilesDir() --> 内部存储 @Override public ...

  9. C语言面对对象设计模式汇编

    面向对象发展到今天,已经出现了许许多多优秀的实践.方法和技术.很多的技术都能够有效的提高软件质量.IBM上的<面向对象软件开发和过程>系列文章对面对对象设计从如下层面进行了详细的介绍:代码 ...

  10. [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置

    百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程