zabbix自动发现监控mysql
一、 数据库给只读权限
1.1 grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
flush privileges;
1.2 mysql -uzabbix -pzabbix -h 127.0.0.1 -e "show global status"
Com_select从mysql启动以来接收的select语句的数量,它是一直往上增的。
Threads_connected获取的是一种当前的状态
1.3 mysql -uzabbix -pzabbix -h 127.0.0.1 -e "show global status"|grep 'Threads_connected'
二、zabbix监控mysql脚本(check_mysql.sh)
#!/bin/sh
while getopts "u:p:P:k:" opt
do
case $opt in
u ) user=$OPTARG;;
p ) password=$OPTARG;;
P ) port=$OPTARG;;
k ) key=$OPTARG;;
? )
echo 'parameter is wrong!'
exit ;;
esac
done
if [ ! "${user}" ] || [ ! "${password}" ] || [ ! "${port}" ];then
echo "parameter is null"
exit
fi mysql -u ${user} -p${password} -h 127.0.0.1 -P${port} -e "show global status"|grep "${key}[[:space:]]"|awk '{print $2}'
三、zabbix自定义监控mysql的agent配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf)
UserParameter=mysql.status[*],sh /usr/local/zabbix/check_mysql.sh -u zabbix -p zabbix -P $ -k $ >/dev/null
配置完需要重启zabbix_agentd(pkill zabbix_agentd; sleep ; /usr/local/zabbix/sbin/zabbix_agentd)
四、测试下看能否获取到值
zabbix_get -s 172.16.0.3 -k mysql.status[,Com_select]
五、网页上添加监控
net.tcp.service.perf[tcp,,]
mysql.status[,Threads_connected]
mysql.status[,Com_select]
mysql.status[,Com_update]
mysql.status[,Com_insert]
mysql.status[,Com_delete]
mysql.status[,Slow_queries]
六、创建图形进行查看
七、触发器的增加
八、可设置成模板
九、补充
zabbix自动发现监控mysql思路:
为什么要自动发现?
如果mysql监听的端口不同
如果一台机器上有多台mysql 不管你mysql监听在哪个端口,也不管一台机器部署了几个mysql,我都可以把它监控起来。 : 自动发现脚本(/usr/local/zabbix/discover_mysql.py)
# -*- coding: utf- -*-
try:
import json
except:
import simplejson as json
import commands (status, output) = commands.getstatusoutput("""sudo netstat -tlnp|grep 'mysqld'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v '^1'""")
outputs = output.split('\n')
ports = []
for port in outputs:
ports += [{'{#PORT}': port}] print json.dumps({'data':ports},sort_keys=True,indent=) : zabbix discover配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf):
UserParameter=mysql.discover,python /usr/local/zabbix/discover_mysql.py : 测试:
zabbix_get -s 172.16.0.3 -k mysql.discover
{
"data": [
{
"{#PORT}": "sudo: sorry, you must have a tty to run sudo"
}
]
} : 添加sudo权限(visudo):
zabbix ALL= NOPASSWD: /bin/netstat
Defaults:zabbix !requiretty
添加完成后再测试。 : zabbix网页上添加自动发现
添加主机
添加自动发现
添加监控项原型 : 演示端口新增,去除。
zabbix自动发现监控mysql的更多相关文章
- 使用 zabbix 自动发现监控 MySQL
介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过 ...
- zabbix自动发现监控url
1.在监控客户机上 web_site_code_status.sh: #!/bin/bash UrlFile="/opt/scripts/WEB.txt" IFS=$'\n' we ...
- Zabbix自动发现监控Tomcat进程
1.编辑自动发现脚本 自动发现脚本只支持JSON格式 #!/usr/bin/env python # -*- coding:utf-8 -*- import commands import psuti ...
- zabbix自动发现监控远程端口
zabbix监控远程服务器端口,simple checks是zabbix用来监控无agent的主机 脚本和模板地址: https://github.com/mikeluwen/tcpmonitor
- zabbix 自动发现 监控 硬盘读写 disk io
直接 上配置: 1.配置文件 cat userparameter_harddisk.conf #discovery hard diskUserParameter=custom.vfs.discover ...
- zabbix自动发现功能实现批量web url监控
需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手 ...
- zabbix使用自动发现监控esxi的磁盘存储storage
zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi. ...
- 转 zabbix 自动发现和 zabbix自定义用户key与参数User parameters
########31 https://www.cnblogs.com/yjt1993/p/10883345.html 1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些 ...
- zabbix/自动发现规则
对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...
随机推荐
- guaua学习,工具专题
Preconditions 1,http://www.cnblogs.com/peida/p/Guava_Preconditions.html 1 .checkArgument(boolean) : ...
- Java 设计模式之工厂模式(二)
原文地址:Java 设计模式之工厂模式(二) 博客地址:http://www.extlight.com 一.背景 本篇内容是 Java 设计模式创建型模式的第二篇.上一篇主题为 <Java 设计 ...
- Sql Server 2012 存储过程的调试
[一]Sql Server 关于存储过程调试SQL2000是在查询分析器中的对象浏览器中选中需要调试的存储过程,右键----调试---输入参数开始调试.sqlserver2008中则完全不同,变成了必 ...
- C++11标准库中cstdio头文件新增的5个格式化I/O函数学习
刚开始学网络编程,稍微扩展书上的简单C/S程序时,发现以前太忽略标准I/O这一块,查官网发现C++11新增了几个格式化I/O函数. snprintf 将格式化输出写入到有大小限制的缓存中 vfs ...
- CSS3 教程 选择器 标记一下防止 要找时404
客 » Airen的博客 CSS3 选择器——基本选择器 作者:大漠 日期:2011-08-09 点击:6418 CSS的选择器,我想大家并不会陌生吧,因为天天在使用,但对于CSS3的选择器,要运 ...
- 561. 数组拆分 I
题目 python class Solution: def arrayPairSum(self, nums): """ :type nums: List[int] :rt ...
- php端安装rabbitmq-c
php端安装rabbitmq-c url:https://github.com/alanxz/rabbitmq-c cd rabbitmq-c**** ./configure --prefix=/us ...
- Java文件的写入
写文件与读文件类似,可以是以字节为单位写入,可以是以字符为单位写入. 对应读操作FileOutputStream是以字节为单位进行写入的: FileOutputStream fileOutputStr ...
- 数据结构与算法JavaScript描述——栈的使用
有一些问题特别适合用栈来解决.本节就介绍几个这样的例子. 1) 数制间的相互转换 可以利用栈将一个数字从一种数制转换成另一种数制.假设想将数字n 转换为以b 为基数的数字,实现转换的算法如下. 使 ...
- 方法 中 void 的解释