由于mysql我安装在zabbix_server服务的主机上,所以下面操作在zabbix服务主机上进行,注意服务主机已经安装了监控服务

实现步骤:

1、修改 zabbix_agentd.conf,添加zabbix_agent 配置目录。 将以下行的注释去掉

[root@VM_0_10_centos alertscripts]# vi /usr/local/etc/zabbix_agentd.conf
# 加载配置文件目录
Include=/usr/local/etc/zabbix_agentd.conf.d/

PS:将此行注释去掉后,zabbix_agentd启动后会自动扫描/usr/local/etc/zabbix_agentd.conf.d/目录下所有的文件,并加载。

2、编写监控脚本/usr/local/share/zabbix/alertscripts/get_mysql_status.sh,脚本如下(脚本存放目录可以自定义):

# 修改zabbix服务的配置文件
[root@VM_0_10_centos alertscripts]# vi /usr/local/etc/zabbix_server.conf
# 告警脚本路径
AlertScriptsPath=/usr/local/share/zabbix/alertscripts
# 外部脚本路径
ExternalScripts=/usr/local/share/zabbix/externalscripts
# vi /usr/local/share/zabbix/alertscripts/get_mysql_status.sh
#!/bin/sh
case $3 in
uptime)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $2}'
;;
threads)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $4}'
;;
question)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $6}'
;;
sq)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $9}'
;;
open)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $11}'
;;
ftable)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $14}'
;;
opent)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $17}'
;;
qps)
mysqladmin -u$1 -p$2 status 2>/dev/null | awk -F '[:| ]'+ '{print $22}'
;;
*)
esac
# 赋予用户执行权限
# chmod 755 get_mysql_status.sh
# chown zabbix.zabbix get_mysql_status.sh

脚本说明:脚本需要输入三个参数分别是:mysql用户、mysql用户密码、mysql状态各项指标如下: uptime:运行时长单位s、 threads:开启的会话数、 question(questions):服务器启动以来客户的问题(查询)数目 sq(Slow queries): 慢查询数量 open(opens):服务器已经打开的数据库表的数量 ftable(Flush tables):服务器已经执行的flush ...、refresh和reload命令的数量 opent(open tables):通过命令是用的数据库的表的数量,以服务器启动开始 qps(Queries per second avg):select语句平均查询时间

3、在/usr/local/etc/zabbix_agentd.conf.d目录下添加监控项配置文件get_mysql_status,内容如下:

[root@VM_0_10_centos alertscripts]# cd /usr/local/etc/zabbix_agentd.conf.d/
[root@VM_0_10_centos zabbix_agentd.conf.d]# ls
[root@VM_0_10_centos zabbix_agentd.conf.d]# vi get_mysql_status UserParameter=get_mysql_status,/usr/local/share/zabbix/alertscripts/get_mysql_status.sh $1 $2 $3

4、重启zabbix_agent和zabbix_server,使用zabbix_get测试,如下:

# 先将进程kill
[root@VM_0_10_centos zabbix_agentd.conf.d]# killall -9 zabbix_server
[root@VM_0_10_centos zabbix_agentd.conf.d]# killall -9 zabbix_agentd
# 重启
[root@VM_0_10_centos zabbix_agentd.conf.d]# zabbix_server
[root@VM_0_10_centos zabbix_agentd.conf.d]# zabbix_agentd # 测试
[root@VM_0_10_centos zabbix_agentd.conf.d]# zabbix_get -s 监控主机 -k get_mysql_status[用户名,密码,open]
714

5、web端添加监控项: 在主机上添加监控项:

PS:添加item项之后就可以看到监控项

6、添加图形

查看图形预览:

【zibbix自定义监控】zabbix服务自定义监控mysql的状态信息的更多相关文章

  1. MySQL显示状态信息

    MySQL显示状态信息 1.show status mysql> show status; +-----------------------------------+----------+ | ...

  2. 性能测试之监控--zabbix通过jmx监控tomcat

    前提: 已经安装好了zabbix server 实验环境 Centos 7 Zabbix 3.0 Tomcat 7.0 JDK 1.8 安装JDK tar -zxvf jdk-8u181-linux- ...

  3. MySQL优化:使用show status查看MySQL服务器状态信息

    在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...

  4. 使用 SHOW STATUS 查看mysql 服务器状态信息

    在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL ...

  5. 【MySQL优化】使用show status查看MySQL服务器状态信息

    在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...

  6. docker使用自定义镜像zabbix服务

    一.关闭firewall,永久关闭,使用iptables防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firew ...

  7. 第一篇【Zabbix服务端的完整布署】

    1.环境准备 服务器版本: [root@filestore-v2 ~]# cat /etc/redhat-release CentOS Linux release (Core) 内核版本: [root ...

  8. Zabbix设置自定义监控项之——监控tcp连接状态

    目录 一.用户自定义参数 二.配置 监控 TCP 连接状态 在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务.TCP 连接状态等等,这时候就需要自定义监控项.自定义 ...

  9. Security基础(六):部署Zabbix监控平台、配置及使用Zabbix监控系统、自定义Zabbix监控项目、实现Zabbix报警功能

    一.部署Zabbix监控平台 目标: 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 在监控服务器上安装LAMP环境    修改PHP配置文件,满足Zab ...

随机推荐

  1. OGG For Oracle To PostgreSQL

    本文档描述OGG(Oracle goldengate)为Oracle同步到PostgreSQL数据库配置.在目前去“IOE”潮流.PostgreSQL确实是Oracle最好的替代品之一. 实验环境如下 ...

  2. Cocos2d-x.3.0开发环境搭建

    配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...

  3. December 07th, Week 49th Saturday, 2019

    Snowflakes are pretty patterns etched in water's dreams. 雪花,是水在梦中镌刻的美丽图案. From Anthony T.Hincks. Tod ...

  4. 洛谷 UVA10226 Hardwood Species

    洛谷 UVA10226 Hardwood Species 洛谷评测传送门 题目描述 PDF 输入格式 输出格式 输入输出样例 输入 #1复制 输出 #1复制 题目翻译: 给定若干字符串,输出格式为:( ...

  5. java之程序流程控制

    顺序结构:代码由上至下依次执行: 分支结构: if () { } else{ } if () { } else if () { } else { } switch(常量){ case 常量: 语句; ...

  6. Java 后台请求第三方系统接口详解

    //调用第三方系统接口 PrintWriter out = null; BufferedReader in = null; JSONObject jsonObject = null; Closeabl ...

  7. ETCD:基于角色的访问控制

    原文地址:Role-based access control 总览 身份验证已添加到etcd 2.1中. etcd v3 API略微修改了身份验证功能的API和用户界面,以更好地适应新的数据模型.本指 ...

  8. python文件夹遍历,文件操作,获取文件修改创建时间

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  9. vue-svgicon基本使用

    在项目开发中,经常会用到svg图标,之前用的都是vue-svg-icon,最近在npm中搜索svg图标解析插件,发现vue-svgicon用的相对较多,对比以下,vue-svgicon用法较为灵活,方 ...

  10. ES6-Symbol的用法 ,symbol在对象中的应用,改变值

    ES6-Symbol的用法,,symbol在对象中的应用,改变值 let a = new String; let b = new Number; let c = new Boolean; let d ...