Linux集群 zabbix对Nginx的监控以及web场景聚合图形的部署

准备三台虚拟机,确保三台都能够上网,我的第一台机器为192.168.150.129,第二台为192.168.150.130,第三台为192.168.150.131,三台虚拟机都是centos7操作系统,并且关闭防火墙。

1.zabbix-server端

zabbix-server端还是在Linux集群 监控zabbix的部署_大白将的博客-CSDN博客这一篇的基础上进行,所以zabbix-server端无需改动

2.Nginx-server端

192.168.150.130位Nginx主机,进行Nginx的部署,首先安装Nginx。

[root@localhost ~]# wget http://nginx.org/download/nginx-1.4.2.tar.gz  #下载Nginx包
[root@localhost ~]# tar -zxvf nginx-1.4.2.tar.gz                 #解压这个Nginx包
[root@localhost ~]# yum -y install pcre pcre-devel zlib zlib-devel #安装Nginx对应的依赖
[root@localhost ~]# cd nginx-1.4.2 #进入Nginx包
[root@localhost nginx-1.4.2]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module #因为我们监控Nginx的状态统计,所以也要安装状态统计所依赖的包
[root@localhost nginx-1.4.2]# make && make install  #编译并安装

在进行配置文件的编写,添加状态统计,并开启Nginx

[root@localhost zabbix]# vi /usr/local/nginx/conf/nginx.conf
    
     location /nginx_status {
                stub_status on;              #在配置文件中加入这三行,开启监控统计
                access_log off;
          }

在浏览器进行测试:192.168.150.130/nginx_status,可见配置成功

接下来我们就要对这些数据进行检测,但是Linux和zabbix不支持直接检测,所以我们要采用脚本的方式进行编写,脚本如下:这个脚本的意思就是摘取Nginx状态统计的这些数值进行反馈

[root@localhost ~]# vi nginx-status.sh
#!/bin/bash
HOST="127.0.0.1"
PORT="80"
function ping {
     /sbin/pidof nginx | wc -l
}
function active {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | grep 'Active' | awk '{print $NF}'
}
function reading {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | grep 'Reading' | awk '{print $2}'
}
function writing {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | grep 'Writing' | awk '{print $4}'
}
function waiting {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | grep 'Waiting' | awk '{print $6}'
}
function accepts {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | awk NR==3 | awk '{print $1}'
}
function handled {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | awk NR==3 | awk '{print $2}'
}
function requests {
     /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null | awk NR==3 | awk '{print $3}'
}

$1
[root@localhost ~]# chmod a+x nginx-status.sh  #赋予权限
[root@localhost ~]# bash nginx-status.sh active #执行查看数值,我们就能看到数值

下一步就是安装zabbix-agent端

[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
[root@localhost ~]# yum -y  install zabbix-agent

安装完成后,我们要在zabbix-agent的配置文件中,打开脚本监控的功能,并且将hostname,serverip,serveractive相应的IP地址进行更改,这里UnsafeUserParameters意思就是支持脚本,将0改为1,并在下面UserParamete进行配置更改

UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx-status.sh $1  
因为后续我们使用的就是nginx.status[*],所以我们在这里直接写上即可,后面跟着脚本的路径,这里我将脚本放到了/etc/zabbix/zabbix_agentd.d/目录下

然后我们进入到zabbix的web页面进行配置

我们是监控的Nginx状态统计,所以要自行导入Nginx模板 配置>模板>导入>选择文件(模板文件我放到文章最后,可自行下载)>导入

 

 导入成功后,我们在 模板中就可以发现我们所导入的模板

点击Template App NGINX 的监控项,如下显示,我们可以看到这个触发器,就是根据ping返回的至进行触发 

我们再将Nginx主机添加上,点击配置>主机>创建主机

 监控项我们选择这几个

 添加成功

 3.进行第三台主机的配置

我们第三台主机主要就是进行测试,直接装好正常的配置环境,无需安装任何软件。

直接  while 2>1 do curl 192.168.150.130; done   这样就会一直访问,我们就可以在图形中看到所监控的数据。点击监测中>图形>群组选择nginx>主机选择Nginx服务器>图形选择Nginx status server查看 ,检测成功

4.web场景的监测

在zabbix的web端,点击配置>主机>选择我们刚才的主机Nginx服务器,点击应用集,创建应用集

创建一个应用集为http-code,然后点击web场景,创建web场景,这些值都可以自己设定

然后点击步骤,在新弹出的页面中输入名称以及要访问监测的页面,要求返回的状态码为200,因为只有是200时才是正常的。

 

 web场景构建完毕后,我们在进行触发器的设置点击触发器>创建触发器

 名称随便定义,严重性设为严重,表达式进行添加,点击添加表达式时弹出新的页面,我们选择如图所示的这个,然后功能选择最新的T的值不是N,N为200,这样就说名T不是200的时候就会触发报警,插入,这里我们多添加两行,并用and连接,更改last的值,这也就是三次都要可以

 这里web场景监测就完成了,我们点击监测中>仪表盘进行查看,测试页面正常时,没有警告的东西,当我们把测试页面删除后,在进行查看

 ​​​​​

 我们把测试页面删除后,会出现严重警告,我们看到问题就是我们所创建的web检测异常 

5.聚合图形的绘制

点击监测中>聚合图形>创建聚合图形,名称为重要信息,行和列我们不在这里动

 

 创建完成后,就会有了,点击进入,编辑聚合图形,点击相应的+号,选择想选择的信息即可完成

 

​​​​​​​​​​​​​​

​​​​​​​这个是我提供给大家的zabbix监控Nginx的模板文件以及脚本文件,大家可自行下载。​​​​​​​zbx_export_templates-Linux文档类资源-CSDN下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白将

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值