• 大数据运维(50)zabbix监控MySQL


    在mysql上安装agent:下面是配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=192.168.1.119
    ServerActive=192.168.1.119
    Hostname=mysql01
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    UnsafeUserParameters=1 # 开启脚本监控
    HostMetadataItem=system.uname

    在配置文件中添加参数:

    1
    2
    vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    UserParameter=mysql.check[*],/var/opt/check_mysql.sh $1 2> /dev/null

    监控脚本:

    1
    /var/opt/check_mysql.sh

    check_mysql.sh

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    # 用户名
    MYSQL_USER='root'
     
    # 密码
    MYSQL_PWD='123456'
     
    # 主机地址/IP
    MYSQL_HOST='192.168.1.111'
     
    # 端口
    MYSQL_PORT='3306'
     
    # 数据连接
    MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"
     
    # 参数是否正确
    if [ $# -ne "1" ];then 
        echo "arg error!" 
    fi 
     
    # 获取数据
    case $1 in 
        Uptime) 
            result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`
            ;; 
        Com_update) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3` 
            ;; 
        Slow_queries) 
            result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"
            ;; 
        Com_select) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3` 
                    ;; 
        Com_rollback) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3` 
                    ;; 
        Questions) 
            result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"
                    ;; 
        Com_insert) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3` 
                    ;; 
        Com_delete) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3` 
                    ;; 
        Com_commit) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3` 
                    ;; 
        Bytes_sent) 
            result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` 
                    ;; 
        Bytes_received) 
            result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3` 
                    ;; 
        Com_begin) 
            result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3` 
                    ;; 
     
            *) 
            echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" 
            ;; 
    esac
     
    echo $result

    添加权限:

    1
    chmod +x check_mysql.sh

    重启zabbix-agent:

    1
    systemctl restart zabbix-agent.service

    在zabbix server上测试:

    1
    zabbix_get -s 192.168.1.111 -k mysql.check[Com_select]

    然后在web页面添加action来自动注册或手动添加到监控。

    作者:大码王

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•?ω•?)っ???!

  • 相关阅读:
    nginx中的location匹配规则介绍
    有关博客更新的说明
    nginx配置不同路径下的转发代理
    laravel-admin使editormd支持粘贴截图并自动生成简介
    ERROR [HY000][1822]: Failed to add the foreign key constraint.
    MySQL如何只获得查询结果的前n条数据
    Java常用日期操作
    网络工具_nc
    kali安装工具
    有趣的小东西--打印彩色系统信息
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13791472.html
Copyright © 2020-2023  润新知