zoukankan      html  css  js  c++  java
  • zabbix--External checks 外部命令检测

    概述
    zabbix server 运行脚本或者二进制文件来执行外部检测,外部检测不需要在被监控端运行任何 agentd
    item key 语法如下:

    参数 定义
    script shell 脚本或者二进制文件名.
    parameter(s) Optional command line parameters.

    如果不想传递任何参数,如下:
    script[] 或者 script
    zabbix server 会再定义好的目录里面执行外部脚本(zabbix server 中的配置 extenalScripts),这个脚本将使用 zabbix
    的运行用户身份运行。请注意权限以及只有指定目录中的命令才能够被执行。
    zabbix 脚本使用标准方式输出(完整输出但是会删除末尾的空白) ,标准错误和退出代码将会被丢弃

    PS:请不要过度使用那个外部检测,这会严重降低 zabbix 系统性能

     下面写个简单脚本测试下:

    [root@localhost zabbix]# ls
    alertscripts  externalscripts
    [root@localhost zabbix]# cat externalscripts/mysql.sh 
    #!/bin/bash
    export MYSQL_PWD=123456
    mysql -uroot  -h 192.168.1.107 -e "select account_locked from mysql.user where user='zabbix';"
    [root@localhost zabbix]# chmod a+x externalscripts/mysql.sh 
    [root@localhost zabbix]# chown zabbix:zabbix externalscripts/mysql.sh 
    [root@localhost zabbix]# ll externalscripts/mysql.sh 
    -rwxr-xr-x 1 zabbix zabbix 131 Jun 22 16:13 externalscripts/mysql.sh
    [root@localhost zabbix]# pwd
    /usr/lib/zabbix
    [root@localhost zabbix]# 

    然后创建item

     检查能不能获取到数据:

    上面例子可以继续优化 实际上脚本可能会给多个主机使用,不同主机的数据库连接信息也不一样,需要改成传参的方式:

    加入位置参数:

    [root@localhost zabbix]# ./externalscripts/mysql.sh 192.168.1.107 zabbix 123456
    N
    [root@localhost zabbix]# cat ./externalscripts/mysql.sh 
    #!/bin/bash
    host=$1
    user=$2
    mysql_pwd=$3
    
    export MYSQL_PWD=$3
    mysql -uroot  -h $1 -e "select account_locked from mysql.user where user="$2";" | sed -n "2p"
    [root@localhost zabbix]# 

     修改下item:

     

    再配置下value maping

     

     lastest data看下效果:

  • 相关阅读:
    如何在 Windows 7 上安装 TeX Live 2018
    CF 964C Alternating Sum
    WF 18 A 想法
    CLion 使用笔记
    数理统计学复习
    ssh无密码访问设置(ssh-keygen 的详解)
    mysql开启远程连接的方法
    mysql命令大全
    Linux下创建仓库的软件包createrepo
    Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令
  • 原文地址:https://www.cnblogs.com/laonicc/p/11069115.html
Copyright © 2011-2022 走看看