zabbix 监控mysql

本文假设已经安装了 zabbix-server,zabbix-agent,mysql

1. 在mysql所在服务器,进入目录: 

cd /etc/zabbix

2. 新建 .my.cnf 文件

# 该文件是隐藏的
touch .my.cnf

3. 在.my.cnf文件中输入一下内容,并保存

[client]
# zabbix 登录 mysql 用户名
user=zabbix
# mysql服务器地址
host=127.0.0.1
# mysql密码
password=123456

4. 进入目录: 

cd  /etc/zabbix/zabbix_agentd.d

5. zabbix_agentd.d 目录中已经存在提供的mysql性能监控模板,因此我们只需要修改相关参数

   

#编辑mysql监控模板
vi 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].

#请注意mysql所在的安装目录  (比如: /data/mysql/bin/mysql ) 
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/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 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

#请注意mysql所在的安装目录 (比如: /data/mysql/bin/mysql ) 
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=/etc/zabbix mysql -N'


#请注意mysqladmin所在的安装目录(比如: /data/mysql/bin/mysqladmin ) 
UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V 
  

注意: 上面命令中的:mysql  myadmin 如果没有配置全局变量的话,需要添加mysql所在目录


#注意,mysqladmin 所在的安装目录
UserParameter=mysql.ping,HOME=/etc/zabbix  /data/mysql/bin/mysqladmin ping | grep -c alive

 

6.  agent端【mysql服务器】测试数据库是否连接成功    

#请注意mysqladmin所在目录,如果设置了mysql的全局变量,那么不用加目录
HOME=/etc/zabbix/ /data/mysql/bin/mysqladmin ping | grep -c alive

  

zabbix 监控mysql_第1张图片

 

7. 服务端测试 agent是否畅通

#请填写mysql所在服务器的地址,以及agent代理的端口,默认一般都是10050
zabbix_get -s127.0.0.1 -p 10050 -k mysql.ping

 

请求成功示例

 

8. zabbix_get 安装:

yum list all |grep zabbix

 

zabbix 监控mysql_第2张图片

 

yum install zabbix-get.x86_64

 

9. 在zabbix添加mysql监控

zabbix 监控mysql_第3张图片

 

zabbix 监控mysql_第4张图片

 

注意:以上“mysql监控” 字段 是我自己写的别名,实际名字为:

zabbix 监控mysql_第5张图片

 

10.  现在可以查看mysql监控数据了

 

zabbix 监控mysql_第6张图片

 

11. 如果zabbix-agent 在mysql服务器已经启动,那么修改完配置后,记得重新启动zabbix-agent

service zabbix-agent restart

 

你可能感兴趣的:(mysql,zabbix)