企业部分---通过Zabbix分布式监控平台添加服务监控选项(可以监控nginx,mysql服务)

通过Zabbix分布式监控平台添加服务监控选项(http,nginx,mysql)

一.添加http服务监控项

#http是zabbix自带的监控模板

我是给server2上添加的(依次进行选择:配置->主机->server2->模板->链接指示器->Template App HTTP Service->添加->更新)

最后再次点击主机时,会发现此时的server2中显示监控项模板中有Template App HTTP Service

 二.监控nginx服务
在server3中搭建一个nginx服务
(一)配置nginx

[root@server3 ~]# ls
[root@server3 ~]# tar zxf nginx-1.16.0.tar.gz
[root@server3 ~]# cd nginx-1.16.0
[root@server3 nginx-1.16.0]# vim auto/cc/gcc
[root@server3 nginx-1.16.0]# yum install pcre-devel gcc zlib-devel -y
[root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.16.0]# make && make install

在auto/cc/gcc里注释掉nginx的debug日志

2.编辑nginx配置文件,检测是否有错,如果没有报错,开启nginx服务

[root@server3 nginx-1.16.0]# cd /usr/local/nginx/conf/
[root@server3 conf]# vim nginx.conf
[root@server3 conf]# ../sbin/nginx -t
[root@server3 conf]# ../sbin/nginx

配置文件的内容如下:

 47         location /status {
 48                 stub_status on;	#此模块主要用于查看nginx的一些状态信息
 49                 access_log off;	#关闭日志记录
 50                 allow 127.0.0.1;	#只允许本机访问
 51                 deny all;
 52         }

3.测试(证明nginx配置成功,会显示默认发布页):

[root@server3 conf]# curl 172.25.15.3

(二)监控连接数
1.访问http://127.0.0.1/status,会发现此时连接数等较小,此时需要再次访问本机即可增加连接数等(可以通过查看连接数,也可以通过直接访问ip)

[root@server3 conf]# curl http://127.0.0.1/status
[root@server3 conf]# curl 127.0.0.1
[root@server3 conf]# curl http://127.0.0.1/status

 

注意:
(1)此处查看连接数时不可以输入127.25.15.3,即本机的ip
(2)访问时显示活跃连接数1个,server接收请求数,保持的主机数(获取建立三次握手的次数),请求次数

我们如何单独过滤出活跃连接数呢?

这里可以用到我们之前学过的三剑客

[root@server3 conf]#  curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'

也可以把它写到userparameter_nginx.conf里,通过zabbix来监控它的活跃连接数

[root@server3 conf]# cd /etc/zabbix/zabbix_agentd.d/ 
[root@server3 zabbix_agentd.d]# vim userparameter_mysql.conf 
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf [root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# cat userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

文件userparameter_nginx.conf下的内容如下:

#获取连接数(nginx.active为key值,获得的连接数为value值)
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'

 注意:
此时的键值很重要(
nginx.active),后面会用到

4.通过server1获得server3的连接数

在server3中下载httpd

[root@server3 conf]# yum install httpd -y

 

我的是已经安装过了

在server1中安装安装包(此安装包用于server端到agent端获取数据)

[root@server1 ~]# ls
[root@server1 ~]# cd 4.0/
[root@server1 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm
#查看server1是否可以成功获取server3的连接数
[root@server1 4.0]# zabbix_get -s 172.25.66.3 -p 10050 -k "nginx.active"

在浏览器中选择访问http://172.25.15.3/,发现可以成功显示页面

再次在server1中查看server3的连接数,发现变为2了,说明连接成功

[root@server1 4.0]# zabbix_get -s 172.25.15.3 -p 10050 -k "nginx.active"

在浏览器中进行以下操作,实现可以通过监控查看活跃连接数 

点击配置->主机->server3

点击监控项->创建监控项

 

在监控项中填写名称为nginxz-status,并填写正确的键值,之后点击添加

点击添加之后,会显示监控项已成功添加

添加图形

点击配置->主机->server3

点击图形->创建图形

填写部分信息后,选择之前的建立的监控项nginxz_status

 

添加完成后,显示图形已添加,点击页面中的nginx_access

选择预览,会发现显示以下界面

因为要添加图形,所以我们需要设置字体,不然显示出来的都是乱码

设置字体

1.下载我们喜欢的字体到/usr/share/zabbix/fonts目录下

[root@server1 ~]# cd /usr/share/zabbix/fonts
[root@server1 fonts]# ls

编辑配置文件 

[root@server1 fonts]# cd ../include/
[root@server1 include]# vim defines.inc.php

修改配置文件内容(将之前的默认字体graphfont更改成simkai):

通过s/graphfont/simkai/g来更改

此处效果不明显,要使用ab命令,大量访问,这里补充添加并查看

root@server3 zabbix_agentd.d]# curl http://127.0.0.1/status

(三)监控请求数,三次握手数,请求回应数
1.在server3编辑配置文件

[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

配置文件中增加的内容如下:

UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' 
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'

在sever1中获取server3中的数据

注意:
如果出现以下报错,说明在server3没有重新启动zabbix-agent服务,ZBX_NOTSUPPORTED: Unsupported item key.

在浏览器中进行以下操作,实现通过监控查看请求数

点击配置->主机->server3

点击监控项->创建监控项

在监控项中填写名称为nginx_accept,并填写正确的键值,之后点击添加

 

点击添加之后,会显示监控项已成功添加

点击配置->主机->server3->图形->创建图形

 填写部分信息后,选择之前的建立的监控项nginx_accept

 

添加完成后,显示图形已添加,点击页面中的nginx_accept

选择预览,会检测到请求情况的绘图

这里陡坡的产生原因是用ab请求,一次增加了很多请求量

当然也可以检测三次握手次数,请求回应次数(配置文件里都写了)

监控zabbix server上的mysql服务

(一)在浏览器中添加mysql自带的监控模块,并尝试查看,此时发现没有数据(主机查看监控数)

点击配置->主机->zabbix server

点击模板->链接指示器中的选择->群组(选择Templates/Databases)->Template DB MYSQL

添加完模板后,点击更新

主机更新后,会看到zabbix server中的监控项变为102个,而且模板中也有Template DB MYSQL,然后点击server3

点击图形->群组(选择Templates/Databases)->名称MySQL bandwidth

 点击预览,发现此时是正在监控MYSQL的带宽,但是没有任何数据,这是因为没有访问数据库

访问数据库,使在页面中有数据显示

[root@server1 tmp]# mysql -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
MariaDB [zabbix]> select * from users;

在浏览器中查看,最好退出重新查看(即重新点击配置->主机—>……),发现此时两个数据库中都有信息

我的是由于半天没有出来效果,所以不仅重新进入了网页还重启了服务

所以效果可能有出入,但是只要有数据就说明对了

(二)但是自带的模块监控项太少了,所以我们将通过添加模块增加监控项

向zabbix监控中导入模块监控mysql的模板percona(开源的mysql分析工具)
1.配置mysql

[root@server1 ~]# mkdir /var/lib/zabbix
[root@server1 ~]# cd /var/lib/zabbix
[root@server1 zabbix]# vim .my.cnf
[root@server1 zabbix]# ls -a
[root@server1 zabbix]# systemctl restart zabbix-agent

配置文件下的内容如下:

[mysql]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock

2.安装percona-zabbix模板并编辑配置文件

[root@server1 ~]# ls
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# cd percona/
[root@server1 percona]# cd templates/
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d
[root@server1 templates]# cd ..
[root@server1 percona]# cd scripts/
[root@server1 scripts]# ls
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
[root@server1 scripts]# systemctl restart zabbix-agent

配置文件ss_get_mysql_stats.php.cnf 中的内容如下:

<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';

查看端口

3.测试percona的脚本并过滤监控项

[root@server1 scripts]# systemctl restart zabbix-agent
[root@server1 scripts]# cd /etc/zabbix/zabbix_agentd.d
#测试脚本是否可以正确执行
[root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
[root@server1 zabbix_agentd.d]# cd /tmp
#查看监控项
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt 
[root@server1 tmp]# rm -rf localhost-mysql_cacti_stats.txt 

在浏览器中进行以下操作

  • 点击配置->模板->选择链接的模板->导入

将xml文件导入并选择聚合图形(不选聚合图形不会显示在同一个界面中,不方便)

导入成功后会显示以下界面

点击配置->主机->Zabbix server

点击模板,将Templates/Databases取消链接,因为要导入新的mysql模块,所以一定要将旧的取消链接

选择群组为Percona Templates中的Template Percona MySQL Server

将模块添加成功后,会显示以下的结果,在最后点击更新

更新后的页面如下,此时查看监控项发现是293个,且模块中也有新添加的模块

点击Zabbix server后出现以下界面,发现此时有很多mysql模块

点进去看有数据的话说明zabbix对mysql监控成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值