一、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/
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