zabbix监控mysql

本文介绍如何使用Zabbix监控MySQL状态,包括编写监控脚本、创建监控用户、配置客户端及服务端测试步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

监控效果图如下:

转载于:https://www.cnblogs.com/Eivll0m/p/5477118.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值