Home >Database >Mysql Tutorial >zabbix监控mysql_MySQL

zabbix监控mysql_MySQL

WBOY
WBOYOriginal
2016-05-30 17:11:201012browse

1、zabbix添加mysql的监控模板(temple-app-mysql)之后,还需要在客户端添加key去取值。

 

2、编写脚本,获取mysql的各种状态值。可以固定一个目录,专门存放监控脚本。比如/usr/local/zabbix/scripts/chk_mysql.sh

 

#!/bin/bash

# -------------------------------------------------------------------------------
# FileName:    chk_mysql.sh
# Revision:    1.0
# Date:        2015/09/07
# Author:      Winngins Yu
# Email:       drinkboy@126.com
# Website:     www.drinkboy.com
# Description: 
# Notes:       ~
# -------------------------------------------------------------------------------
# Copyright:   2015 (c) Winngins Yu
# License:     GPL

# 用户名
MYSQL_USER=‘root‘

# 密码
MYSQL_PWD=‘liujinWANG1985‘

# 主机地址/IP
MYSQL_HOST=‘127.0.0.1‘

# 端口
MYSQL_PORT=‘3306‘

# 数据连接
MYSQL_CONN="/alidata/mysql/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"` 
        echo $result 
        ;; 
    Com_update) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3` 
        echo $result 
        ;; 
    Slow_queries) 
        result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"` 
        echo $result 
        ;; 
    Com_select) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3` 
        echo $result 
                ;; 
    Com_rollback) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3` 
                echo $result 
                ;; 
    Questions) 
        result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"` 
                echo $result 
                ;; 
    Com_insert) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3` 
                echo $result 
                ;; 
    Com_delete) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3` 
                echo $result 
                ;; 
    Com_commit) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3` 
                echo $result 
                ;; 
    Bytes_sent) 
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` 
                echo $result 
                ;; 
    Bytes_received) 
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3` 
                echo $result 
                ;; 
    Com_begin) 
        result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3` 
                echo $result 
                ;; 
                        
        *) 
        echo "Usage:___FCKpd___0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" 
        ;; 
esac

 

 

3、修改zabbix的配置文件/usr/local/zabbix-agentd/etc/zabbix_agentd.conf,添加

 

#获取mysql版本
UserParameter=mysql.version,mysql -V
##获取mysql性能指标,这个是上面定义好的脚本
UserParameter=mysql.status[*],bash /alidata/zabbix-agentd/scripts/chk_mysql.sh $1
##获取mysql运行状态
UserParameter=mysql.ping,/alidata/mysql/bin/mysqladmin -uroot -pliujinWANG1985 -P3306 -h127.0.0.1  ping | grep -c alive
UserParameter=mysql.process,/alidata/mysql/bin/mysql -uroot -pliujinWANG1985 -P3306 -h127.0.0.1  -e "show processlist" 2>/dev/null|wc -l

 

 

4、重启zabbix的客户端


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn