如何使用 Amazon Elasticsearch Service (Amazon ES) 处理 Amazon CloudFront 日志?

如要创建满足特定需求的自定义报告:

1.    为您的 CloudFront 分配启用日志,并将 CloudFront 日志传送至 S3 存储桶。

2.    使用运行 Logstash 的 Amazon EC2 实例,作为处理 CloudFront 日志的客户端。

3.    将日志推送到 Amazon ES 域。

4.    使用 Kibana 创建和可视化报告。

1.    (可选) 如果您在将要运行 Elasticsearch 域的区域没有 S3 存储桶,您必须首先创建一个。有关更多信息,请参阅如何创建 S3 存储桶?

2.    在 Amazon CloudFront 控制台,选择您的 CloudFront 分配,然后选择 Distribution Settings,然后选择 Edit
       对于 Logging,请选择 On
       在 Bucket for Logs 字段,选择您的 S3 存储桶。
       在 Log Prefix 字段,输入日志名称的前缀。

3.    选择是,请修改
       注意:您可能需要在 24 小时以后才可以查看传送到 S3 存储桶的日志请求。

4.    在 Elasticsearch Service 控制台,按照创建和配置 Amazon Elasticsearch Service 域的说明创建新的 Amazon ES 域。

5.    启动新的 Amazon EC2 实例。您将使用此 EC2 实例作为 Logstash 客户端。
       注意:您可能需要配置一个拥有 S3 (GET 对象) 和 Elasticsearch (Put 文档) 访问权限的 IAM 角色。有关更多信息,请参阅创建 IAM 角色

6.    使用 SSH 连接到新的 EC2 实例

7.    从命令行运行如下命令,以将 Logstash 客户端下载并安装到您的 EC2 实例上:

wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz

8.    使用如下命令提取 Logstash 客户端:

tar xvf logstash-2.4.0.tar.gz

9.    使用如下命令为 Elasticsearch 安装 Logstash 插件:

install logstash-output-amazon_es

10.   使用 vi 等文本编辑器编辑您的 cloudfront.conf 文件以反映下列方面:
        对于 bucket,请使用您的 S3 存储桶名称。
        对于 prefix,请使用您在第 2 步为 Log Prefix 指定的前缀。
        对于 hosts,请使用您的 CloudFront 分配的终端节点。
        对于 region,请使用您的资源所位于的区域。
        对于 template,请使用您的 CloudFront 模板所在的目录。

11.   将您所进行的更改保存到 cloudfront.conf。

12.   以 -f 选项运行 Logstash,将 cloudfront.conf 指定为配置文件。有关更多信息,请参阅 Command-Line Flags

Logstash 将在几分钟内开始将文档发布到您指定的 Elasticsearch 域。为确保文档的成功发布,请打开 Amazon ES 控制台,选择您的 ES 域,然后选择 Indices 选项卡。

您现在可以使用 Kibana 为您的日志创建自定义报告和可视化。有关更多信息,请参阅 Kibana 和 Logstash

注意:您可能需要配置访问策略以确保 Kibana 可以访问存储在 Amazon ES 域中的日志。


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2018 年 1 月 9 日