zabbix 监控mysql_zabbix监控MySQL

利用zabbix实时监控MySQL的性能,达到对MySQL的各方面性能把控;

zabbix默认会带有对MySQL的监控模板(Template App MySQL),只是不能直接使用,需要在被监控机进行一些设置;

一、需要写一个脚本放在被监控机上,这个也就是与自定义监控差不多,只是模板用zabbix自带的;

cat zabbix_mysql_status.sh#!/bin/sh

#Create by feixiangdada 2015.12.17

MYSQL_SOCK="/tmp/mysql.sock"

ARGS=1

if [ $# -ne "$ARGS" ];then

echo "Please input one arguement:"

fi

case $1 in

Uptime)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"`

echo $result

;;

Com_update)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3`

echo $result

;;

Slow_queries)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"`

echo $result

;;

Com_select)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3`

echo $result

;;

Com_rollback)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3`

echo $result

;;

Questions)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"`

echo $result

;;

Com_insert)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3`

echo $result

;;

Com_delete)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3`

echo $result

;;

Com_commit)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3`

echo $result

;;

Bytes_sent)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`

echo $result

;;

Bytes_received)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3`

echo $result

;;

Com_begin)

result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3`

echo $result

;;

*)

echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)"

;;

esac

此脚本中需要注意的是:

1. mysql.sock的路径,根据自己的路径进行修改;

2. 对my.cnf进行配置:

在 my.cnf 中加入下面的即可:[mysqladmin]

host=localhost

user=zabbix                        #用户修改成自己的

password=zabbix                    #密码需要对上用户

修改后需要重启MySQL(若是5.5以下可以忽略这步)

二、 对被控制机上的 zabbix_agentd.conf 添加如下内容:UserParameter=mysql.version,mysql -V

UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -S /tmp/mysql.sock ping | grep -c alive

UserParameter=mysql.status[*],/usr/local/zabbix/share/zabbix/alertscripts/mysql_status.sh $1 $2

重启 zabbix_agentd服务:service zabbix_agentd restart

三、 在zabbix的监控上添加MySQL的模板(Template App MySQL)即可;

效果图如下:

3df662bb497200110e8c15046bc5ceef.png

47187eb1fef7c1e32c2a18d35921582b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Zabbix监控 MySQL 数据库,需要进行以下步骤: 1. 安装 Zabbix Agent 在要监控MySQL 服务器上安装 Zabbix Agent。你可以从 Zabbix 官网下载适合你系统的安装包,或使用包管理器进行安装。 2. 安装 MySQL 监控插件 在 Zabbix Server 上安装 MySQL 监控插件。你可以从 Zabbix 官网下载适合你版本的插件。 3. 配置 MySQL 监控插件 在 Zabbix Server 上编辑插件配置文件(mysql.conf),配置 MySQL 数据库的连接信息和监控项。 例如: ``` UserParameter=mysql.ping, mysqladmin -uroot ping | grep -c alive UserParameter=mysql.version, mysql -V UserParameter=mysql.status[*], mysqladmin -uroot -p$1 status $2 | awk '{print $$NF}' UserParameter=mysql.size[*], mysql -uroot -p$1 -e 'SELECT table_schema "$2", Round(Sum(data_length + index_length) / 1024 / 1024, 2) "Size (MB)" FROM information_schema.tables WHERE table_schema="$2";' | grep -v Size UserParameter=mysql.qps, mysqladmin -uroot -p$1 status | cut -f9 -d':' | awk '{print $$1}' ``` 这些配置项允许 Zabbix Agent 在远程 MySQL 服务器上执行命令并获取数据。 4. 添加 MySQL 监控项 在 Zabbix Server 上添加 MySQL 数据库监控项。你可以通过 Zabbix Web 界面添加监控项,包括: - MySQL 数据库版本 - MySQL 数据库状态 - MySQL 数据库大小 - MySQL 数据库 QPS(每秒查询数) 5. 创建 MySQL 监控模板 在 Zabbix Web 界面上创建 MySQL 监控模板,并将监控项添加到模板中。 6. 将 MySQL 主机关联到监控模板 将要监控MySQL 主机关联到 MySQL 监控模板。 完成以上步骤后,你就可以在 Zabbix Web 界面上查看 MySQL 数据库的监控数据了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值