zabbix详解(十一)——zabbix监控MySQL性能实战

今天继续给大家介绍Linux运维相关知识,本文主要内容是zabbix监控MySQL性能。

一、实战目的

通过在zabbix客户端编写脚本,实现对MySQL数据库的性能进行信息进行提取,并配置成zabbix的监控项,以实现zabbix对MySQL性能的监控,最终实现把MySQL数据库的性能通过图形的形式表现出来。

二、Agent脚本编写

在zabbix客户端上,我们已经安装好了MySQL和zabbix。如何获得MySQL的性能参数呢,我们可以通过执行命令:

mysqladmin -uroot -proot status

来初步判定MySQL的性能,该命令执行结果如下:
在这里插入图片描述

或者是执行命令:

mysqladmin -uroot -proot extended-status

该命令执行结果如下:
zabbix详解(十一)——zabbix监控MySQL性能实战_第1张图片
在该命令执行后,我们还可以通过awk命令来把具体参数的内容进行提取。下面,我们来提取MySQL数据库的Uptime、Threads、Slow Queries、Queries per second avg和五个参数,可以分别执行命令:

mysqladmin -uroot -proot status |  awk '{print $2}'
mysqladmin -uroot -proot status |  awk '{print $4}'
mysqladmin -uroot -proot status |  awk '{print $9}'
mysqladmin -uroot -proot status |  awk '{print $22}'
mysqladmin -uroot -proot extended-status | grep "Bytes_sent" | awk '{print $4}'

上述命令执行结果如下:
zabbix详解(十一)——zabbix监控MySQL性能实战_第2张图片
在这里插入图片描述
这样,我们就可以将这些性能具体提取出来了,接下来,我们来编写一下zabbix客户端的脚本。脚本内容如下:

#!/bin/bash
# 2022年3月27日 20:22:32
# Authoed by pzz
# Used to get the MySQL parameter
CONNECTION1="mysqladmin -uroot -proot status"
CONNECTION2="mysqladmin -uroot -proot extended-status"
if [ $# -ne 1 ];then
        echo "arg error,there should be one arg!"
else
        case $1 in
                uptime)
                        result=`$CONNECTION1 | awk '{print $2}'`
                        ;;
                threads)
                        result=`$CONNECTION1 | awk '{print $4}'`
                        ;;
                slow_queries)
                        result=`$CONNECTION1 | awk '{print $9}'`
                        ;;
                avg_time)
                        result=`$CONNECTION1 | awk '{print $22}'`
                        ;;
                bytes_sent)
                        result=`$CONNECTION2 | grep "Bytes_sent" |awk '{print $4}'`
                        ;;
                *)
                        echo "Usage:$0(uptime|threads|slow_queries|avg_time|bytes_sent)"
        esac
        echo $result
fi

脚本完成后,我们来测试一下脚本的可行性,结果如下:
zabbix详解(十一)——zabbix监控MySQL性能实战_第3张图片
可以看出,我们编写的脚本工作正常,可以运行并检测MySQL的一些性能参数。然后我们在zabbix server端上测试一下,结果如下:
zabbix详解(十一)——zabbix监控MySQL性能实战_第4张图片
可以看出,zabbix server端也运行正常。

三、zabbix web端配置

接下来,我们就可以进行zabbix web端的配置了。大致流程如下:
添加模板——添加监控项——将模板添加到主机上——添加图形。
前面的步骤在zabbix详解(九)——zabbix自定义监控内容实战一文中已经给大家介绍过了,这里就不过多赘述了。今天主要给大家讲解一下添加图形的操作。
选择配置——主机,点击图形,如下所示:
zabbix详解(十一)——zabbix监控MySQL性能实战_第5张图片
进入图形页面后,点击右上角的添加图形页面,并填写名称、以及监控项等内容,结果如下:
zabbix详解(十一)——zabbix监控MySQL性能实战_第6张图片
完成上述添加后,我们点击下方的“添加”就可以把刚才我们的自定义图形添加上去了,添加完成后的页面如下所示:
zabbix详解(十一)——zabbix监控MySQL性能实战_第7张图片

四、图形查看

最后,我们来查看一下刚才配置的结果。进入监控——图形页面,选择我们要监控的图形,结果如下:
zabbix详解(十一)——zabbix监控MySQL性能实战_第8张图片
可以看出,我们已经能够通过自定义的监控项来显示图形了,我们的zabbix监控MySQL性能实战成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(自动化运维,运维,Linux,zabbix,自动化,实战配置)