【zibbix自定义监控】zabbix服务自定义监控mysql的状态信息
由于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的状态信息的更多相关文章
- MySQL显示状态信息
MySQL显示状态信息 1.show status mysql> show status; +-----------------------------------+----------+ | ...
- 性能测试之监控--zabbix通过jmx监控tomcat
前提: 已经安装好了zabbix server 实验环境 Centos 7 Zabbix 3.0 Tomcat 7.0 JDK 1.8 安装JDK tar -zxvf jdk-8u181-linux- ...
- MySQL优化:使用show status查看MySQL服务器状态信息
在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...
- 使用 SHOW STATUS 查看mysql 服务器状态信息
在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL ...
- 【MySQL优化】使用show status查看MySQL服务器状态信息
在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...
- docker使用自定义镜像zabbix服务
一.关闭firewall,永久关闭,使用iptables防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firew ...
- 第一篇【Zabbix服务端的完整布署】
1.环境准备 服务器版本: [root@filestore-v2 ~]# cat /etc/redhat-release CentOS Linux release (Core) 内核版本: [root ...
- Zabbix设置自定义监控项之——监控tcp连接状态
目录 一.用户自定义参数 二.配置 监控 TCP 连接状态 在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务.TCP 连接状态等等,这时候就需要自定义监控项.自定义 ...
- Security基础(六):部署Zabbix监控平台、配置及使用Zabbix监控系统、自定义Zabbix监控项目、实现Zabbix报警功能
一.部署Zabbix监控平台 目标: 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 在监控服务器上安装LAMP环境 修改PHP配置文件,满足Zab ...
随机推荐
- 附002.Minikube介绍及使用
一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...
- RTX5的汽车级,工业级,医疗和铁路安全认证已经通过,证书已颁发
说明: 1.当前RTX5的教程已经在制作中,使用CMSIS-RTOS V2封装层,含FreeRTOS,配套V7,V6和V5板子. 2.我们各种开发板和模块的资料汇总贴,搞了个cnblogs,临时先用 ...
- jQuery-点击返回顶部
在页面上,有时需要点击某个图标钮实现返回顶部的效果. 实现方式如下,给图标按钮增加名叫goTop-hook的类. // 点击返回顶部 $(window).scroll(function() { if ...
- tensorflow convert_variables_to_constants
在使用tf.train.Saver函数保存模型文件的时候,是保存所有的参数信息,而有些时候我们并不需要所有的参数信息.我们只需要知道神经网络的输入层经过前向传播计算得到输出层即可,所以在保存的时候,我 ...
- 【朝花夕拾】Android性能篇之(八)来自官网的自白
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10823372.html],谢谢! Android性能优化无疑是Android中的一个重点,也是 ...
- SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.打包简介 springboot的打包方式有很多种.可以打war ...
- Java题库——Chapter12 异常处理和文本IO
异常处理 1)What is displayed on the console when running the following program? class Test { public stat ...
- 解决spark dataframe get 报空指针异常 java.lang.NullPointerException
Spark 编程读取hive,hbase, 文本等外部数据生成dataframe后,一般我们都会map遍历get数据的每个字段,此时如果原始数据为null时,如果不进行判断直接转化为string,就会 ...
- python小技巧 小知识
python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...
- [转载] Java 遍历 Map 的 5 种方式
目录 1 通过 keySet() 或 values() 方法遍历 2 通过 keySet 的 get(key) 获取值 3 通过 entrySet 遍历 4 通过迭代器 Iterator 遍历 5 通 ...