zoukankan      html  css  js  c++  java
  • mysql小白系列_08 zabbix添加自定义监控项items和触发器

    监控mysql存活

    1.配置agent自定义参数
    vi /usr/local/zabbix/etc/zabbix_agentd.conf
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
    cd /usr/local/zabbix/etc/zabbix_agentd.conf.d
    vi userparameter.conf
    UserParameter=mysql.check_mysql_status,sh /usr/local/zabbix/etc/shell/check_mysql_status.sh
    mkdir /usr/local/zabbix/etc/shell
    cd /usr/local/zabbix/etc/shell
    vi check_mysql_status.sh
    

    shell脚本内容:

    #!/bin/bash
    host=localhost
    username=zabbix
    password=zabbix
    port=306
    MYSQL='/data/my3306/bin/mysql'
    SOCKET='/data/my3306/run/mysql.sock'
    CHECK_TIME=3
    #mysql  is working MYSQL_IS_OK is 1 , mysql down MYSQL_IS_OK is 0
    MYSQL_IS_OK=1
    function check_mysql_status (){
        $MYSQL -u$username -p"$password" -P$port --socket="$SOCKET" -e "select user();" > /dev/null 2>&1
        if [ $? = 0 ] ;then
        MYSQL_IS_OK=1
        else
        MYSQL_IS_OK=0
        fi
        return $MYSQL_IS_OK 
    }
    while [ $CHECK_TIME -ne 0 ]
    do
        let "CHECK_TIME -= 1"
        
        check_mysql_status
    if [ $MYSQL_IS_OK = 1 ] ; then
        CHECK_TIME=0
        echo 0
        exit 0
    fi
    if [ $MYSQL_IS_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ]
    then
        echo 1
        exit 1
    fi
    sleep 3
    done
    

    另外的配置方法:

    # UnsafeUserParameters=0 改为  UnsafeUserParameters=1  
    # UserParameter=  在下面直接添加用户参数
    UserParameter=<key>,<shell command>
    key:服务器添加监控时需用到的key值
    shell command:监控脚本的绝对路径
    
    2.server端用get命令测试key值
    [root@mysql01 zabbix_agentd.conf.d]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.check_mysql_status
    0
    
    3.web上添加监控项
    (1)先创建单独模板

    Configuration - Templates -Create template
    Template name: 模板名称
    Groups: 需要加进一个组,或者新建组

    (2)在模板里添加items值

    key值必须是在userparameter.conf里面定义的
    (3)添加trigger触发器

    脚本里正常是0,如果为1则触发动作
    (4)再次测试发现超时

    /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.check_mysql_status
    ZBX_NOTSUPPORTED: Timeout while executing a shell script
    /usr/local/zabbix/etc/zabbix_server.conf和zabbix_agentd.config
    Timeout=30
    

    修改后正常

    [root@mysql01 etc]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.check_mysql_status
    1
    

    (5)添加action动作

    (6)用户下添加收件地址

    (7)添加media里面的邮件服务器

    (8)邮件已经收到告警信息

  • 相关阅读:
    C#客户端程序Visual Studio远程调试
    VS2013如何转成VS2010且不会出现此项目与Visual Studio的当前版本不兼容的报错
    Windows控件的命名规范
    VS2010中如何将exe文件生成setup安装文件
    Altium Designer Summer 09的操作
    Java SE(一)——java基础
    Java SE(二)——java语言基础
    重写与重载的区别
    Altium Designer Summer 09——元器件的封装
    Java SE(四)——java 面向对象入门
  • 原文地址:https://www.cnblogs.com/jenvid/p/8481416.html
Copyright © 2011-2022 走看看