Amplify – 轻松实现 NGINX 监控
Nginx amplify 是一套实用工具,用于广泛监控开源 Nginx Web 服务器和 NGINX Plus。借助 NGINX Amplify,您可以监控性能、跟踪运行 Nginx 的系统,并能够实际检查和修复与运行和扩展 Web 应用程序相关的问题。
它可用于可视化和确定 Nginx Web 服务器性能瓶颈、过载服务器或潜在的 DDoS 攻击;通过智能建议和推荐增强和优化 Nginx 性能。
此外,当您的任何应用程序设置出现问题时,它可以通知您,并且它还可以作为 Web 应用程序容量和性能规划器。
Nginx amplify 架构建立在 3 个关键组件之上,具体介绍如下:
- NGINX Amplify Backend – 核心系统组件,以 SaaS(软件即服务)形式实现。它包含可扩展的指标收集框架、数据库、分析引擎和核心 API。
- NGINX Amplify Agent – 一个 Python 应用程序,应在受监控的系统上安装并运行。代理与 SaaS 后端之间的所有通信均通过 SSL/TLS 安全完成;所有流量始终由代理发起。
- NGINX Amplify Web UI——与所有主流浏览器兼容的用户界面,并且只能通过 TLS/SSL 访问。
Web UI 显示 Nginx 和操作系统指标的图表,允许创建用户定义的仪表板,提供静态分析器以改进 Nginx 配置和带有自动通知的警报系统。
步骤 1:在 Linux 系统上安装 Amplify Agent
1.打开您的网络浏览器,输入以下地址并创建帐户。链接将发送到您的电子邮件,使用它来验证电子邮件地址并登录您的新帐户。
https://amplify.nginx.com
2.之后,通过 SSH 登录到要监控的远程服务器,并使用curl或wget 命令下载 nginx amplify agent 自动安装脚本。
$ 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
注意:您可能会收到一个错误,表明sub_status尚未配置,这将在下一步中完成。
4.安装完成后,返回Web UI,大约1分钟后,您将能够在左侧列表中看到新系统。
第 2 步:在 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
步骤 4:通过 Amplify Agent 监控 Nginx Web 服务器
9.最后,您可以从Amplify Web UI开始监控您的 Nginx Web 服务器。
要添加另一个要监控的系统,只需转到图表并单击“新系统”并按照上述步骤操作。
Nginx Amplify 主页:https://amplify.nginx.com/signup/
Amplify是一款功能强大的 SaaS 解决方案,可用于监控您的操作系统、Nginx Web 服务器以及基于 Nginx 的应用程序。它提供单一、统一的 Web UI,用于监控运行 Nginx 的多个远程系统。使用下面的评论表单分享您对此工具的看法。