一、 数据库给只读权限

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的更多相关文章

  1. 使用 zabbix 自动发现监控 MySQL

    介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过 ...

  2. zabbix自动发现监控url

    1.在监控客户机上 web_site_code_status.sh: #!/bin/bash UrlFile="/opt/scripts/WEB.txt" IFS=$'\n' we ...

  3. Zabbix自动发现监控Tomcat进程

    1.编辑自动发现脚本 自动发现脚本只支持JSON格式 #!/usr/bin/env python # -*- coding:utf-8 -*- import commands import psuti ...

  4. zabbix自动发现监控远程端口

    zabbix监控远程服务器端口,simple checks是zabbix用来监控无agent的主机 脚本和模板地址: https://github.com/mikeluwen/tcpmonitor

  5. zabbix 自动发现 监控 硬盘读写 disk io

    直接 上配置: 1.配置文件 cat userparameter_harddisk.conf #discovery hard diskUserParameter=custom.vfs.discover ...

  6. zabbix自动发现功能实现批量web url监控

    需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手 ...

  7. zabbix使用自动发现监控esxi的磁盘存储storage

    zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi. ...

  8. 转 zabbix 自动发现和 zabbix自定义用户key与参数User parameters

    ########31 https://www.cnblogs.com/yjt1993/p/10883345.html 1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些 ...

  9. zabbix/自动发现规则

      对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...

随机推荐

  1. gitlab安装、配置与阿里云产品集成

    https://www.ilanni.com/?p=12819 一.gitlab安装与部署 gitlab的安装可以分为源码安装和通过安装包进行安装,要是按照我以前的写作习惯的话,我也会把源码安装在本文 ...

  2. 关于vim搜索/替换功能的两条配置

    之前是直接照着这篇的配置的强大的vim配置文件 自己也只是对vim新建文件修改文件的哪个函数SetTitle()做了点修改,毕竟用vim只写C/C++和python.shell. 没想到今天在用vim ...

  3. Android 语音处理

    开源的sip android 项目 https://code.google.com/p/csipsimple/

  4. html5 模块

    1.<header> 网站头部标签2.<nav> 导航标签3.<article> 内容标签4.<section> 文章标签5.<aside> ...

  5. java代码-----indexOf()方法--从字符串的某个字符的第一次出现的位子开始

    总结:方法是indedOf()方法.this  is my sister   //indexOf()方法是indexOf('m')==7 .那么就是字符m第一次出现的位置是顺数第7个,就会正常显示‘t ...

  6. 对于Oracle中Number类型的字段映射成Java中的具体类型的问题

    我在Oracle中给一个用户Id字段设置为Number类型,使用JDBC在完成ORM的时候,以为其可以自动转换为Integer,因为我的POJO类id使用的就是Integer.但事实是,我在测试的时候 ...

  7. B2B,ERP,SCM

    B2B: B2B电子商务平台是指一个市场的领域的一种,是企业对企业之间的营销关系.电子商务是现代B2B marketing的一种具体主要的表现形式.网商通过它将企业内部网,通过B2B网站与客户紧密结合 ...

  8. VRF实例说明

    Virtual Routing Forwarding       VPN路由转发表,也称VPN-instance(VPN实例),是PE为直接相连的site建立并维护的一个专门实体,每个site在PE上 ...

  9. Linux基础综合练习

    Linux基本操作综合练习 1.建立用户zhangsan,密码使用明文123456: 命令:useradd -p 123456 zhangsan 解释: 参数 -p 添加明文密码 useradd添加用 ...

  10. Arduino学习笔记A6(补充) - 在串口读取多个字符串,并且转换为数字数组

    功能如题目. 在串口收到逗号分割的6串数字比如 100,200,45,4,87,99 然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值 代码注释很详细了,就不再说明了. ARD ...