zabbix是如何实现监控MySQL

  

一、linux环境下监控MySQL

监控项目:

Com_update:,,mysql执行的更新个数

Com_select:,,mysql执行的查询个数

Com_insert:,,mysql执行插入的个数

Com_delete:,,执行删除的个数

Com_rollback:,执行回滚的操作个数

Bytes_received:,接受的字节数

Bytes_sent:,,发送的字节数

Slow_queries:,慢查询语句的个数

Com_commit:,,确认的事物个数

Com_begin:,,,开始的事物个数

正常运行时间:,,,,云服务器已启动的秒数

问题:,,,客户端发送到服务器的语句个数

监控模板下载地址:http://www.zabbix.org/wiki/Zabbix_Templates External_template_resources

脚本下载地址:https://github.com/itnihao/zabbix-book


1)创建zabbix链接MySQL的用户名:密码并授予权限。

mysql>, grant  all 提醒*。*,用zabbix@& # 39; localhost # 39;   identified  by “123456”;   mysql>, flush 特权;

在zabbix_agent服务目录下创建.my.cnf连接文件

cd /usr/地方/zabbix/etc/vim  .my.cnf   (客户端)   用户=zabbix   密码=123456

注意:
如果在数据库格兰特授权时,针对的是localhost,这个.my.cnf里面就不用加主机参数了【如上配置】
但如果格兰特授权时针对的是本机的ip(如192.168.1.25),那么在.my.cnf文件里就要加上主机参数进行指定:

配置MySQL的关键文件

这个可以从zabbix安装时的解压包里拷贝过来:

cp /usr/local/src/zabbix3.0.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/地方/zabbix/etc/zabbix_agentd.conf。d/

 zabbix是如何实现监控MySQL

4)替换zabbix安装路径,注意如果MySQL没配置好环境变量可能找不到MySQL命令,可以用MySQL全路径

看到类似,回家=/var/lib/zabbix 的路径设置,把路径全都替换为,/usr/地方/zabbix/etc/,也就是上面的.my.cnf文件所在的目录路径。

cd /usr/地方/zabbix/etc/zabbix_agentd.conf.d/vim  userparameter_mysql.conf   #,For  all 从而following  commands  HOME  should  be  set 用,directory  that  has  .my.cnf  file  with  password 信息。   #,Flexible  parameter 用grab  global 变量只提醒,frontend ,, use  keys  like  mysql.status [Com_insert]。   #,Key  syntax  is  mysql.status(变量)。   UserParameter=mysql.status [*], echo “show  global  status  where  Variable_name=& # 39; 1美元& # 39;;“,|,回家=/usr/地方/zabbix/etc/, mysql  -N  |, awk  & # 39; {print  $ $ 2} & # 39;   #,Flexible  parameter 用determine  database 或是table 大小只提醒,frontend ,, use  keys  like  mysql.size zabbix、历史数据。   #,Key  syntax  is  mysql.size [& lt; database> & lt; table> & lt; type>]。   #,Database  may  be  a  Database  name 或是“all"只Default  is “all"。   #,Table  may  be  a  Table  name 或是“all"只Default  is “all"。   #,Type  may  be “data",,“index",,“free",趁机“both"只Both  is  a  sum  of  data 以及指数只Default  is “both"。   #,Database  is  mandatory  if  a  table  is 指定只Type  may  be  specified 总是。   #,Returns  value 字节拷贝。   #,& # 39;和# 39;,提醒data_length 或是index_length  alone  needed  when 断开连接,我方表示歉意getting 却;能够方式、for  whole  database  instead  of  a  single 表   UserParameter=mysql.size [*], bash  -c  & # 39; echo “select 金额(美元(case “3美元“,拷贝两|““),echo “data_length + index_length";;,数据|索引),echo “_length" 3美元;;;,免费),echo “data_free";;, esac)),得到information_schema.tables $(((,“1美元,,=,“all", | |, !,“1美元“,]],| |,echo “, where  table_schema=\“1美元\““)$(((,““2美元,=,“all", | |, !,““2美元,]],| |,echo “以及table_name=\“\“2美元“);“,|,回家=/usr/地方/zabbix/etc/, mysql  - n # 39;   UserParameter=mysql.ping回家=/usr/地方/zabbix/etc/, mysqladmin  ping  |, grep  -c 活着   UserParameter=mysql.version mysql  - v      % s #/var/lib/zabbix #/usr/地方/zabbix/etc/#,,,,,, #用命令替换

zabbix是如何实现监控MySQL