我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于zabbix的Mysql自定义监控

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于zabbix的Mysql自定义监控

                                                  Mysql自定义监控

需求:公司需要做mysql的数据监控,对mysql的状态,流量进行监控。

分析:zabbix自动就有Template App MySQL模版,我们只要添加mysql监控脚本就可以实现自定义监控。

配置如下:

zabbix的服务端搭建,这里不再演示,我这里的zabbixserver已经配置好的了,直接进入mysql监控构建。 

1、建立mysql host groups组

mysql模板是 zabbix系统提供的,进入 zabbix web 后台,配置-->主机群组-->点击“创建主机群组”-->选择template群组,选择模板“TemplateApp MySQL,Templdate OS Linux”,TemplateApp Zabbix Agen;TemplateApp MySQL依赖于模板TemplateApp Zabbix Agent所以也要添加。如图1、图2所示:

基于zabbix的Mysql自定义监控

                                                       图1

基于zabbix的Mysql自定义监控

                                                          图2

2、部署agent客户端,使用ansible一健安装,详细可以参考我安装过程https://blog.51cto.com/xiaozhagn/1975084

3、建立主机,添加zabbix户端主机,添加模板。

配置-->主机-->点击创建主机--> 创建zabbix客户机(我这里是node2.1)-->选择模板选项,选择模板“Template App MySQL”、“Templdate OS Linux”,“TemplateApp Zabbix Agent“,最后点击左边的“添加”按钮,最后点击“更新”完成创建。如图3、图4所示:

 

基于zabbix的Mysql自定义监控

                                                       图3

基于zabbix的Mysql自定义监控

                                                       图4

4,开启mysql性能监控。

这里可以采用zabbix自带的mysql模版,但是也需要在mysql服务器上准备获取mysql status的脚本chk_mysql.sh,zabbix通过调用这个脚本来获取mysql的运行信息。

在配置zabbix客户端文件zabbix_agentd.conf里面添加mysql监控信息:

 [root@node2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

#添加以下内容

UserParameter=mysql.version,mysql -V
UserParameter=mysql.status[*],/usr/local/zabbix/scripts/chk_mysql.sh $1      #这个是放脚本的路径
UserParameter=mysql.ping,netstat -ntpl |grep 3306 |grep mysql |wc |awk '{print $1}'


5、进入数据库添加mysql帐号,(我这里的数据库是用yum装的)

MariaDB [(none)]> GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@'127.0.0.1' IDENTIFIED BY 'xiaozhang';


6、接下来准备mysql的运行信息监控,需要准备新的mysql监控脚本chk_mysql.sh。(名称要与在zabbix客户端添加的脚本路径的名称一致)

[root@node2 scripts]# mkdir /usr/local/zabbix/scripts/

[root@node2 scripts]# cat /usr/local/zabbix/scripts/chk_mysql.sh

#!/bin/sh
# -------------------------------------------------------------------------------
# FileName:    check_mysql.sh
# Date:        2018/1/10
# Author:     xiaozhang
# Email:       847536944@qq.com
MYSQL_SOCK="/var/lib/mysql/mysql.sock"
MYSQL_USER='zabbix'
MYSQL_PWD='xiaozhang'
MYSQL_HOST='127.0.0.1'
MYSQL_PORT='3306'
ARGS=1
if [ $# -ne "$ARGS" ];then
    echo "Please input one arguement:"
fi
case $1 in
    Uptime)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"`
            echo $result
            ;;
        Com_update)
            result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3`
            echo $result
            ;;
        Slow_queries)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"`
                echo $result
                ;;
    Com_select)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3`
                echo $result
                ;;
    Com_rollback)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
                echo $result
                ;;
    Questions)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"`
                echo $result
                ;;
    Com_insert)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3`
                echo $result
                ;;
    Com_delete)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3`
                echo $result
                ;;
    Com_commit)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3`
                echo $result
                ;;
    Bytes_sent)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
                echo $result
                ;;
    Bytes_received)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
                echo $result
                ;;
    Com_begin)
        result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -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


7、添加chec_mysql脚本权限:

 [root@node2 ~]#chmod u+x /usr/local/zabbix/scripts/chk_mysql.sh
 [root@node2 ~]#chown -R zabbix.zabbix /usr/local/zabbix/scripts/chk_mysql.sh


8、重启agent,在zabbix服务器上面检查基本mysql服务器信息是否能正常获取到。

重启客户端 

[root@node2 ~]# /etc/init.d/zabbix_agentd restart

服务测试,获取mysql监控数据

[root@node1 ~]# zabbix_get -s 172.25.0.30 -p10050 -k "system.cpu.load[all,avg15]";  
0.050000 
[root@node1 ~]# zabbix_get -s 172.25.0.30 -p10050 -k mysql.status[Com_update]  
0
[root@node1 ~]#  zabbix_get -s 172.25.0.30 -p10050 -k mysql.status[Com_insert]
0


9、监控mysql性能图添加

监控脚本运行正常后,就会在zabbix-server的“监控中”的下面的“图形“里面看到mysql的监控性能视图,选择选择主机node2.1(zabbix_agent),图形选择MySQL operations可以看到性能监控视图,如图5所示:

基于zabbix的Mysql自定义监控

                                                             图5

10、zabbix自带模版默认有2个性能图,当然也可以新建其他图,只需要找到主机所在,创建图形就可以了,如图6、图7所示:

基于zabbix的Mysql自定义监控

                                                               图6

基于zabbix的Mysql自定义监控

                                                               图7

 

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于zabbix的Mysql自定义监控

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

zabbix如何自定义监控项

这篇文章主要介绍zabbix如何自定义监控项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网
2023-06-27

zabbix怎么自定义监控项

本文小编为大家详细介绍“zabbix怎么自定义监控项”,内容详细,步骤清晰,细节处理妥当,希望这篇“zabbix怎么自定义监控项”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。zabbix自定义监控项1、首先打开z
2023-07-02

zabbix如何添加监控主机和自定义监控项

这篇文章主要介绍了zabbix添加监控主机和自定义监控项的方法,添加自定义监控项此处以监控当前系统的用户个数为例子,通过脚本命令给大家详细讲解,需要的朋友可以参考下
2022-11-13

怎么实现zabbix自定义监控nginx状态

这篇文章主要介绍“怎么实现zabbix自定义监控nginx状态”,在日常操作中,相信很多人在怎么实现zabbix自定义监控nginx状态问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现zabbix自定义
2023-06-25

Zabbix自定义脚本监控nginx及微信告警的方法

这篇文章主要介绍“Zabbix自定义脚本监控nginx及微信告警的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Zabbix自定义脚本监控nginx及微信告警的方法”文章能帮助大家解决问题。项目
2023-06-30

Linux zabbix自定义监控及报警实现过程解析

目标 将命令iostat中的一项数据在zabbix前端监控中显示。 iostat命令 iostat命令被用于监视系统输入输出设备和CPU的使用情况这里取出磁盘sda的tps项,注:tps:Transactions Per Second,每秒
2022-06-03

怎么使用Docker安装Zabbix并配置自定义监控项

这篇“怎么使用Docker安装Zabbix并配置自定义监控项”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Docke
2023-06-29

基于Qt实现可拖动自定义控件

这篇文章主要为大家详细介绍了如何基于Qt实现可拖动自定义控件,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
2023-05-14

基于Android自定义控件实现雷达效果

如何制作出类似雷达扫描的效果,具体方法如下一、效果图二、实现思路 1、自定义控件RadarView用来画雷达的效果图,可以自定义属性包括 backgroundColor:背景颜色 circleNum:圆的数量 startColor:开始颜色
2023-05-30

基于Android自定义控件实现刮刮乐效果

只是简单的实现了效果,界面没怎么做优化,不过那都是次要的啦!!相信大家都迫不及待的想看效果图了吧,其中主要的彩票视图类和橡皮擦类都是通过代码的方式构建视图,布局文件就一个主activity_main上代码!!主activity:packa
2022-06-06

基于Qt怎么实现可拖动自定义控件

本篇内容介绍了“基于Qt怎么实现可拖动自定义控件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用QT实现自定义类卡牌控件Card,使其能在
2023-07-05

Spring Boot自定义监控指标的详细过程

这篇文章主要介绍了Spring Boot如何自定义监控指标 ,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-06

Telegraf和Grafana监控多平台上的SQL Server-自定义监控数据收集

问题在上一篇文章中,我们使用Telegraf自带的Plugin配置好了的监控,但是自带的Plugin并不能完全覆盖我们想要的监控指标,就需要收集额外的自定义的监控数据,实现的方法有:开发自己的Telegraf Plugin使用可以执行自定义脚本的inputs
Telegraf和Grafana监控多平台上的SQL Server-自定义监控数据收集
2014-11-04

基于自定义BufferedReader中的read和readLine方法

实例如下所示:package day0208; import java.io.FileReader;import java.io.IOException; /* * 自定义读取缓冲区,实现BufferedReader功能 * 分析: * 缓
2023-05-30

编程热搜

目录