分布式应用:Zabbix监控Nginx

目录

一、理论

1.Zabbix监控Nginx

二、实验

1.Zabbix监控Nginx部署

三、问题

1.重启zabbix客户端失败

2.zabbix服务端测试客户端nginx状态失败

 3.nginx启动失败

 4.权限不够


一、理论

1.Zabbix监控Nginx

(1)环境

zabbix服务端:192.168.204.214

zabbix客户端:192.168.204.215

(2)客户端安装nginx(yum方式)

#安装epel扩展源,然后安装nginx并启动
yum install epel-release -y

yum install nginx -y

systemctl start nginx

systemctl start nginx

#修改nginx主页内容,nginx01修改为nginx01 test,nginx02修改nginx02 test

echo nginx01 test >/usr/share/nginx/html/index.html

(3)编辑nginx子配置文件

#直接在nginx子配置文件夹中创建一个新的子配置文件,因为是yum安装无须在主配置文件中指定子配置文件
vim /etc/nginx/conf.d/upstream.conf

文件内容:

upstream nginxtest{

server 192.168.204.215:8080;


}


#反向代理模块,将2个tomcat的ip和端口号写入其中,反代模块名称为nginxtest

#server模块中的第一个location模块,指定了根为html,支持主页文件类型三个,注意分号结尾

location  ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {

        root /usr/share/nginx/html;     

}


#server模块中第二个location模块,配置不区分大小写的任意开头只要以.()括号内的任意一个内容结尾则为静态资源访问/usr/share/nginx/html下的页面

location ~ .*\.jsp$ {

proxy_pass http://nginxtest;

proxy_set_header HOST $host;    

proxy_set_header X-Real-IP $remote_addr;            

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

#server模块中第三个location模块,配置不区分大小写的任意开头只要.jsp结尾就由nginx反向代理模块nginxtest进行处理

在server{}中添加以下内容

ocation /nginx_status
{
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}

(3)重载nginx配置

nginx -s reload

(4)测试

curl http://127.0.0.1/nginx_status
Active connections: 1 
server accepts handled requests
 1 1 1 
Reading: 0 Writing: 1 Waiting: 0 

nginx状态信息已显示

分布式应用:Zabbix监控Nginx_第1张图片

(5) 添加监控脚本

vim /usr/local/sbin/ngx_status.sh

添加权限

chmod 777 /usr/local/sbin/ngx_status.sh

(6)编辑zabbix_agent配置文件

 vim zabbix_agent2.conf 

在Option:UserParameter处添加:UserParameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1

(7)选择模板

第一种方法:选择官方模板

配置-主机-模板-Template App NGINX

第二种方法:导入模板

在zabbix前端页面点击配置→模板→导入

导入刚才创建的xml文件即可 导入成功后在主机列表页面选择被监控的机器(客户端)链接该模板即可开始监控nginx

二、实验

1.Zabbix监控Nginx部署

(1)安装、编辑nginx子配置文件夹创建文件

依赖包

分布式应用:Zabbix监控Nginx_第2张图片

安装

 分布式应用:Zabbix监控Nginx_第3张图片

 

直接在nginx子配置文件夹中创建一个新的子配置文件,因为是yum安装无须在主配置文件中指定子配置文件

分布式应用:Zabbix监控Nginx_第4张图片

在server{}中添加以下内容

分布式应用:Zabbix监控Nginx_第5张图片

 (2)脚本

分布式应用:Zabbix监控Nginx_第6张图片

授权(应授权777)

(3)客户端测试nginx状态

(3)修改配置文件

(4)服务器端测试

 (5)导入模板

选择官方模板

导入自定义模板

分布式应用:Zabbix监控Nginx_第7张图片

 (3)访问网页

分布式应用:Zabbix监控Nginx_第8张图片

分布式应用:Zabbix监控Nginx_第9张图片

 观察变化

分布式应用:Zabbix监控Nginx_第10张图片

三、问题

1.重启zabbix客户端失败

(1)报错

 (2)原因分析

命令错误

(3)解决方法

用正确命令

[root@zbx-agent01 zabbix]# systemctl restart zabbix-agent2
[root@zbx-agent01 zabbix]# netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      4715/zabbix_agent2 

2.zabbix服务端测试客户端nginx状态失败

(1)报错

 (2)原因分析

zabbix server监听全网地址,agent监听内网地址

把zabbix_agentd.conf中 的server把zabbix_server的公网和内网地址都加行。然后agent就可以正常获取到值了;

修改客户端配置文件监听的主服务器地址,并取消反向代理

vim /etc/zabbix/zabbix_agent2.conf

 zabbix服务器网页重新配置

 分布式应用:Zabbix监控Nginx_第11张图片

 3.nginx启动失败

(1)报错

分布式应用:Zabbix监控Nginx_第12张图片

 (2)原因分析

检查

 

location模块放错位置

 (3)解决方法

locaton块放在server块中

分布式应用:Zabbix监控Nginx_第13张图片

 4.权限不够

(1)报错

 (2)原因分析

未有效授权

(3)解决方法

增加权限

[root@zbx-agent01 tmp]# chmod 777 /usr/local/sbin/ngx_status.sh

你可能感兴趣的:(zabbix,nginx,mysql)