zoukankan      html  css  js  c++  java
  • zabbix监控mysql

    zabbix自带MySQL的监控模板(Template App MySQL),但不能直接使用,需要在客户端上进行一些设置。

    1、在客户端编写mysql监控脚本

    #!/bin/bash 
    
    MYSQL_SOCK="/var/lib/mysql/mysql.sock"  
    ARGS=1 
    if [ $# -ne "$ARGS" ];then 
        echo "Please input one arguement:" 
    fi 
    case $1 in 
        Uptime) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK status 2>/dev/null|awk -F'[: ]+' '{print $2}'` 
            echo $result 
            ;; 
        Com_update) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_update>/{print $3}'` 
            echo $result 
            ;; 
        Slow_queries) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK status 2>/dev/null|awk -F'[: ]+' '{print $9}'` 
            echo $result 
            ;; 
        Com_select) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_select>/{print $3}'` 
            echo $result 
            ;; 
        Com_rollback) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_rollback>/{print $3}'` 
            echo $result 
            ;; 
        Questions) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK status 2>/dev/null|awk -F'[: ]+' '{print $6}'` 
            echo $result 
            ;; 
        Com_insert) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_insert>/{print $3}'` 
            echo $result 
            ;; 
        Com_delete) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_delete>/{print $3}'` 
            echo $result 
            ;; 
        Com_commit) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_commit>/{print $3}'` 
            echo $result 
            ;; 
        Bytes_sent) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Bytes_sent>/{print $3}'` 
            echo $result 
            ;; 
        Bytes_received) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Bytes_received>/{print $3}'` 
            echo $result 
            ;; 
        Com_begin) 
            result=`/usr/bin/mysqladmin -uzabbix -ppassword -S $MYSQL_SOCK extended-status 2>/dev/null|awk -F'[ |]+' '/Com_begin>/{print $3}'` 
            echo $result 
            ;; 
        *) 
            echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)" 
            ;; 
    esac

    2、在mysql服务器上面创建一个用于zabbix监控的用户(无权限)

    GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'password';

    3、修改客户端zabbix设置

    编辑zabbix_agentd.conf配置文件,添加如下内容:

    UserParameter=mysql.version,mysql -V
    UserParameter=mysql.ping,mysqladmin -uzabbix -plkpower -S /var/lib/mysql/mysql.sock ping 2>/dev/null| grep -c alive
    UserParameter=mysql.status[*],/data/zabbix/externalscripts/zabbix_mysql_status.sh $1

    然后重启zabbix_agentd服务。

    4、服务端测试是否可以正常取值

    5、在zabbix的监控上添加MySQL的模板(Template App MySQL)

    监控效果图如下:

  • 相关阅读:
    数据库MySQL调优实战经验总结
    Apache常见功能实战详解
    使用HeartBeat实现高可用HA的配置过程详解
    Nginx实现集群的负载均衡配置过程详解
    CentOS系统通过PXE实现批量无人值守安装
    CentOS 7 网卡命名修改为eth0格式
    Nagios 系统监控基本安装配置过程详解
    LAMP 系统服务搭建过程详解
    使用 python 管理 mysql 开发工具箱
    C++标准库string类型的使用和操作总结
  • 原文地址:https://www.cnblogs.com/Eivll0m/p/5477118.html
Copyright © 2011-2022 走看看