关于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

需要更改的地方:

  1. 如果你的zabbix不是yum安装,那么需要更改HOME后面的变量为zabbix配置文件所在目录,如:/usr/local/zabbix/etc

  2. 如果你的MySQL不是yum安装,那么需要添加MySQL的可执行文件到环境变量,或者更改为绝对路径

  3. 更改默认MySQL访问的用户名

  4. 也可以添加自定义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监控模板,最一可以就可看监控数据,如果没有数据请根据报错自行解决,大致会碰到以下一些问题

  1. userparameter配置文件修改错误,比如:指定的用户不对,路径不对

  2. 授权数据库用户权限不对,无法获取数据

  3. .my.cnf配置文件错误或者路径错误

  4. 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相关推荐

  1. zabbix2.4 mysql模板_zabbix自带的模板监控mysql

    zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求:如果有更高的需求那 ...

  2. ZABBIX利用自带模板监控mysql数据库

    ***** ZABBIX利用自带模板监控mysql数据库**** 监控效果图 增删改查 慢查询 每秒总执行次数 1. 进入主题:先搭建好zabbix服务器,并把mysql作为agent端(建议先在线下 ...

  3. 使用Zabbix自带MySQL模板监控MySQL

    使用Zabbix自带MySQL模板监控MySQL 1. 安装zabbix agent [root@szlinux02 ~]# rpm -ivh http://repo.zabbix.com/zabbi ...

  4. zabbix 3.2 mysql模板_Zabbix-3.0.3使用自带模板监控MySQL

    导读 Zabbix是一款优秀的,开源的,企业级监控软件,可以通过二次开发来监控你想要监控的很多服务,本文介绍使用Zabbix自带的模板监控MySQL服务. 配置userparameter_mysql. ...

  5. Zabbix自带模板监控MySQL服务

    Zabbix的服务端与客户端的安装这里不再赘述了,前面也有相应的文章介绍过了,感兴趣的伙伴们可以看看历史文章就可以了,今天主要介绍下如何利用zabbix自带的模板来监控MySQL服务的一些状态,同时通 ...

  6. zabbix 自带模板监控mysql_zabbix使用自带模板监控mysql

    以下乃使用zabbix自带的模板监控mysql步骤: 环境如下:CentOS release 6.5zabbix-2.2.9   mysql-5.1.73 1.  在zabbix的web访问页面中为主 ...

  7. zabbix的mysql模板_使用Zabbix自带MySQL模板监控MySQL

    使用Zabbix自带MySQL模板监控MySQL 1. 安装zabbix agent[root@szzabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/ ...

  8. zabbix入门之监控MySQL

    zabbix入门之监控MySQL 这里使用的是zabbix官方自带的MySQL监控模板. 首先确保在被监控主机安装zabbix-agent.zabbix-sender,并且将主机加入监控节点.具体操作 ...

  9. 利用Zabbix ODBC monitoring监控MySQL

    利用Zabbix ODBC monitoring监控MySQL 1. 创建群组ODBC Templates 2. 创建Template SQL Server和Template MySQL 3. 在Za ...

最新文章

  1. opengl正方形绕点旋转_一题十五种解法够不够? 旋转,构造,四点共圆乐不停...
  2. AI一分钟 | 小米公布Q2财报,上市以来股价振幅高达30%;俄制造商推出步行杀手机器人...
  3. WinInet, WinHttp, Winsock, ws2_32的基本解释
  4. 如何将C#对象转换为.NET中的JSON字符串?
  5. 远哥Amoeba源码分析之:核心类说明
  6. (转载)浏览器兼容性问题大汇总
  7. python 谷歌地图api_《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档...
  8. leaflet调用mysql_PHP和MySQL以及Leaflet API
  9. Spring MVC学习笔记(七)
  10. Mybatis参数Integer类型值为0 源码处理
  11. css中的clip:rect() 只能在绝对定位的元素上使用
  12. android获取系统剪贴板内容,android系统如何如何恢复剪贴板内容
  13. 基于rrweb框架对web 页面录制与回放
  14. 利用docker制作Java程序镜像
  15. c++动态存储空间分配
  16. PostMessage,SendMessage,GetMessage,PeekMessage,TranslateMessage,DispatchMessage的用法集合
  17. 对前端的一些粗浅的认识
  18. arduino中Keypad 库函数介绍
  19. Synaptic Systems NeuN抗体的应用和参考文献
  20. 英伟达 gsync demo NVIDIA 钟摆测试

热门文章

  1. tinymce4.x 上传本地图片(自己写个插件)
  2. 常用oracle数据库函数总结
  3. Html报表用Excel打开保持表格线【Html报表模板】
  4. 更改chrome底色为护目色
  5. 如何在命令行下更改ip地址
  6. b2c开发模式的数据库设计
  7. (转) Weblogic 12c 集群部署和session复制
  8. MySQL 5.1 分区技术初探(一)
  9. iOS开源项目周报0420
  10. 【干货分享】流程DEMO-人员调动流程