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的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...
随机推荐
- HDFS(三)
DataNode 下面的数据文件有两种类型,一种是数据块,一种是数据块的描述文件(元数据文件),后者文件后面带有.meta后缀: Version文件字段内容其实和NameNode里面涵义是一致的: 安 ...
- (三)、Fiddler的使用
Fiddler的基本使用 1.先来看看Fiddler的基本界面 会话列表中各项的意思: Result: 表示HTTP返回的状态码 Protocal: 请求的协议,如:HTTP.HTTPS Host: ...
- requirejs 到底有什么好处?
无论是在backbone时代,还是angularjs 时代 我都用过requirejs, 后来慢慢全都去掉了, 因为在前端开发requirejs 感觉没有带来任何实质性的好处. 从几个方面说说我的感受 ...
- erlang里面中文相关处理
在控制台输出的话 Name = "测试数据", io:format("~ts~n",[Name]). 如果是和客户端通信,假如都是utf8编码 服务器获取的时候 ...
- Java堆外内存之七:JVM NativeMemoryTracking 分析堆外内存泄露
Native Memory Tracking (NMT) 是Hotspot VM用来分析VM内部内存使用情况的一个功能.我们可以利用jcmd(jdk自带)这个工具来访问NMT的数据. NMT介绍 工欲 ...
- MySQL skills
复制 sysbench 监控 调优
- [Java]一步一步学 Web
部分内容来自:http://www.cnblogs.com/jinzhenshui/p/3345895.html Java 中的锁写作 synchronized (this) {} .net 中的锁写 ...
- 使用apache common-io 监控文件变化
package common.io; import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.common ...
- mysql server id一样导致报错
(root@localhost) 16:03:38 [(none)]> show slave status \G; Last_IO_Errno: 1593 Last_IO_Error: Fata ...
- IDA Pro 权威指南学习笔记(十) - 栈帧
栈帧(stack frame)是在程序的运行时栈中分配的内存块,用于特定的函数调用 如果一个函数没有执行则不需要内存,当函数被调用时就需要用到内存 1.传给函数的参数的值需要存储到函数能够找到它们的位 ...