zoukankan      html  css  js  c++  java
  • zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在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>
    

     运算符如下表:

     

    PRIORITYOPERATORDEFINITIONNotes 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

  • 相关阅读:
    java利用freemarker导出world
    各种Java加密算法
    SM2的非对称加解密java工具类
    Mybatis分页插件--------Pagehelper
    JS实现浏览器打印、打印预览
    java大文件断点续传
    数字证书在web应用中实现登陆
    CA数字加密解密Demo
    使用数字证书进行签名和加密解密
    一个有趣的模拟光照的shader(类似法线贴图)
  • 原文地址:https://www.cnblogs.com/xiami-xm/p/8929163.html
Copyright © 2011-2022 走看看