基于rhel7.2的Zabbix平台搭建和部署(四)

  1. 云栖社区>
  2. 博客>
  3. 正文

基于rhel7.2的Zabbix平台搭建和部署(四)

技术小胖子 2017-11-10 17:37:00 浏览1124

基于rhel7.2的Zabbix平台搭建和部署(四)


一、实现zabbix添加监测项,添加对Linux主机的监控、

说明:先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.

(1)登录zabbix,先在“配置”-“主机”里单击”创建主机”:

wKiom1k2DYaC4JMTAAEiCzoKajQ149.jpg

(2)在“主机”标签,填写相关信息

wKioL1k2Dcyi6hzeAAFyj30Hz78517.jpg


注:这个主机名字必须和hostname的一模一样,这里用的ip就是被监控主机的ip。


wKiom1k2Dc2BAxE_AACstxzVbyY388.jpg

其它选项默认即可。

(3)在“模板”标签,填写相关信息

wKiom1k2Dyqh2_OjAADoXoHHwlI123.jpg

wKiom1k2Dyyjz67XAAK2pGfa3ds038.jpg

wKioL1k2GO6ioTElAADQKvuX_vg978.jpg

wKiom1k2GPDR6sa4AADb0GhFBPg561.jpg

至此,Zabbix监控Linux主机设置完成,如下图所示:

wKioL1k2GTSyyxx6AAF_SilBRLQ902.jpg

(4)过一段时间后,可以来观察监控图效果出来了没有

wKiom1k5PmHwjFrXAAHcNPbpKNU166.png

二、添加对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

wKiom1k5QESB6iHmAABhdf0wlT4078.png

第二步:在zabbix_agent服务目录下创建.my.cnf 连接文件(注意有个“.”)

说明:zabbix安装目录是/usr/local/zabbix

[root@mysql ~]# cd /usr/local/zabbix/etc/

[root@mysql etc]# vim .my.cnf

wKiom1k5Q3bC1JZyAAC09cbXsQM919.jpg

注意

⑴如果在数据库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命令不被系统识别)。

wKioL1k5R4bi9pn7AACSyxnr26w980.jpg

wKiom1k5R4eQYURWAAB5ILGo75U306.jpg

wKioL1k5R4jQ4E9ZAAE8xErG1iA712.jpg

wKiom1k5R4my0c2LAABwUUsd3UE579.jpg

第五步:重启zabbix_agent服务

[root@mysql ~]# systemctl stop zabbix_agentd

[root@mysql ~]# netstat -lnp |grep zabbix_agentd

[root@mysql ~]# systemctl start zabbix_agentd

[root@mysql ~]# netstat -lnp |grep zabbix_agentd

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      3295/zabbix_agentd

wKiom1k5SE3DjdWtAAAsRSsATPE582.png

第六步:接着在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

wKioL1k5STWjGoFNAAARujHBFg4991.png

以上命令有报错!说找不到mysql这个命令!

解决方法如下:

  1. 在userparameter_mysql.conf中关于mysql命令前面添加绝对路径(在zabbix_agent上操作)

    [root@mysql ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

  2. 修改三个地方

    wKiom1kXsVGDK62BAACTSJrCoWE237.jpgwKiom1kXsVGAj5iVAAFCTUvHAyM506.jpgwKioL1kXsVKjLx_dAABhoxM085E399.jpg

  3. 重启服务(客户端)

    [root@mysql ~]# systemctl stop zabbix_agentd

    [root@mysql ~]# netstat -lnp |grep zabbix_agentd

    [root@mysql ~]# systemctl start zabbix_agentd

    [root@mysql ~]# netstat -lnp |grep zabbix_agentd

    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      4403/zabbix_agentd

  4. 再次回到zabbix_server服务端进行命令行测试:

[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"mysql.status[Uptime]"

10158

wKiom1k5X5ORSCibAAAPfMv7yHA294.png

注明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获取数据:

  1. 获取负载

    [root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"system.cpu.load[all,avg15]"

    0.050000wKioL1k5YhbghtDdAAAPApJtXd8842.png

  2. 获取主机名

    [root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"system.hostname"

    mysql

    wKiom1k5YtCDOog4AAAPCbWTT24486.png


第七步:登录zabbix监控界面,在“配置”-“模板”里可以看到自带的mysql监控模板

wKiom1k5ZJ_CC2iWAANuJt3IaNw343.jpg

第八步:在相应主机监控配置里添加mysql的监控模版(zabbix自带的)即可:

wKiom1k5ZqfTSsSYAAEpcuVoYoQ978.png

选中:server-192.168.100.120这个主机!

wKiom1k5Z2qSwGBkAABrCGluxsI025.png

wKiom1k5aJCxe0wRAABRk92iczc072.png

wKioL1k5aOPyXt0fAABwpTtCG_k243.png

第九步:mysql监控项效果图

  1. 监控mysql的带宽:在zabbix前端可以实时查看mysql发送接收的字节数。其中bytes received表示从所有客户端接收到的字节数,bytes sent表示发送给所有客户端的字节数。wKiom1k5aquwgjLFAAEje-V6j5Y329.png

  2. 监控mysql的操作状态:在zabbix前端可以实时查看各种SQL语句每秒钟的操作次数。

    wKiom1k5a0azDotnAAE6Oy-k6jI236.png









     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1933635,如需转载请自行联系原作者