【Zabbix】使用zabbix 3.4自带Mysql模板,监控Redhat 7.0上的Mysql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sayyy/article/details/84390824

前言

  • 使用zabbix监控Mysql。
  • zabbix 3.4
  • zabbix server已安装完成(yum方式安装zabbix
  • Mysql服务器操作系统(OS) :Redhat 7.0
  • 在Mysql服务器上安装zabbix agent(安装、配置agent,配置被监控端
  • zabbix 3.4自带Mysql模板。使用“zabbix 3.4自带Mysql模板”可以实现一些基础的监控。
  • “zabbix 3.4自带Mysql模板”无法满足监控需要时,需要自行进行扩展。此处只针对“zabbix 3.4自带Mysql模板”进行配置。

在Zabbix Web中,为Mysql服务器添加Mysql模板

  • Mysql服务器IP : 192.168.200.213
  • Mysql服务器 zabbix 名(在 zabbix 环境中唯一):zabbix_server213
  • 在Zabbix Web中添加Mysql服务器,参考这里
    在这里插入图片描述
  • 按上图修改完成后,Mysql模板还不能工作。还需要对Mysql服务器进行操作。

检查Zabbix对Mysql监控的支持

  • 在Mysql服务器上,找到文件:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
  • 在Zabbix server上,检查监控项是否可用

在Zabbix web中,查看有哪些监控项可用
在这里插入图片描述

  • 异常信息是:Item preprocessing step #1 failed: cannot calculate delta (speed per second) for value “ERROR 1045 (28000): Access denied for user ‘zabbix’@‘localhost’ (using password: NO)” of type “string”: cannot convert value to numeric type
    在Zabbix server上,检查监控项是否可用

在Zabbix server上,使用zabbix_get命令(重要:执行zabbix_get命令前,确保已经安装了zabbix-get。未按照可以执行yum instal zabbix-get(这里是横线)进行安装。)检查监控项是否可用。命令如下:
zabbix_get -s 192.168.200.213 -p 10050 -k "mysql.status[Com_begin]"
在这里插入图片描述

  • 参数s:Mysql服务器的IP
  • 参数p:Mysql服务器上,zabbix agent端口。默认10050。
  • 参数k:监控项的key。在zabbix web中查看。参见上图。
  • 上图显示,监控项已经在192.168.200.213(Mysql服务器)上执行。只是,执行过程发生异常。
  • ERROR 1045 (28000): Access denied for user ‘zabbix’@‘localhost’ (using password: NO) 意思是说,执行mysql命令是,没有提供密码。下面就来解决这个问题。

在Mysql服务器上,设置执行Mysql命令免密码

  • 配置监控Mysql时,只有这步与监控其它(比如:监控磁盘空间,cpu,…)不一样。
  • 本文这里选择执行mysql命令免密的方法。还有其他的方法,可自行百度。
  • 设置执行Mysql命令免密码方法很多,可自行百度。这里只介绍亲测可用的方法。
  1. 修改my.cnf
vim /etc/my.cnf
--------------------------------------------------------------------
# 添加如下内容
# [mysql]是节点,如果没有,新建一个节点;如果有,则在其后面追加
[mysql]
# [mysql]节点下的配置,只对mysql命令起作用
# 免密执行命令时,默认的用户名 
user=root
# 免密执行命令时,默认的密码
password=changeit

# [mysqladmin]是节点,如果没有,新建一个节点;如果有,则在其后面追加
[mysqladmin]
# [mysqladmin]节点下的配置,只对mysqladmin命令起作用
# 免密执行命令时,默认的用户名 
user=root
# 免密执行命令时,默认的密码
password=changeit
  1. 使用zabbix_get,检查“设置执行Mysql命令免密码”是否成功
    在Zabbix server上,使用zabbix_get命令检查。
    在这里插入图片描述
  • 返回数字,表示执行成功
  • 连续两次执行结果不一样,标识数值在变化中。依据每时每刻变化的数据,可以绘制折线图。
  • 可以更换-k参数(监控项的key),查看其它监控项是否运转正常。
  1. 在Zabbix web中,检查“设置执行Mysql命令免密码”是否成功
    在这里插入图片描述
  • 这里反应较慢,设置完成后,等几分钟后再查看。
  • 如果有部分绿了,部分没绿,可以再等等。

在Zabbix Web中,体验Mysql实时监控图

在这里插入图片描述

至此,监控Mysql设置完成了。

题外:扩展对Mysql的监控

  • 当zabbix的Mysql模板提供的监控项,无法满足需求时,考虑进行扩展。
  • 扩展对Mysql的监控时,多少涉及到了开发。选择的开发方式不同,复杂度和技能要求也就不同。
  • 扩展对Mysql的监控时的大体思路:zabbix server要先获取监控项数据,再根据监控项数据定制预警或图表。
  • zabbix server获取监控项数据,方法1:通过监控脚本扩展。编写可以获取监控项的脚本,放到zabbix agent中执行。此种,要熟悉linux shell即可。
  • zabbix server获取监控项数据,方法2:根据zabbix api进行编程开发。先获取监控项数据,再将监控项数据发给zabbix server。此种,要熟悉一种编程语言的开发。zabbix api libraries支持:Python、Ruby、Crystal、Perl、Java、PHP、PowerShell、JavaScript、C#、Go、Rust、R、Online web

猜你喜欢

转载自blog.csdn.net/sayyy/article/details/84390824