使用Zabbix官方模板监控MySQL
关于Zabbix和MySQL安装就不在说明,请自行参考相关文档
复制官方MySQL监控的userparameter到安装目录,我这里是采用的3.4.1源码安装,安装目录在/usr/local/zabbix目录,如果你是rpm包安装请自行寻找文件和目录
cp zabbix-3.4.1/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
使用root用户登录到MySQL并授权一个专门监控使用的用户,当然也可以直接使用root,但不安全推荐使用普通用户,并且指定需要的权限即可
#登录数据库 mysql -uroot -p #下面是需要在数据库里面执行的命令,为了安装请不要指定all权限,也不要指定所有库,并且需要有一个安全的密码 grant all on *.* to "username"@"localhost" identified by "USER_PASSWORD";
编辑/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
[root@db ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf # For all the following commands HOME should be set to the directory that has .my.cnf file with password information.# Flexible parameter to grab global variables. On the frontend side, use keys like mysql.status[Com_insert]. # Key syntax is mysql.status[variable]. UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'# Flexible parameter to determine database or table size. On the frontend side, use keys like mysql.size[zabbix,history,data]. # Key syntax is mysql.size[<database>,<table>,<type>]. # Database may be a database name or "all". Default is "all". # Table may be a table name or "all". Default is "all". # Type may be "data", "index", "free" or "both". Both is a sum of data and index. Default is "both". # Database is mandatory if a table is specified. Type may be specified always. # Returns value in bytes. # 'sum' on data_length or index_length alone needed when we are getting this information for whole database instead of a single table UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive UserParameter=mysql.version,mysql -V
需要更改的地方:
如果你的zabbix不是yum安装,那么需要更改HOME后面的变量为zabbix配置文件所在目录,如:/usr/local/zabbix/etc
如果你的MySQL不是yum安装,那么需要添加MySQL的可执行文件到环境变量,或者更改为绝对路径
更改默认MySQL访问的用户名
也可以添加自定义Key
更改后的内容如下:(根据自己需求)
[root@db ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf # For all the following commands HOME should be set to the directory that has .my.cnf file with password information.# Flexible parameter to grab global variables. On the frontend side, use keys like mysql.status[Com_insert]. # Key syntax is mysql.status[variable]. UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc mysql -uzabbix -N | awk '{print $$2}'# Flexible parameter to determine database or table size. On the frontend side, use keys like mysql.size[zabbix,history,data]. # Key syntax is mysql.size[<database>,<table>,<type>]. # Database may be a database name or "all". Default is "all". # Table may be a table name or "all". Default is "all". # Type may be "data", "index", "free" or "both". Both is a sum of data and index. Default is "both". # Database is mandatory if a table is specified. Type may be specified always. # Returns value in bytes. # 'sum' on data_length or index_length alone needed when we are getting this information for whole database instead of a single table UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/usr/local/zabbix/etc mysql -uzabbix -N'UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin -uzabbix ping | grep -c aliveUserParameter=mysql.version,mysql -V#下面是自己新增的Key UserParameter=mysql.variables[*],HOME=/usr/local/zabbix/etc mysql -uzabbix -e "show variables like '$1';" | tail -n 1 | awk '{print $$2}'
在配置文件指定的HOME目录创建指定的.my.cnf配置文件,主要定义连接MySQL的信息
[root@db ~]# vim /usr/local/zabbix/etc/.my.cnf [mysql] host=localhost user=zabbix password=slf8gadffdasdPRW port=3387[mysqladmin] host=localhost user=zabbix password=slf8gadffdasdPRW port=3387
修改zabbix_agentd配置文件,最文件最后增加一行,如果是yum安装,请根据需求更改
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
重启zabbix agent
/etc/init.d/zabbix_agentd restart
在zabbix监控平台对应的主机添加自带的MySQL监控模板,最一可以就可看监控数据,如果没有数据请根据报错自行解决,大致会碰到以下一些问题
userparameter配置文件修改错误,比如:指定的用户不对,路径不对
授权数据库用户权限不对,无法获取数据
.my.cnf配置文件错误或者路径错误
zabbix_agentd配置文件没有包含userparameter_mysql.conf配置文件
监控效果图如下:
最后我们新增一个自定义的监控,因为我们有一个自定义Key,如下图所示,我们的Key为mysql.variables[variables_name],需要传一个参数,这个参数就相当于show variables like "variables_name";,用于获取指定variables的值,比如:connect_timeout
注意更改间隔,时间间隔根据自己需求更改
最后我们可以根据上一个自定义监控,写一个关于show status;的监控,都没有问题,或者更复杂的一个业务监控,关于zabbix自定义监控还需要读者查阅更多相关文档
转载于:https://blog.51cto.com/270142877/1975010
使用Zabbix官方模板监控MySQL相关推荐
- zabbix2.4 mysql模板_zabbix自带的模板监控mysql
zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求:如果有更高的需求那 ...
- ZABBIX利用自带模板监控mysql数据库
***** ZABBIX利用自带模板监控mysql数据库**** 监控效果图 增删改查 慢查询 每秒总执行次数 1. 进入主题:先搭建好zabbix服务器,并把mysql作为agent端(建议先在线下 ...
- 使用Zabbix自带MySQL模板监控MySQL
使用Zabbix自带MySQL模板监控MySQL 1. 安装zabbix agent [root@szlinux02 ~]# rpm -ivh http://repo.zabbix.com/zabbi ...
- zabbix 3.2 mysql模板_Zabbix-3.0.3使用自带模板监控MySQL
导读 Zabbix是一款优秀的,开源的,企业级监控软件,可以通过二次开发来监控你想要监控的很多服务,本文介绍使用Zabbix自带的模板监控MySQL服务. 配置userparameter_mysql. ...
- Zabbix自带模板监控MySQL服务
Zabbix的服务端与客户端的安装这里不再赘述了,前面也有相应的文章介绍过了,感兴趣的伙伴们可以看看历史文章就可以了,今天主要介绍下如何利用zabbix自带的模板来监控MySQL服务的一些状态,同时通 ...
- zabbix 自带模板监控mysql_zabbix使用自带模板监控mysql
以下乃使用zabbix自带的模板监控mysql步骤: 环境如下:CentOS release 6.5zabbix-2.2.9 mysql-5.1.73 1. 在zabbix的web访问页面中为主 ...
- zabbix的mysql模板_使用Zabbix自带MySQL模板监控MySQL
使用Zabbix自带MySQL模板监控MySQL 1. 安装zabbix agent[root@szzabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/ ...
- zabbix入门之监控MySQL
zabbix入门之监控MySQL 这里使用的是zabbix官方自带的MySQL监控模板. 首先确保在被监控主机安装zabbix-agent.zabbix-sender,并且将主机加入监控节点.具体操作 ...
- 利用Zabbix ODBC monitoring监控MySQL
利用Zabbix ODBC monitoring监控MySQL 1. 创建群组ODBC Templates 2. 创建Template SQL Server和Template MySQL 3. 在Za ...
最新文章
- opengl正方形绕点旋转_一题十五种解法够不够? 旋转,构造,四点共圆乐不停...
- AI一分钟 | 小米公布Q2财报,上市以来股价振幅高达30%;俄制造商推出步行杀手机器人...
- WinInet, WinHttp, Winsock, ws2_32的基本解释
- 如何将C#对象转换为.NET中的JSON字符串?
- 远哥Amoeba源码分析之:核心类说明
- (转载)浏览器兼容性问题大汇总
- python 谷歌地图api_《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档...
- leaflet调用mysql_PHP和MySQL以及Leaflet API
- Spring MVC学习笔记(七)
- Mybatis参数Integer类型值为0 源码处理
- css中的clip:rect() 只能在绝对定位的元素上使用
- android获取系统剪贴板内容,android系统如何如何恢复剪贴板内容
- 基于rrweb框架对web 页面录制与回放
- 利用docker制作Java程序镜像
- c++动态存储空间分配
- PostMessage,SendMessage,GetMessage,PeekMessage,TranslateMessage,DispatchMessage的用法集合
- 对前端的一些粗浅的认识
- arduino中Keypad 库函数介绍
- Synaptic Systems NeuN抗体的应用和参考文献
- 英伟达 gsync demo NVIDIA 钟摆测试