由于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. 阻止保存要求重新创建表的更改-只需设置SQLServer的一个设置

  2. 字符串 string方法

    字符串 name = 'ab c dd' i = name.find('a', 1, 3) # 找到返回对应下标 找不到返回-1 print(i) j = name.rfind('d') # 寻找对应 ...

  3. Python语法速查: 13. 操作系统服务

    返回目录 本篇索引 (1)sys模块 (2)os模块 (3)与Windows相关模块 (4)subprocess模块 (5)signal模块 (1)sys模块 sys模块用于Python解释器及其环境 ...

  4. 误区以为父组件render一次,子组件会重新初始化

    初学react的时候我有一个误区,以为父组件render的一次,会将子组件先卸载,再将子组件重新初始化,事实证明不是. 这是对react生命周期函数不太清楚. 父子组件都初始化后,父组件再render ...

  5. python实现fibonacci数列的三种方法

    第一种:递归法 def fibo(n): if n < 3: return 1 return fibo(n-1) + fibo(n-2) print(fibo(6)) 第二种:循环 def fi ...

  6. ccf-csp201809题解

    目录 ccf-csp201809题解 1. 201809-1 卖菜 题目描述 解析 通过代码 2. 201809-2 买菜 题目描述 解析 通过代码 3.201809-3 元素选择器 题目描述 解析 ...

  7. 线程池API总结

    1.Executor:线程池顶级接口,只有一个方法 2.ExecutorService:真正的线程池接口 1) void execute(Runnable command) :执行任务/命令,没有返回 ...

  8. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值3

    5  边框属性 边框属性用于设置一个元素的边框风格.边框宽度.边框颜色,可以一起设置4条边的边框,也可对上边框.右边框.下边框和左边框单独设置.分别介绍如下. a.边框风格属性 可以通过边框风格属性b ...

  9. PHP 核心特性 - 错误处理

    错误与异常 错误,可以理解程序本身的错误,例如语法错误.而异常则更偏向于程序运行不符合预期或者不符合正常流程:对于 PHP 语言而言,处理错误和处理异常使用的机制完全不同,因此很容易让人产生困惑. 例 ...

  10. asp.net MVC通用权限管理系统-响应式布局-源码

    一.Angel工作室简单通用权限系统简介 AngelRM(Asp.net MVC Web api)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术 ...