zoukankan      html  css  js  c++  java
  • zabbix基于命令行方式监控MySQL

                zabbix基于命令行方式监控MySQL

                                         作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.zabbix agent自定义监控脚本

    1>.自定义脚本

    [root@node203.yinzhengjie.org.cn ~]# cat /etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh 
    #!/bin/bash
    #
    #********************************************************************
    #Author:        yinzhengjie
    #QQ:             1053419035
    #Date:             2019-11-23
    #FileName:        shell/menu.sh
    #URL:             http://www.cnblogs.com/yinzhengjie
    #Description:        The test script
    #Copyright notice:     original works, no reprint! Otherwise, legal liability will be investigated.
    #********************************************************************
    
    
    function seconds_Behind_Master(){
        NUM=`mysql -uroot -hlocalhost   -e "show slave statusG;"  | grep "Seconds_Behind_Master:" | awk -F: '{print $2}'`
        echo $NUM
    }
    
    function master_slave_check(){
        NUM1=`mysql -uroot -hlocalhost   -e "show slave statusG;"  | grep "Slave_IO_Running" | awk -F:  '{print $2}' | sed 's/^[ 	]*//g'`
        #echo $NUM1
        NUM2=`mysql -uroot -hlocalhost   -e "show slave statusG;"  | grep "Slave_SQL_Running:" | awk -F:  '{print $2}' | sed 's/^[ 	]*//g'`
        #echo $NUM2
        if test $NUM1 == "Yes" &&  test $NUM2 == "Yes";then
            echo 50
        else
            echo 100
        fi
    }
    
    function main(){
        case $1 in
          seconds_Behind_Master)
              seconds_Behind_Master
              ;;
          master_slave_check)
              master_slave_check
              ;;
         esac
    }
    
    main $1
    
    [root@node203.yinzhengjie.org.cn ~]# 

    2>.测试脚本可用性

    3>.为脚本授权

    [root@node203.yinzhengjie.org.cn ~]# ll /etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh 
    -rw-r--r-- 1 root root 1279 Feb 29 18:31 /etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh
    [root@node203.yinzhengjie.org.cn ~]# 
    [root@node203.yinzhengjie.org.cn ~]# chmod +x /etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh 
    [root@node203.yinzhengjie.org.cn ~]# 
    [root@node203.yinzhengjie.org.cn ~]# ll /etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh 
    -rwxr-xr-x 1 root root 1279 Feb 29 18:31 /etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh
    [root@node203.yinzhengjie.org.cn ~]# 
    [root@node203.yinzhengjie.org.cn ~]# 

    4>.定义agent端的子配置文件

    [root@node203.yinzhengjie.org.cn ~]# grep ^Include /etc/zabbix/zabbix_agentd.conf 
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    [root@node203.yinzhengjie.org.cn ~]# 
    [root@node203.yinzhengjie.org.cn ~]# cat /etc/zabbix/zabbix_agentd.d/mysql_monitoring.conf 
    UserParameter=mysql_master_slave[*],/etc/zabbix/zabbix_agentd.d/mysql_monitoring.sh $1
    [root@node203.yinzhengjie.org.cn ~]# 
    [root@node203.yinzhengjie.org.cn ~]# 

    5>.重启zabbix agent服务使得配置生效

    [root@node203.yinzhengjie.org.cn ~]# systemctl restart zabbix-agent.service 

    二.在zabbix WebUI测试

    1>.先在zabbix server端进行测试是否可以获取数据

    [root@zabbix203.yinzhengjie.org.cn ~]# /yinzhengjie/softwares/zabbix/bin/zabbix_get -s 172.200.1.203 -p 10050 -k "mysql_master_slave[master_slave_check]"
    50
    [root@zabbix203.yinzhengjie.org.cn ~]# 
    [root@zabbix203.yinzhengjie.org.cn ~]# /yinzhengjie/softwares/zabbix/bin/zabbix_get -s 172.200.1.203 -p 10050 -k "mysql_master_slave[seconds_Behind_Master]"
    0
    [root@zabbix203.yinzhengjie.org.cn ~]# 
    [root@zabbix203.yinzhengjie.org.cn ~]# 

    2>.创建一个模板

    3>.自定义监控项

    4>.自定义模板的图形

    5>.自定义MySQL的触发器

    6>.为MySQL主机链接咱们自定义的模板

    7>.模板链接成功

    8>.手动停止MySQL数据库从库同步数据

    mysql> stop slave;

    9>.查看自定义的MySQL图形

  • 相关阅读:
    流程图
    如何撰写简历
    产品经理-visio
    关于 EF 对象的创建问题
    LINQ To EF
    IQueryable 与 IEnumberable 接口的区别
    UWP自动填充控件AutoSuggestBox小优化
    xamarin UWP证书问题汇总
    xamarin UWP中MessageDialog与ContentDialog的区别
    xamarin UWP自定义圆角按钮
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12386095.html
Copyright © 2011-2022 走看看