如何在CentOS 7上安装Nginx Amplify代理

时间:2020-03-05 15:28:03  来源:igfitidea点击:

Nginx Amplify Agent是用Python编写的功能强大的Nginx监视工具。

它的作用是收集各种指标和元数据,并将它们安全地发送到后端进行存储和可视化。
正确安装后,它将为我们提供NGINX Amplify Web界面,并且我们应该看到受监控系统的实时指标。
它还为我们提供以下功能:

  • 列出所有受监视的服务器,SLA会对NGINX运行状况进行30秒的检查。
  • Nginx,PHP‑FPM和OS指标的一组标准图形。
  • NGINX配置文件的概述,并在出现任何常见配置问题时发出警报。
  • 易于管理的仪表板,拥有图形
  • 关于异常Nginx行为的通知。

所有流行的OS发行版(即Amazon Linux,CentOS,RHEL,Debian和Ubuntu)均支持此应用程序。
在本文中,我将解释如何在CentOS 7服务器上安装此应用程序。

安装Amplify代理

在继续安装步骤之前,我们需要先去amplify.nginx.com并注册一个帐户。

现在,我们可以使用创建的凭据登录到帐户。
我们将获得一系列安装步骤,以进一步进行操作。
假设我们已经安装了Nginx并正在运行服务器。
让我们从下面的Amplify Agent安装步骤开始:

步骤1.通过SSH进入服务器,我们需要对其进行监视和下载,如下所示:

#wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh

步骤2.以root用户身份运行以下命令以安装Amplify Agent软件包。
我们可以从Amplify Dashboard的安装说明弹出窗口中获取此API_KEY。
每个个人帐户都有一个唯一的api密钥。
出于安全原因,我在“ ***”中标记了api键

# API_KEY='***' sh ./install.sh
Installed:
 nginx-amplify-agent.x86_64 0:0.47-1.el7
Complete!
8. Installing nginx-amplify-agent package ... done.
 9. Building configuration file ... done.
 10. Checking if sudo -u nginx -g nginx can be used for tests ... done.
 11. Checking if euid 997(nginx) can find root processes ... ok.
 12. Checking if euid 997(nginx) can access I/O counters for nginx ... ok.
 13. Checking connectivity to the receiver ... ok.
 14. Checking system time ... ok.
OK, everything went just fine!

步骤3.验证代理状态,如下所示:

# ps ax | grep -i 'amplify\-'
13536 ? S 0:01 amplify-agent

这些命令可用于启动/停止代理。

# service amplify-agent start
# service amplify-agent stop
# service amplify-agent restart

我们可以通过单击主窗口右下角的“新建系统”选项来向该代理添加新系统。
我们可以按照相同的说明在此处安装代理。

更新放大代理

我们需要定期检查更新并安装代理的最新稳定版本。
我们只需执行以下命令即可:

# yum makecache && \
yum update nginx-amplify-agent

配置代理

NGINX Amplify Agent的配置文件位于'/etc/amplify-agent/agent.conf'中。
对于代理和正在运行的NGINX实例,使用相同的用户ID确实很重要,这样代理才能正确收集所有NGINX指标。
默认情况下,它将使用用户nginx的用户ID来设置其有效用户ID,该用户ID是在安装过程中自动创建的。
如果该用户指令出现在NGINX配置中,则代理将选择NGINX配置中指定的用户作为其有效用户ID(例如www-data)。

我们甚至可以在此处[nginx]部分下的配置文件中手动指定代理应为其有效用户ID使用的用户ID。

[nginx]
user =
configfile = /etc/nginx/nginx.conf

配置stub_status或者扩展状态的URL

当代理找到正在运行的NGINX实例时,它将自动从NGINX配置中检测stub_status位置。
或者,我们可以使用stub_status配置选项覆盖stub_status URL,如下所示:

[nginx]
..
stub_status = http://127.0.0.1/nginx_status

配置系统日志

代理可以通过syslog收集NGINX日志文件。
当我们不将NGINX日志保留在磁盘上时,或者在使用NGINX Amplify监视诸如Docker之类的容器环境时,这可能会很有用。

要为syslog配置代理,请在/etc/amplify-agent/agent.conf中修改以下指令:
[听众]
键= syslog-default

[listener_syslog-默认]
地址= * //在此处指定IP:端口,就像这样127.0.0.1:12000 //*

重新启动代理以重新加载配置,并开始侦听指定的IP地址和端口。
在默认安装中,它从Nginx配置文件中收集所有日志信息。

配置其他Nginx指标

这可以收集许多其他有用的指标。
我将通知我们启用一些重要指标以完成其设置。
我们可以通过添加这些指标来添加更多预定义的图形。
使用所需的日志格式配置,我们将能够构建更多特定的自定义图表。
让我们看看如何将一组扩展的NGINX变量添加到访问日志格式。
我们可以添加新的日志格式或者修改现有的日志格式,并将其与NGINX配置中的access_log指令一起使用。
我通过以下更改修改了NGINX配置中的access_log指令。

http {
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 /var/log/nginx/access.log main_ext;

现在,我们可以将error.log日志级别设置为警告,如下所示:

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

我们可以使用(kill -HUPcat/var/run/nginx.pid)杀死现有的Nginx进程并重新启动,或者重新加载当前的Nginx配置(服务nginx重新加载)以保存这些更改。
我们可以在此处获取有关可以从NGINX日志文件收集的其他指标列表的更多信息。

就是这样!!我们已经成功安装了Amplify Agent,并配置了服务器进行监视。
我们可以在Web界面中概述受监视服务器(104.237.159.96)的状态,并在快照中记录到Amplify Accountas:

我们可以浏览每个选项卡以获取有关已添加服务器的所有信息。

卸载Amplify Agent

我们可以使用以下步骤完全删除以前监视的对象:

步骤1.使用以下命令卸载代理:

#yum remove nginx-amplify-agent

步骤2.从Web界面删除对象

从Amplify Web界面中删除服务器。
我们可以在Web界面的“列表”中找到它,然后选择“ [i]”图标。
我们可以像这样从随后显示的弹出窗口中删除所需的对象。

最后,检查“警报”页面并删除/静音为对象设置的不相关规则。