基于rhel7.2的Zabbix平台搭建和部署(四)
一、实现zabbix添加监测项,添加对Linux主机的监控、
说明:先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.
(1)登录zabbix,先在“配置”-“主机”里单击”创建主机”:
<a href="https://s3.51cto.com/wyfs02/M01/97/FA/wKiom1k2DYaC4JMTAAEiCzoKajQ149.jpg" target="_blank"></a>
(2)在“主机”标签,填写相关信息
<a href="https://s5.51cto.com/wyfs02/M00/97/FB/wKioL1k2Dcyi6hzeAAFyj30Hz78517.jpg" target="_blank"></a>
注:这个主机名字必须和hostname的一模一样,这里用的ip就是被监控主机的ip。
<a href="https://s4.51cto.com/wyfs02/M02/97/FA/wKiom1k2Dc2BAxE_AACstxzVbyY388.jpg" target="_blank"></a>
其它选项默认即可。
(3)在“模板”标签,填写相关信息
<a href="https://s5.51cto.com/wyfs02/M02/97/FA/wKiom1k2Dyqh2_OjAADoXoHHwlI123.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/97/FA/wKiom1k2Dyyjz67XAAK2pGfa3ds038.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/97/FD/wKioL1k2GO6ioTElAADQKvuX_vg978.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/97/FC/wKiom1k2GPDR6sa4AADb0GhFBPg561.jpg" target="_blank"></a>
至此,Zabbix监控Linux主机设置完成,如下图所示:
<a href="https://s4.51cto.com/wyfs02/M01/97/FD/wKioL1k2GTSyyxx6AAF_SilBRLQ902.jpg" target="_blank"></a>
(4)过一段时间后,可以来观察监控图效果出来了没有
二、添加对Linux主机的mysql的监控
说明:zabbix3.0 server已自带mysql的模板了,只需配置好agent客户端,然后在web端给主机增加模板就行了。
第一步:首先在客户端的mysql里添加权限,即本机使用zabbix账号连接本地的mysql(在zabbix_agent客户端上操作)
[root@mysql ~]# mysql -uroot -p123456
mysql> grant all on *.* to zabbix@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.08 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
<a href="https://s3.51cto.com/wyfs02/M02/98/44/wKiom1k5QESB6iHmAABhdf0wlT4078.png" target="_blank"></a>
第二步:在zabbix_agent服务目录下创建.my.cnf 连接文件(注意有个“.”)
说明:zabbix安装目录是/usr/local/zabbix
[root@mysql ~]# cd /usr/local/zabbix/etc/
[root@mysql etc]# vim .my.cnf
<a href="https://s5.51cto.com/wyfs02/M01/98/44/wKiom1k5Q3bC1JZyAAC09cbXsQM919.jpg" target="_blank"></a>
注意:
⑴如果在数据库grant授权时,针对的是localhost,这个.my.cnf里面就不用加host参数了【就如上面的配置】
⑵如果grant授权时针对的是本机的ip(如192.168.1.9),那么在.my.cnf文件里就要加上host参数进行指定了
即在.my.cnf文件就要加上:
host=192.168.1.9
socket=/usr/local/mysql/mysql.sock
user=zabbix
password=123456
第三步:配置mysql的key文件
说明:这个可以从zabbix3.2安装时的解压包里拷贝过来
从zabbix_server服务端安装时解压目录/usr/src/zabbix-3.2.3/conf/zabbix_agentd/userparameter_mysql.conf 拷贝到zabbix_agent客户端上的/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 目录下。
[root@mysql ~]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@mysql zabbix_agentd.conf.d]# cp /usr/src/zabbix-3.2.3/conf/zabbix_agentd/userparameter_mysql.conf ./
[root@mysql zabbix_agentd.conf.d]# ls
userparameter_mysql.conf
第四步:查看 userparameter_mysql.conf 文件,看到类似HOME=/var/lib/zabbix 的路径设置,把路径全都替换为/usr/local/zabbix/etc/,也就是上面的.my.cnf文件所在的目录路径。
另外,注意userparameter_mysql.conf 文件里的mysql命令路径(提前做好mysql的系统环境变量,以防mysql命令不被系统识别)。
<a href="https://s3.51cto.com/wyfs02/M02/98/45/wKioL1k5R4bi9pn7AACSyxnr26w980.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/98/44/wKiom1k5R4eQYURWAAB5ILGo75U306.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M00/98/45/wKioL1k5R4jQ4E9ZAAE8xErG1iA712.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/98/44/wKiom1k5R4my0c2LAABwUUsd3UE579.jpg" target="_blank"></a>
第五步:重启zabbix_agent服务
[root@mysql ~]# systemctl stop zabbix_agentd
[root@mysql ~]# netstat -lnp |grep zabbix_agentd
[root@mysql ~]# systemctl start zabbix_agentd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3295/zabbix_agentd
<a href="https://s4.51cto.com/wyfs02/M02/98/45/wKiom1k5SE3DjdWtAAAsRSsATPE582.png" target="_blank"></a>
第六步:接着在zabbix_server服务端进行命令行测试
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k "mysql.status[Uptime]"
sh: mysql: command not found
<a href="https://s3.51cto.com/wyfs02/M00/98/45/wKioL1k5STWjGoFNAAARujHBFg4991.png" target="_blank"></a>
以上命令有报错!说找不到mysql这个命令!
解决方法如下:
在userparameter_mysql.conf中关于mysql命令前面添加绝对路径(在zabbix_agent上操作)
[root@mysql ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
修改三个地方
重启服务(客户端)
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4403/zabbix_agentd
再次回到zabbix_server服务端进行命令行测试:
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"mysql.status[Uptime]"
10158
<a href="https://s3.51cto.com/wyfs02/M01/98/47/wKiom1k5X5ORSCibAAAPfMv7yHA294.png" target="_blank"></a>
注明1:如果出现类似这一串key的数字,就说明配置ok,服务端能监控到客户端的mysql数据了!
成功了之后在监控界面增加主机对应的MySQL模板就ok了。
注明2:
zabbix_get命令介绍
参数说明:
-s--host:指定客户端主机名或者IP(被监控客户端)
-p--port:客户端端口,默认10050
-I--source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k--key:你想获取的key
zabbix_get获取数据:
获取负载
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"system.cpu.load[all,avg15]"
获取主机名
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"system.hostname"
mysql
<a href="https://s1.51cto.com/wyfs02/M00/98/47/wKiom1k5YtCDOog4AAAPCbWTT24486.png" target="_blank"></a>
第七步:登录zabbix监控界面,在“配置”-“模板”里可以看到自带的mysql监控模板
<a href="https://s5.51cto.com/wyfs02/M00/98/47/wKiom1k5ZJ_CC2iWAANuJt3IaNw343.jpg" target="_blank"></a>
第八步:在相应主机监控配置里添加mysql的监控模版(zabbix自带的)即可:
选中:server-192.168.100.120这个主机!
<a href="https://s2.51cto.com/wyfs02/M02/98/48/wKiom1k5Z2qSwGBkAABrCGluxsI025.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/98/48/wKiom1k5aJCxe0wRAABRk92iczc072.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/98/48/wKioL1k5aOPyXt0fAABwpTtCG_k243.png" target="_blank"></a>
第九步:mysql监控项效果图
监控mysql的操作状态:在zabbix前端可以实时查看各种SQL语句每秒钟的操作次数。
<a href="https://s5.51cto.com/wyfs02/M00/98/48/wKiom1k5a0azDotnAAE6Oy-k6jI236.png" target="_blank"></a>
本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1933635,如需转载请自行联系原作者