【MySQL】zabbix监控MySQL配置

1.在mysql数据库中创建zabbix用户 用来获取数据
GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@'%' IDENTIFIED BY 'yourpass';
2.更改zabbix配置文件
find / |grep zabbix_agentd.conf
/usr/local/etc/zabbix_agentd.conf.d
/usr/local/etc/zabbix_agentd.conf #配置文件
/usr/local/src/zabbix-3.2.3/conf/zabbix_agentd.conf   
# 添加mysql监控信息
vim /usr/local/etc/zabbix_agentd.conf
UserParameter=mysql.version,mysql -V
UserParameter=mysql.status[*],/usr/local/etc/chk_mysql.sh $1
UserParameter=mysql.ping,netstat -ntpl |grep 3306 |grep mysql |wc |awk '{print $1}'
3.在/usr/local/etc目录下创建检查脚本
vi chk_mysql.sh

#!/bin/sh
# -------------------------------------------------------------------------------
# FileName:    check_mysql.sh
# Revision:    1.0

MYSQL_SOCK="/var/lib/mysql/mysql.sock"
MYSQL_USER='zabbix'
export MYSQL_PWD=yourpass
MYSQL_HOST='192.168.6.230'
MYSQL_PORT='3306'
ARGS=1
if [ $# -ne "$ARGS" ];then
    echo "Please input one arguement:"
fi
case $1 in
    Uptime)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"`
            echo $result
            ;;
        Com_update)
            result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3`
            echo $result
            ;;
        Slow_queries)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"`
                echo $result
                ;;
    Com_select)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3`
                echo $result
                ;;
    Com_rollback)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
                echo $result
                ;;
    Questions)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"`
                echo $result
                ;;
    Com_insert)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3`
                echo $result
                ;;
    Com_delete)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3`
                echo $result
                ;;
    Com_commit)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3`
                echo $result
                ;;
    Bytes_sent)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
                echo $result
                ;;
    Bytes_received)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
                echo $result
                ;;
    Com_begin)
        result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -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

# 更改脚本权限
chmod +x chk_mysql.sh
chown  zabbix:zabbix chk_mysql.sh
4.赋予zabbix用户执行netstat的权限
chmod +s /bin/netstat
5.重启zabbix_agentd
service zabbix_agentd stop
service zabbix_agentd start
6.进入zabbix web 后台 添加Template App MySQL模板 之后再service端检查key
zabbix_get -s 192.168.6.230 -k mysql.ping
zabbix_get -s 192.168.6.230 -k mysql.status[Com_insert]

本文分享自微信公众号 - MySQL技术(MySQL_SRE)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java研发军团

JAVASE篇的入门经典书籍推荐

《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从...

35040
来自专栏信安之路

RFID 破解基础详解

在我们平时生活中有各种各样的卡,比如 ID 卡、IC 卡、RFID 卡、NFC 卡、Mifare 系列卡(可能银行卡、公交卡、饭卡、水卡、门禁卡、电梯卡.......

31130
来自专栏AVAJ

面试java后端面经_1

(建议提前准备:没准备的可以这样说:来自某学校 姓名 专业 学的啥 为啥学 自己陆陆续续开发的项目 毕业将近 找工作 在哪看到贵公司的招聘 准备了啥 大概这样)

8420
来自专栏医学生物信息学

PCR中的引物设计

Nucleotide数据库的搜索结果还是比较智能的,搜索结果前面推荐的就是我们的要的,我们做基因检测,做的PCR是定量PCR,设计引物是以基因的转录本为模板设计...

10920
来自专栏达达前端

从小程序到小程序云开发

集成于小程序控制台的原生serverless云服务 核心功能包括: 云存储,云数据库,云函数

23630
来自专栏AVAJ

java后端开发面经_数据库相关

你答:有这样一个故事,讲的是一个小男孩和一个小女孩,这个小男孩呢,用很多好玩石头,而这个小女孩呢,有好多好吃的糖果,有一天,他们相互约定:小男孩用所有的石头交互...

12040
来自专栏AVAJ

世纪龙校招java开发一、二面 面经

头一天做的笔试,涉及到计组基本知识,还有几道智力题、java部分很简单(真的很简单有点基础就划过了)

9620
来自专栏SAP ERP管理实践

厉害了,用微服务架构 ERP 系统

曾几何时,我混迹于电商、珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP)。作为一个ERP系统,系统主要功能模块无非是订单管理、商品管理、生产采购、仓...

49020
来自专栏SAP ERP管理实践

SAP 历史库存的详解

在表MBWEH中,记录历史库存,按照物料+工厂+月份记录物料特定月份在工厂下的数量和金额;

20730
来自专栏Java架构沉思录

分布式全局ID生成方案

传统的单体架构的时候,我们基本是单库然后业务单表的结构。每个业务表的ID一般我们都是从1增,通过 AUTO_INCREMENT=1设置自增起始值,但是在分布式服...

17310

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励