Nginx是一款常用的高性能的Web服务器,而服务器的稳定性是开发者密切关注的问题。通过Kibana中的Fleet Server可以管理Elastic Agent采集的Nginx日志,将Nginx日志输出到Kibana中进行可视化分析,帮助开发人员更好地监控和优化Nginx服务器的性能和安全性。本文在Fleet中同一个集成策略下通过Fleet Server管理两台源端ECS实例上的Nginx日志。
名词解释
名词 | 说明 |
Fleet | Elasticsearch中的一个功能强大的集中式管理解决方案,集中管理Agent服务。 |
Fleet Agent | 轻量级数据采集代理,负责采集源端数据。 Fleet Agent可以在多个操作系统上运行,并且可以收集多种类型的数据。 |
Fleet Server | 负责将Agent采集的源端数据传输到Elasticsearch。 |
准备环境
创建阿里云Elasticsearch实例。具体操作,请参见创建阿里云Elasticsearch实例。本文以Elasticsearch 8.5版本为例。
说明支持7.10版本及以上Elasticsearch实例。
暂不支持7.16版本阿里云Elasticsearch实例。
创建2台ECS实例。具体操作,请参见自定义购买实例。
ECS实例与Elasticsearch实例处于同一专有网络下。
ECS需要绑定弹性公网IP。具体操作,请参见绑定和解绑弹性公网IP。
说明ECS实例作为源端服务器,Elastic Agent会采集ECS实例上的Nginx日志。
创建代理策略并添加集成
步骤一:创建代理策略
登录Kibana控制台。具体操作,请参见登录Kibana控制台。
单击
。在Fleet页面,单击代理策略页签。
单击创建代理策略,在创建代理策略控制面板中配置代理策略。
输入代理策略名称nginx-log。
取消选中收集系统日志和指标。
单击高级选项,在代理监测区域,取消选中收集代理日志和收集代理指标。
说明本场景仅采集Nginx日志,因此取消选中收集系统日志和指标和代理的自身数据。
配置完成后,在页面右下角单击创建代理策略。
步骤二:创建Fleet Server集成
在Fleet页面的代理策略页签,单击新创建的代理策略nginx-log。
在集成页签中,单击添加集成。
在浏览集成页签,在搜索框中搜索Fleet Server,并单击Fleet Server。
安装Fleet Server集成。
在Fleet Server页面,单击设置页签。
单击安装Fleet Server资产,在弹出的对话框中单击安装Fleet Server。
说明安装集成后,设置页签中会显示集成的版本。
在页面右上角,单击添加Fleet Server。
在添加Fleet Server集成页面,输入集成名称,默认选择代理策略为
nginx-log
。在页面右下角,单击保存并继续,在弹出的对话框中单击稍后添加Elastic代理。
步骤三:创建Nginx集成
在代理策略nginx-log的集成页签中,单击添加集成。
在浏览集成页签,在搜索框中搜索Nginx,并单击Nginx。
安装Nginx集成。
在Nginx页面,单击设置页签。
单击安装Nginx资产,在弹出的对话框中单击安装Nginx。
说明安装集成后,设置页签会显示集成的版本。
在页面右上角,单击添加Nginx。
在添加Nginx集成页面,配置集成。
在集成设置区域,默认输入集成名称nginx-1。
单击Collect logs from Nginx instances后面的更改默认值,可以自定义收集日志的路径。
在要将此集成添加到什么位置区域,在Existing hosts页签下,选择代理策略为
nginx-log
。
配置完成后,在页面右下角单击保存并继续,在弹出的对话框中单击稍后添加Elastic代理。
添加Agent
步骤一:设置Fleet服务器主机
单击
。在Fleet页面,单击设置页签,配置Fleet。
在Fleet服务器主机区域,单击编辑主机。
在Fleet服务器主机控制面板中,输入源端的私网地址,格式为
https://<私网IP>:<端口>
,例如https://172.16.*.***:8220
。说明本文私网IP为ECS实例的主私网IP。更多配置信息,请参见Fleet Server hosts。
在输出区域,在操作列单击。
在编辑输出控制面板中,输入Elasticsearch实例的私网地址,格式为
http://<私网地址>:<端口>
,例如http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200
。单击保存并应用设置,在弹出的对话框中单击保存并部署。
步骤二:添加Elastic Agent
在Fleet页面,单击代理策略页签。
在代理策略ginx-log的操作列,选择
。在为Fleet服务器选择策略区域,默认选择代理策略为
nginx-log
。在为安全选择部署模式区域,默认选中快速启动。
在添加您的Fleet服务器主机区域,单击右侧的添加主机。
在生成服务令牌区域,单击生成服务令牌。
在将Fleet服务器安装到集中式主机区域,复制自动生成的代码块,并将代码在第一台ECS实例中执行。
代码执行完毕后,如果看到
Successfully
字样,表明ECS服务器上成功安装并启动Elastic Agent。执行上一个步骤,在第二台ECS实例中添加Elastic Agent。
查看数据
您可以通过以下三种方法查看Nginx日志。
方法一:通过Dashboards查看Nginx数据
单击
。在Fleet页面,单击数据流页签,Nginx相关日志已显示在数据集列表中。
在数据集的操作列,选择
,选择要查看的信息。例如选择[Metrics Nginx] Overview
。
方法二:通过Discovery查看索引数据
单击
。在页面右上角选择数据视图,例如选择
metrics-*
。
方法三:通过kibana查询数据
单击
。执行如下命令,查看Nginx相关日志数据。
GET logs-nginx.access-*/_search GET logs-nginx.error-*/_search