如何使用 Nginx Amplify 监控 Nginx 服务器?

Nginx Amplify 是一个免费的监控工具 nginx 和 Nginx Plus。 我们可以用 放大 监控 Web 服务器、跟踪我们的基础设施资产、监控底层操作系统、数据库和许多其他组件。

让我们学习使用 NGINX Amplify 并使用它提供的功能监控我们的 Nginx 服务器的健康状况。

什么是 Nginx 放大?

Nginx Amplify 是一种 SaaS(软件即服务)产品,用于监控 Web 服务器、数据库、基础设施资产和各种其他组件。 它托管在 AWS 公共云上。

Amplify 还可用于各种用途,例如 –

  • 跟踪 Web 服务器/应用程序的性能和功能。
  • 在基础设施出现问题时接收通知。
  • 使用与 Nginx 服务器相关的可视化,我们可以轻松找到性能瓶颈、潜在的 DDoS 攻击或服务器负载。
  • 使用其建议和智能建议改进/优化我们服务器的性能。
  • 跟踪我们运行 Nginx 服务器的系统。

Nginx Amplify 的各种关键组件是:

  • Nginx 放大后端 – 它是核心系统组件,包括:
    • 核心API
    • 分析引擎
    • 数据库
    • 指标收集基础设施
  • Nginx 放大 Web 界面 – Amplify 的 Web 界面显示从受监控系统收集的各种指标和数据。
  • Nginx 放大代理 – 用 Python 编写的应用程序,它在受监控的系统上运行并收集各种指标和数据。 它还会将收集到的信息发送到 Amplify 后端,以便可以通过 Amplify Web 界面进行存储和可视化。

使用 Nginx Amplify 的先决条件

设置 Amplify 所需的先决条件是:

  • 安装在您的服务器上的 Nginx
  • ssh 访问服务器

如果您没有安装 Nginx,请前往此处。

设置 Nginx Amplify 以监控 Nginx 服务器的步骤

第 1 步:在 Amplify 网站注册并登录您的帐户

首先,我们需要在 Nginx Amplify 网站上注册并登录到我们新创建的帐户。 要在 Amplify 网站上创建您的帐户,请点击此链接。 填写您的详细信息后,单击创建。

放大注册页面

注册帐户后,您还将收到一封电子邮件验证。 接受它,然后登录到您的 Nginx Amplify 帐户。

Nginx 放大登录

第 2 步:下载 Nginx Amplify Agent 安装脚本

登录 Nginx Amplify 帐户后,将显示以下页面,其中包含在我们需要监控的系统上设置 Amplify Agent 的步骤。

因为,我们可以看到我们首先需要使用 ssh 登录到我们的服务器。

教程屏幕唯一的 API 密钥教程屏幕唯一的 API 密钥

下一步是下载脚本,使用 curl 命令下载它。

curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh 

运行命令后,输出将类似于下图。

正在下载脚本正在下载脚本

第 3 步:使用脚本安装 Nginx Amplify Agent

现在我们已经下载了脚本,我们需要将它安装到我们的服务器上。

对于这一步,您需要知道您的 Amplify API 密钥,它对您的帐户是唯一的。 因此,转到我们之前遇到的说明页面并复制类似于以下命令的命令,然后运行它以安装 Nginx Amplify Agent。

API_KEY='YOUR_API_KEY' sh ./install.sh 

运行该命令后,安装脚本会自动将 Nginx Amplify Agent 包安装到服务器。

正在设置的放大脚本正在设置的放大脚本

第 4 步:配置 Nginx 以可视化基本指标

现在您已经成功安装了 Nginx Amplify Agent,在 Amplify 的 Web 界面的说明页面上单击继续,将出现下一个包含类似说明的页面。

配置 Nginx Amplify 教程屏幕 2配置 Nginx Amplify 教程屏幕 2

如上图所示,我们需要使用root权限来更改 stub_status 配置文件。 首先, cd 进入 nginx 目录使用以下命令:

cd /etc/nginx 

现在,检查是否 conf.d 使用以下命令将文件自动添加到 Nginx 配置中:

grep -i include.*conf nginx.conf 

现在,创建一个名为 stub_status.conf 在里面 conf.d 目录,使用以下命令:

cat > conf.d/stub_status.conf 

将以下内容复制并粘贴到您的 stub_status.conf 我们刚刚创建的文件。

server { 	listen 127.0.0.1:80; 	server_name 127.0.0.1; 	location /nginx_status { 		stub_status on; 		allow 127.0.0.1; 		deny all; 		} } 

您可以使用说明页面中的最后一个命令,或者在更改其内容后再次打开文件来验证您所做的更改是否成功应用。

存根状态配置存根状态配置

现在,运行以下命令,通过重新加载 Nginx 服务器来应用您所做的更改。

kill -HUP `cat /var/run/nginx.pid` 

第五步:修改Nginx配置文件

设置 Amplify Agent 的最后一步,需要更改位于以下位置的 Nginx 配置文件 /etc/nginx/nginx.conf ,我们需要修改文件的 3 个部分来完成我们的设置。

找到相应的属性并将它们修改为给定的值。

如果属性被注释掉,请取消注释并修改它们,如下所示。

错误日志

error_log /var/log/nginx/error.log warn; 

访问日志

access_log /var/log/nginx/access.log main_ext; 

日志格式

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' ; 

完成修改 Nginx 配置文件后,请确保重新加载 Nginx 服务器。

使用 Amplify 监控您的 Nginx 服务器

设置 Nginx Amplify Agent 后,转到在 Web 浏览器中打开的说明页面,然后点击继续。

您将看到,指标和数据开始在 Amplify Web 界面中流式传输,如下所示。

Amplify 连接 Nginx 服务器Amplify 连接 Nginx 服务器

要以一般且易于阅读的方式查看您的服务器统计信息,请单击“概览”选项卡。

Nginx 放大概览面板 放大概览面板

现在您已经设置 Amplify 来监控您的 Nginx 服务器,您可以探索更多。

奖金

  • 要更深入地了解 Amplify,您可以查看其官方文档。
  • Nginx 是开源的,你可以在这里找到它的代码。
  • Nginx Amplify Agent 也是开源的,你可以在这里找到它的代码。

结论

在本文中,我们讨论了 Nginx Amplify、它的各种组件及其用途。 我们还讨论了设置 Amplify 以监控我们的 Nginx 服务器的分步方法,以及如何使用 Amplify 检查我们正在运行的服务器的整体健康状况和指标。