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

    文章转载自:https://www.cnblogs.com/xiami-xm/p/8929163.html

    监控项是在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><br><br>UserParameter=file.exist[*],ls /tmp/$1 >/dev/null 2>&1;echo $?   #0表示存在,>0表不存在<br><br>#带参数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”状态。

     触发器表达式格式:

    1
    {<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

  • 相关阅读:
    PHP实现无限极分类
    html2canvas生成并下载图片
    一次线上问题引发的过程回顾和思考,以更换两台服务器结束
    Intellij IDEA启动项目报Command line is too long. Shorten command line for XXXApplication or also for
    mq 消费消息 与发送消息传参问题
    idea 创建不了 java 文件
    Java switch 中如何使用枚举?
    Collections排序
    在idea 设置 git 的用户名
    mongodb添加字段和创建自增主键
  • 原文地址:https://www.cnblogs.com/hujinbing/p/12299657.html
Copyright © 2011-2022 走看看