mysql bandwidth_使用zabbix监控mysql的三种方式

3.启用自定义脚本的模板监控

zabbix中默认有mysql的监控模板。默认已经在zabbix2.2及以上的版本中。模板名称:Template App MySQL。

如果没有则要去zabbix官方下载 url:https://zabbix.org/mw/images/d/d4/Template_App_MySQL-2.2.0.xml,然后在Zabbix服务器的前端Web界面的组态->模板页面中选择汇入,在新的页面中导入下载的模板文件。

#模拟环境

mysql1 172.16.160.161 #zabbix server

mysql2 172.16.160.162 #zabbix agent

#mysql配置-在zabbix agent上操作

##添加帐户登录信息等,

执行mysql mysqladmin脚本命令时不需要帐户密码,也不再提示警告

$ cat /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

validate_password = off

innodb_file_per_table = 1

character_set_server=utf8

init_connect='SET NAMES utf8'

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql] #添加以下内容

user = mysqlcheck

password = mysqlchechk

[client]

user = mysqlcheck

password = mysqlchechk

[mysqladmin]

user = mysqlcheck

password = mysqlchechk

##添加帐户密码

mysql> GRANT USAGE ON *.* TO 'mysqlcheck'@'localhost' IDENTIFIED BY 'mysqlcheck';

mysql> FLUSH PRIVILEGES;

#zabbix配置-在zabbix agent上操作

##安装zabbix_agent并修改配置文件

$ rpm -Uv http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.6-1.el7.x86_64.rpm

$ yum install -y zabbix-agent

$ cat /etc/zabbix/zabbix_agentd.conf |grep -v ^# |grep -v ^$

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=172.16.160.161 #指向zabbix服务器

ListenPort=10050

ListenIP=0.0.0.0

ServerActive=172.16.160.161 #指向zabbix服务器

Hostname=mysql2 #zabbix服务器上配置主机的时候要用的名称

Include=/etc/zabbix/zabbix_agentd.d/*.conf #这一行是指向模板文件的

$

##添加用来关联mysql的配置文件.my.cnf,

执行mysql mysqladmin脚本命令时不需要帐户密码,也不再提示警告

mysql.sock文件通过find / -name mysql.sock找出路径

$ cat /etc/zabbix/.my.cnf

[mysql]

host = localhost

user = mysqlcheck

password = mysqlcheck

socket = /var/lib/mysql/mysql.sock

[mysqladmin]

host = localhost

user = mysqlcheck

password = mysqlchechk

socket = /var/lib/mysql/mysql.sock

##修改zabbix模板配置文件中的mysql路径

这个文件用于制定Zabbix Agent如何获取MySQL数据

我们需要将所有的/var/lib/zabbix修改为当前.my.cnf文件的路径/etc/zabbix。

$ sed -i 's@/var/lib/zabbix@/etc/zabbix@g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

$ cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf |grep -v ^#|grep -v ^$

UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix mysql -N | awk '{print $$2}'

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'

UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive

UserParameter=mysql.version,mysql -V

##设置完 成之后保存并重启Zabbix Agent

$ systemctl restart zabbix-agent.service

##测试不用帐户密码就可以执行mysqladmin命令

$ mysqladmin ping | grep -c alive

1

#zabbix页面配置-在zabbix server上操作

##创建主机

Configuration—Hosts—创建主机

主机名称,群组选择,agent的IP地址和端口,然后点更新

##使用模板

Configuration—Hosts—主机名称—Tempaltes,搜索MySQL,添加弹出的模板Template App MySQL,然后点更新

注意:选完模板后,要点下添加按钮才行。

##查看监控效果

Monitoring—Graphs,选择组,然后选择host及展示的图形

这时候图形里会多出mysql bandwidth和mysql operations,而且有输出信息

#总结说明

说明一下,安装zabbix_agent后,已经可以监控mysql服务器的性能参数,

不过如果还需要进一步监控做些简单的监控,这时候就要用zabbix自带的模板;

然而如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求;如果有更高的需求那需要自己写脚本,或者使用fromdual插件等。

参考:http://www.fromdual.com/mpm-installation-guide

zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求。

幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据。

##启用

$ vi /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1

$ cat /etc/zabbix/zabbix_agentd.conf |grep -v ^# |grep -v ^$

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=172.16.160.161 #指向zabbix服务器

ListenPort=10050

ListenIP=0.0.0.0

ServerActive=172.16.160.161

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值