Heim >Datenbank >MySQL-Tutorial >zabbix监控mysql_MySQL

zabbix监控mysql_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-05-30 17:11:201032Durchsuche

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的客户端


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:mysql检测重复索引_MySQLNächster Artikel:Mysql的表的碎片清理_MySQL