Nginx放大是一个有用的工具集合,用于广泛监视开源的Nginx Web服务器和NGINX Plus。 借助NGINX Amplify,您可以监控性能,跟踪运行Nginx的系统,并能够实际检查和解决与运行和扩展Web应用程序相关的问题。
它可用于可视化并确定Nginx Web服务器的性能瓶颈,服务器过载或潜在的DDoS攻击; 通过智能的建议和建议来增强和优化Nginx的性能 。
另外,它可以在任何应用程序设置出现问题时通知您,并且还可以作为Web应用程序容量和性能规划器。
Nginx放大架构建立在三个关键组件之上,如下所述:
- NGINX放大后端 - 核心系统组件,实施为SaaS(软件即服务)。 它整合了可扩展的指标收集框架,数据库,分析引擎和核心API。
- NGINX Amplify Agent - 一个Python应用程序,应该在受监控的系统上安装和运行。 代理和SaaS后端之间的所有通信都通过SSL / TLS安全地完成; 所有的流量总是由代理发起的。
- NGINX放大网络用户界面 - 一个兼容所有主流浏览器的用户界面,只能通过TLS / SSL访问。
Web UI显示Nginx和操作系统指标的图形,允许创建用户定义的仪表板,提供静态分析器来改善Nginx配置,并提供一个具有自动通知的警报系统。
第1步:在Linux系统上安装Amplify Agent
1.打开您的网络浏览器,输入下面的地址并创建一个帐户。 一个链接将被发送到您的电子邮件,用它来验证电子邮件地址并登录到您的新帐户。
https://amplify.nginx.com
2.然后,通过SSH登录到您的远程服务器进行监控,并使用curl或wget命令下载nginx放大代理自动安装脚本。
$ wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh OR $ curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
3.现在使用sudo命令以超级用户权限运行以下命令来安装放大代理程序包( API_KEY可能会不同,对于您添加的每个系统都是唯一的)。
$ sudo API_KEY='e126cf9a5c3b4f89498a4d7e1d7fdccf' sh ./install.sh
安装Nginx Amplify Agent
注意 :您可能会收到一个错误, 指出没有配置sub_status ,这将在下一步完成。
4.安装完成后,返回到Web界面,大约1分钟后,您将能够在左侧列表中看到新系统。
第二步:在NGINX中配置stub_status
5.现在,您需要设置stub_status配置来构建关键的Nginx图形( Nginx Plus用户需要配置stub_status模块或扩展状态模块)。
在/etc/nginx/conf.d/下为stub_status创建一个新的配置文件。
$ sudo vi /etc/nginx/conf.d/sub_status.conf
然后将以下stub_status配置复制并粘贴到文件中。
server { listen 127.0.0.1:80; server_name 127.0.0.1; location /nginx_status { stub_status; allow 127.0.0.1; deny all; } }
保存并关闭文件。
6.接下来,重新启动Nginx服务以激活stub_status模块配置,如下所示。
$ sudo systemctl restart nginx
第3步:配置其他NGINX指标进行监测
7.在这一步中,您需要设置额外的Nginx指标来密切关注您的应用程序性能。 该代理将收集来自活跃且不断增长的access.log和error.log文件的指标,这些文件的位置会自动检测。 重要的是,应该允许读取这些文件。
您所要做的就是在主要的Nginx配置文件/etc/nginx/nginx.conf中定义一个特定的log_format 。
log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" ' '"$host" sn="$server_name" ' 'rt=$request_time ' 'ua="$upstream_addr" us="$upstream_status" ' 'ut="$upstream_response_time" ul="$upstream_response_length" ' 'cs=$upstream_cache_status' ;
然后在定义access_log时使用上面的日志格式,并将error_log日志级别设置为警告 ,如图所示。
access_log /var/log/nginx/suasell.com/suasell.com_access_log main_ext; error_log /var/log/nginx/suasell.com/suasell.com_error_log warn;
8.现在重新启动Nginx服务,以实现最新的更改。
$ sudo systemctl restart nginx
第四步:通过Amplify Agent监控Nginx Web服务器
9.最后,您可以从Amplify Web UI开始监控您的Nginx Web服务器。
Nginx的放大概述
Nginx放大图
要添加另一个系统进行监控,只需点击Graphs并点击“ New System ”,然后按照上述步骤进行操作。
Nginx的放大主页 : https : //amplify.nginx.com/signup/
Amplify是一款功能强大的SaaS解决方案,用于监控您的操作系统,Nginx Web服务器以及基于Nginx的应用程序。 它提供了一个单一的,统一的网络用户界面,以关注运行Nginx的多个远程系统。 使用下面的评论表单分享你对这个工具的想法。