Linux企业运维部分——zabbix监控nginx

一.配置文件

在agent端(server2)上安装nginx

[root@server2 ~]# ls
nginx-1.15.8.tar.gz  
[root@server2 ~]# tar zxf nginx-1.15.8.tar.gz 
[root@server2 ~]# yum install -y gcc make pcre-devel zlib-devel
[root@server2 nginx-1.15.8]# vim auto/cc/gcc  #关闭debug

在这里插入图片描述

 [root@server2 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module

在这里插入图片描述

[root@server2 nginx-1.15.8]# make && make install

在这里插入图片描述

[root@server2 nginx-1.15.8]# vim /usr/local/nginx/conf/nginx.conf

添加以下代码

 48         location /status {
 49             stub_status  on;
 50             access_log off;
 51             allow 127.0.0.1;
 52             deny all;
 53        }

注意:
1:stub_status是nginx的一个统计功能模块,利用nginx -V可以查看该模块是否安装,在浏览器输入ip/status就会显示nginx上次启动以来工作状态的统计的结果
2:关闭access_log,不记录访问日志
3:只允许本地访问,拒绝所有

检查nginx

 [root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

启动nginx(nginx服务占用的时80端口,httpd默认也是80端口,所以在启动nginx服务之前保证80端口,没有被占用,lsof -i :80可以查看)

[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx 

测试:

[root@server2 ~]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 6 6 5 
Reading: 0 Writing: 1 Waiting: 0 

在这里插入图片描述
accepts:处理的连接数

handled:成功创建的tcp握手数(没有失败的)

requests:总共处理的请求数

Reading: nginx读取到客户端的Header信息数.

Writing: nginx返回给客户端的Header信息数.

Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是nginx已经处理完成,正在等候下一次请求指令的驻留连接。

二.配置文件定义监控文本key

[root@server2 zabbix]# cd zabbix_agentd.d
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf 
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf  userparameter_nginx.conf

抓取数据测试

[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}'
 1
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
 26
[root@server2 zabbix_agentd.d]#  curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
 27
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'
 10

配置文件(NF表示最后一列, NR表示行数)

 [root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf 
 [root@server2 zabbix_agentd.d]# cat userparameter_nginx.conf 
 UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk  '{print $NF}
 UserParameter=nginx.accepts,curl -s http://127.0.0.1/status | grep Active | awk '{print $1}
 UserParameter=nginx.handled,curl -s http://127.0.0.1/status | grep Active | awk '{print $2}
 UserParameter=nginx.requests,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}

重启zabbix-agent服务

[root@server2 zabbix_agentd.d]# systemctl restart zabbix-agent

三.监控nginx

配置->主机->server2中的监控项
在这里插入图片描述
创建监控项然后添加
在这里插入图片描述
在这里插入图片描述

点击图形
在这里插入图片描述
创建图形

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
点击添加
图形->nginx_active->预览
在这里插入图片描述
其他三个同样创建监控项但不创建图形,点击已经创建好的nginx_active,添加其他三个监控项,点击更新
在这里插入图片描述
在这里插入图片描述
预览图片
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44321116/article/details/90214774
今日推荐