# 日志集中管理

## 日志管理方式1: 使用Security Lake收集

**日志收集**

Amazon Security Lake 可以从以下支持的 AWS 服务中收集日志和事件：

* [CloudTrail - Management events](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi#cloudtrail-event-logs)
* [CloudTrail - Lambda data events](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi#cloudtrail-event-logs)
* [CloudTrail - S3 data events](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi#cloudtrail-event-logs)
* [Amazon Route 53 resolver query logs](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi#route-53-logs)
* [AWS Security Hub findings](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi#security-hub-findings)
* [Amazon Virtual Private Cloud (Amazon VPC) Flow Logs](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi#vpc-flow-logs)

Amazon Security Lake 支持第三方的提供OCSF格式安全数据来源， 包括 [Barracuda Networks](https://blog.barracuda.com/2022/11/29/barracuda-integration-aws-security-lake/), [Cisco](https://blogs.cisco.com/security/cisco-joins-amazon-web-services-aws-for-the-launch-of-security-lake), [Cribl](https://cribl.io/blog/when-stream-meets-lake-cribl-integrates-with-new-amazon-security-lake/), [CrowdStrike](https://www.crowdstrike.com/blog/crowdstrike-announces-expanded-service-integrations-at-aws-reinvent-2022/), [CyberArk](https://www.cyberark.com/resources/product-announcements-blog/cyberark-audit-delivers-security-event-information-to-amazon-security-lake), [Lacework](https://www.lacework.com/blog/lacework-integrates-with-amazon-security-lake-to-reduce-complexity-in-your-cloud), [Laminar](https://laminarsecurity.com/blog/laminar-integrates-with-amazon-security-lake/), [Netscout](https://www.netscout.com/blog/utilizing-netscout-deep-packet-inspection-technology-enrich), [Netskope](https://www.netskope.com/press-releases/netskope-further-improves-risk-visibility-on-aws-strengthening-customers-security-posture), [Okta](https://www.okta.com/blog/2022/11/amazon-security-lake-and-okta-make-data-more-accessible-for-increased-security/), [Orca](https://orca.security/resources/blog/amazon-security-lake-orca-security/), [Palo Alto Networks](https://www.paloaltonetworks.com/blog/prisma-cloud/amazon-security-lake), Ping Identity, [SecurityScorecard](https://securityscorecard.com/blog/up-level-your-amazon-security), [Tanium](https://tanium.com/blog/ocsf-amazon-security-lake/), [The Falco Project](https://falco.org/blog/falco-on-aws), Trend Micro, [Vectra AI](https://www.vectra.ai/blogpost/vectra-offers-game-changing-amazon-security-lake-integration), [VMware](https://blogs.vmware.com/management/2022/11/vmware-aria-automation-for-secure-clouds-integration-with-amazon-security-lake.html), [Wiz](https://www.wiz.io/blog/wiz-launches-support-for-ocsf-to-detect-and-resolve-cloud-security-issues), and Zscaler.

**分析工具**

Amazon Security Lake 可以使用以下支持的 AWS 服务分析收集到的日志：

* Athena，一款成本低使用方便的分析工具，用SQL查询的方式查询日志；[使用Security Lake和Athena分析日志](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/ri-zhi-ji-zhong-guan-li/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi/shi-yong-security-lake-he-athena-fen-xi-ri-zhi)
* OpenSearch，提供漂亮的展示报表分析工具，可以制作自定义的分析报告；[SIEM on Amazon OpenSearch Service](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/ri-zhi-ji-zhong-guan-li/siem-on-amazon-opensearch-service)是一个开源项目，支持用opensearch做分析展现，可以将Security Lake作为其中之一的日志源。

您还可以使用第三方安全分析工具分析日志，包括： [Datadog](https://www.datadoghq.com/blog/analyze-amazon-security-lake-logs-with-datadog), [IBM](https://community.ibm.com/community/user/security/blogs/gaurav-sharma/2022/11/10/ibm-qradar-and-aws-announcement), [Rapid7](https://www.rapid7.com/blog/post/2022/11/29/insightidr-launches-integration-with-new-aws-security-data-lake-service/), Securonix, [SentinelOne](https://s1.ai/amazon-security-lake), [Splunk](https://www.splunk.com/en_us/blog/security/splunk-integrates-with-amazon-security-lake-to-deliver-analytics-using-the-open-cybersecurity-schema-framework.html), Sumo Logic, and [Trellix](https://www.trellix.com/en-us/about/newsroom/stories/xdr/trellix-leverages-amazon-security-lake.html)。还有服务合作伙伴，比如  Accenture, Atos, Deloitte, DXC, [Kyndryl](https://www.kyndryl.com/us/en/about-us/news/2022/11/kyndryl-aws-data-security), PWC, Rackspace, and Wipro t可以和你一起用好Amazon Security Lake。

更多信息：

[使用Amazon Security Lake收集安全日志](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/ri-zhi-ji-zhong-guan-li/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi)

[通过Security Lake构建你的安全数据湖](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/ri-zhi-ji-zhong-guan-li/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi/tong-guo-security-lake-gou-jian-ni-de-an-quan-shu-ju-hu)

[Amazon Security Lake收集日志并分析的费用](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/an-quan-chan-pin-cheng-ben-gu-suan/amazon-security-lake-shou-ji-ri-zhi-bing-fen-xi-de-fei-yong)

[使用Security Lake和Athena分析日志](https://aws-gcr-wwso-security.gitbook.io/an-quan-zui-jia-shi-jian/4.-ri-zhi-yu-jian-kong/ri-zhi-ji-zhong-guan-li/shi-yong-amazon-security-lake-shou-ji-an-quan-ri-zhi/shi-yong-security-lake-he-athena-fen-xi-ri-zhi)

## 日志管理方式2: 逐个收集

### 1-使用Amazon CloudWatch Logs集中管理日志

CloudWatch Log服务，是AWS提供给的全托管日志服务。CloudWatch Logs使您能够将所有系统、应用程序和AWS服务中的日志集中在一个高度可扩展的单个服务中。您可以轻松地查看日志、在日志中搜索特定错误代码或模式、根据特定字段筛选日志，或者安全地将这些日志归档以供将来分析。

中国区Amazon CloudWatch Logs - [文档地址](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)

中国区支持将日志发布到 CloudWatch Logs 的服务 - [文档地址](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/aws-services-sending-logs.html)

为了降低存储成本，可以把CloudWatch Logs中的日志，导出到S3中进行长期存储。建议在CloudWatch Logs中保存2周，用来做分析使用；然后导出到S3中，为审计使用。

step 1: [使用日志组和日志流](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)

step 2: [使用控制台将日志数据导出到 Amazon S3](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/S3ExportTasksConsole.html)

### 2-日志收集

将采集到的所有AWS Services的日志存放到统一的S3存储桶中，然后可以使用OpenSearch或者其他SIEM软件实现安全告警的统一管理。

参考Github中日志收集的描述和可部署的CloudFormation文件：

<https://github.com/aws-samples/siem-on-amazon-opensearch-service/blob/main/docs/configure_aws_service.md>

<table><thead><tr><th width="284">AWS Services</th><th>Log</th></tr></thead><tbody><tr><td>AWS Security Hub</td><td><p>Security Hub findings </p><p>GuardDuty findings </p><p>Amazon Macie findings </p><p>Amazon Inspector findings </p><p>AWS IAM Access Analyzer findings</p></td></tr><tr><td>AWS WAF</td><td><p>AWS WAF Web ACL traffic information </p><p>AWS WAF Classic Web ACL traffic information</p></td></tr><tr><td>AWS Network Firewall</td><td><p>Flow logs </p><p>Alert logs</p></td></tr><tr><td>AWS CloudHSM</td><td>HSM audit logs</td></tr><tr><td>AWS Directory Service</td><td>Microsoft AD</td></tr><tr><td>AWS CloudTrail</td><td><p>CloudTrail Log Event </p><p>CloudTrail Insight Event</p></td></tr><tr><td>AWS Config</td><td><p>Configuration History </p><p>Configuration Snapshot </p><p>Config Rules</p></td></tr><tr><td>AWS Trusted Advisor</td><td>Trusted Advisor Check Result</td></tr><tr><td>Amazon CloudFront</td><td><p>Standard access log </p><p>Real-time log</p></td></tr><tr><td>Amazon Route 53 Resolver</td><td>VPC DNS query log</td></tr><tr><td>Amazon Virtual Private Cloud (Amazon VPC)</td><td>VPC Flow Logs (Version5) Text / Parquet Format</td></tr><tr><td>AWS Transit Gateway</td><td>VPC Flow Logs (Version6) Text / Parquet Format</td></tr><tr><td>Elastic Load Balancing</td><td><p>Application Load Balancer access logs </p><p>Network Load Balancer access logs </p><p>Classic Load Balancer access logs</p></td></tr><tr><td>AWS Client VPN</td><td>connection log</td></tr><tr><td>Amazon FSx for Windows File Server</td><td>audit log</td></tr><tr><td>Amazon Simple Storage Service (Amazon S3)</td><td>access log</td></tr><tr><td>Amazon Aurora(MySQL) Amazon Aurora(PostgreSQL) Amazon RDS for MariaDB Amazon RDS for MySQL Amazon RDS for PostgreSQL</td><td>Audit logs</td></tr><tr><td>Amazon ElastiCache</td><td>ElastiCache for Redis SLOWLOG</td></tr><tr><td>Amazon OpenSearch Service</td><td>Audit logs</td></tr><tr><td>Amazon Managed Streaming for Apache Kafka (Amazon MSK)</td><td>Broker log</td></tr><tr><td>Linux OS via CloudWatch Logs</td><td><p>/var/log/messages </p><p>/var/log/secure</p></td></tr><tr><td>Windows Server 2012/2016/2019 via CloudWatch Logs</td><td><p>System event log </p><p>Security event log</p></td></tr><tr><td>Amazon Elastic Container Service (Amazon ECS) via FireLens</td><td>Framework only</td></tr><tr><td>Amazon WorkSpaces</td><td>Event log Inventory</td></tr></tbody></table>

#### \* EC2日志收集

\[blog] 中国区 - [使用Cloudwatch Agent在Cloudwatch中收集、展现EC2的内存及系统、应用日志](https://aws.amazon.com/cn/blogs/china/cloudwatch-agent-in-cloudwatch-ec2-rom/)

\[blog] - [Container容器日志收集到CloudWatch Logs](https://aws.amazon.com/blogs/devops/send-ecs-container-logs-to-cloudwatch-logs-for-centralized-monitoring/)

\[操作文档] [CloudWatch Log系统级日志收集配置方法](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/system-level-cloudwatch-configuration.html)

#### \* RDS日志收集

**RDS MySQL**

RDS MySQL数据库的审计日志依赖于MariaDB Audit Plugin插件。MariaDB Audit Plugin插件可以通过RDS的Option groups。所以我们先在RDS控制台的Option group中打开这个插件，然后再在下节中配置RDS输出审计日志到CloudWatch Logs。

开启mysql的audit log - [参考文档](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html)

**RDS PostgreSQL**

开启PG的审计日志模块 - [参考文档](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.Extensions.html#Appendix.PostgreSQL.CommonDBATasks.pgaudit)

数据库审计功能使用pgaudit请参考这个操作指导 - [文档地址](https://repost.aws/zh-Hans/knowledge-center/rds-postgresql-pgaudit)

**最后，发送到CloudWatch Logs实现集中管理**

将数据库日志发布到 Amazon CloudWatch Logs - [文档地址](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html)

#### \* ALB日志收集

application里的httpd日志，都是alb访问的信息；alb的日志是外部用户访问的信息。

**Step 1: 给S3 bucket添加权限**

通过S3控制台，找到之前创建的bucket，然后打开，切换到“权限”tab页

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2Fh1pj1fPCIDez9yFFJIsx%2Fimage.png?alt=media&#x26;token=0c23dc89-63b2-482d-be6d-8d79cff569be" alt=""><figcaption></figcaption></figure>

找到存储桶策略位置，然后“编辑”

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FdotfOqG6HrHNE9r7ck2F%2Fimage.png?alt=media&#x26;token=6f25102c-b0c1-4832-ad87-0cf0c929cc20" alt=""><figcaption></figcaption></figure>

加上Principal，指定你的ALB的账号假设为`12345678901，`可以上传文件到你的这个bucket。

```
{
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws-cn:iam::12345678901:root"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws-cn:s3:::your bucket/*"
        }

```

**Step 2: 开启ALB日志**

在EC2控制台导航到负载均衡列表页，然后选择我们之前创建的ALB

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FQVTfEqSMbdWTIWSCdpkU%2Fimage.png?alt=media&#x26;token=9b3f21ee-b7d5-4281-8a24-582cdb411c53" alt=""><figcaption></figcaption></figure>

切换到“属性”tab页，然后“编辑”

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FwubMASIAmMBzI8xdmsUe%2Fimage.png?alt=media&#x26;token=37051fba-e564-48c4-abb9-2903ede7c536" alt=""><figcaption></figcaption></figure>

在“监控”的部分，开启“访问日志”，通过“Browse S3”选择之前创建好的S3 bucket

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2Fku83C0aieuuhFoxeHCNc%2Fimage.png?alt=media&#x26;token=ee9022ca-85ef-4b05-a918-47847d1ce1d6" alt=""><figcaption></figcaption></figure>

#### \* CloudTrail日志收集

[使用 Amazon CloudWatch Logs 监控 CloudTrail 日志文件](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html)

方式1: 创建CloudTrial跟踪时就启用CloudWatch Logs

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2Fp6QMk97x5wLYI8RRvSLa%2FScreen%20Shot%202023-04-15%20at%2013.21.58.png?alt=media&#x26;token=d73ed326-ef59-47a1-b8f1-35556f8f35d1" alt=""><figcaption><p>启用CloudWatch Logs</p></figcaption></figure>

方式2: 选择已经创建的跟踪，打开进入详情页面，编辑“CloudWatch Logs”，指定日志组名称和角色名称。

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FbMR9mA1o29F7B1afs6IE%2FScreen%20Shot%202023-04-15%20at%2013.23.30.png?alt=media&#x26;token=bbc03f3a-d036-42dc-848e-7b26d9da2417" alt=""><figcaption><p>编辑已创建的跟踪</p></figcaption></figure>

#### 主机上应用的日志收集

在主机上安装的开源软件，或者自定义编写的应用系统的日志也可以通过Amazon CloudWatch Agent收集。——[文档地址](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/)

有了StatsD和collectd的支持，除了已经收集的系统指标和应用日志外，你现在还可以使用CloudWatch代理来收集和监控你的自定义应用。此外，你可以用这些指标创建操作仪表板，设置警报，以便在可用内存不足时采取自动行动，并通过深入研究应用程序日志来排除问题。 请注意，StatsD同时支持Windows和Linux操作系统，而collectd只支持Linux。 对于Windows，你也可以继续使用Windows Performance Counters来收集自定义指标。

#### WAF日志收集

[Logging AWS WAF web ACL traffic](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)

可以启用日志记录，获得web ACL分析的流量详细信息。你可以将WAF日志发送到Amazon CloudWatch Logs日志组、Amazon Simple Storage Service（Amazon S3）存储桶或Amazon Kinesis Data Firehose。

* [Pricing for logging web ACL traffic information](https://docs.aws.amazon.com/waf/latest/developerguide/logging-pricing.html)
* [AWS WAF logging destinations](https://docs.aws.amazon.com/waf/latest/developerguide/logging-destinations.html)
* [Managing logging for a web ACL](https://docs.aws.amazon.com/waf/latest/developerguide/logging-management.html)
* [Log Fields](https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html)
* [Log Examples](https://docs.aws.amazon.com/waf/latest/developerguide/logging-examples.html)

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2FEsi5w7Z1VdDgQLxHWKCl%2Fimage.png?alt=media&#x26;token=07c95e85-1de7-4251-a427-336fe4b2f5f1" alt=""><figcaption></figcaption></figure>

AWS WAF 有两种类型 :AWS WAF 和 AWS WAF Classic。 这两种服务都可以以相同的方式将两者的日志输出到 S3 存储桶。 s3\_key 的初始值 :`aws-waf-logs-` AWS WAF ACL 流量日志从 Kinesis Data Firehose 导出到 S3 存储桶。

**I. AWS WAF 基本配置**

首先，部署 Kinesis Data Firehose

1. 导航至 Amazon Kinesis 管理界面并选择 **AWS WAF 所部署的 Region**
2. 在左侧的导航栏选择 \[**Delivery streams**], 进入页面后点击 \[**Create delivery stream**] 按钮。
3. 在 \[New delivery stream] 界面, 输入如下参数:
   * Source: 选择 \[**Direct PUT or other sources**]
   * Destination: 选择 \[**Amazon S3**]
4. 在 \[Transform and convert records - optional] 界面, 选择如下参数:
   * Data transformation: \[**Disabled**]
   * Record format conversion: \[**Disabled**]
   * 选择 \[**Next**]
5. 在 \[Choose a destination] 界面, 选择或输入如下参数:
   * S3 bucket: \[**aes-siem-123456789012-log**]
     * 使用您自己的AWS Account ID 替换 123456789012
   * S3 前缀: 输入 \[**AWSLogs/123456789012/WAF/region/**]
   * S3 错误 前缀: Enter \[**AWSLogs/123456789012/WAF/region/error/**]
     * 使用您自己的AWS Account ID 替换 123456789012，使用您当前使用的 Region ID 替换, 例如 (cn-northwest-1) .
6. 在 \[Buffer hints, compression and encryption] 界面, 输入如下参数:
   * Buffer size: 选择 5 MiB 或者自定义值 \[**any number**]
   * Buffer interval: 选择300 seconds或者输入 \[**any number**]
   * S3 compression: 选择 \[**GZIP**]
   * 其他参数保持默认值
   * 选择 \[**Next**]
7. 点击 \[**Create delivery stream**]

**II. 在 AWS WAF 中配置日志信息**

1. 导航至 [WAFv2 console](https://console.amazonaws.cn/wafv2/home?)
2. 在左侧的导航菜单中选择 \[**Web ACLs**]
3. 从屏幕中央的下拉菜单中，选择您部署 WAF 所在的 \[**region**] ，例如 China(BeiJing) 或者 China(Ningxia), => 然后选择 Web ACLS
4. 在 \[**Logging and metrics**] 便签页中选择 => \[**Enable logging**] => 选择 Kinesis Data Firehose steam
5. 在 \[Amazon Kinesis Data Firehose Delivery Stream] 下拉菜单中, 选择 \[**你所创建的Kinesis Firehose**]
6. 选择 \[**Save**] 完成配置。

#### ECS日志收集

<figure><img src="https://3752289132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LTfg4e0NhLEbwi6WFJp%2Fuploads%2F8d1XTbkbj3knag1SUrFe%2Fimage.png?alt=media&#x26;token=7de77a13-713f-42a8-b086-7b30c13d817e" alt=""><figcaption></figcaption></figure>

s3\_key 的初始值：N/A。为每个容器应用程序创建和配置 Firehose

* ECS 日志通过 Firelens (Fluent Bit) 发送到 Firehose 并输出到 S3
* 每个容器应用的日志类型由S3文件路径决定。所以你需要为每种日志类型配置 Firehose
* 容器信息是从 ECS 元数据中捕获的。 [Enable it in task definitions](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef-metadata)
* 默认情况下，不加载 STDERR。如果要加载它，请在 user.ini 中设置 ignore\_container\_stderr = False。 @timestamp 是收到 SIEM 日志的时间。

配置 Kinesis Data Firehose

1. 按照 Security Hub 中的【Kinesis Data Firehose 设置】中的步骤操作。
2. 在S3的输出路径中包含决定应用的key（例如apache）
3. 因为AWS acount和region是从S3中存储的日志中捕获的，所以在S3输出路径中包含这两个参数是可选的

配置 AWS Firelens

1.Firelens发送日志的任务定义文件和IAM权限设置,请参见[官方文档](https://docs.aws.amazon.com/zh_cn/AmazonECS/latest/userguide/using_firelens.html)和 aws-samples [Send to Kinesis Data Firehose in amazon-ecs-firelens-examples](https://github.com/aws-samples/amazon-ecs-firelens-examples/tree/mainline/examples/fluent-bit/kinesis-firehose)

1. 中文Blog，请参考[使用 AWS FireLens 轻松实现 AWS Fargate 容器日志处理](https://aws.amazon.com/cn/blogs/china/easy-aws-fargate-container-log-processing-with-aws-firelens/)

### 3-日志解析和可视化

日志帮助提供了大量的信息，但大多数时候，它们很难阅读和解析。它们有许多不同的格式，有时非常大的文本文件挤在一起，总之，人眼很难阅读。为了帮助解决这个问题，AWS提供了一些服务，使解析这些日志更容易。

#### 1 Amazon Athena

Amazon Athena允许您使用标准SQL查询来查询日志文件。它是无服务器的，因此您不必设置任何硬件或基础设施，并且它是一个按次付费的模型，这意味着您只需为运行的查询付费。

Athena使用支持ANSI SQL的Presto，因此它适用于各种数据格式。最常见的是CSV、JSON、ORC、Avro或Parquet。Athena非常强大，可以处理大型连接、数组和窗口函数，同时，也非常适合快速临时查询。由于Athena与Amazon QuickSight无缝集成，您可以轻松地在易于理解的图像中可视化您的查询和数据。如果您想保留元数据存储，以允许一个集中日志管理系统利用ETL和数据发现功能查询您的数据，Athena还与AWS Glue数据目录集成。

#### 2 Amazon EMR

EMR可以快速处理大量数据。您可以选择使用Apache Spark、Apache Hive、Apache HBase、Apache Flink、Apache Hudi（孵化）和Presto等开源工具。这是一个托管集群平台，利用EC2和S3的可扩展性来执行快速、数据密集型扫描。

#### 3 Amazon Kinesis Data Analytics

Amazon Kinesis Data Analytics允许您轻松收集，处理和分析实时数据。比如快速发现入侵到账户内的攻击者，DDoS攻击，异常的API请求等等。

#### 成本对比

以美东区为例：

**Athena**扫描1TB的数据，价格：**5美元**。详细[参见文档](https://aws.amazon.com/athena/pricing/?nc=sn\&loc=3)。

**EMR**成本基于实例大小，假设你运行一个部署在Amazon EC2上的Amazon EMR应用程序，并且你使用一个c4.2xlarge EC2实例作为主节点。你将被收取EMR和EC2节点的费用。如果你运行了一个月，在那一个月里有100%的利用率，并使用EC2的按需定价，你的费用将是：

EMR收费=1个实例×0.105美元/小时×（100/100利用率/月）×每月730小时=**76.65美元**（EMR主节点成本）

EC2收费=1个实例×0.398美元/小时×每月730小时=**290.54美元**（EC2主节点成本）。

详细[参见文档](https://aws.amazon.com/emr/pricing/?nc=sn\&loc=4)。

**Kinesis**是另一个出色的数据分析产品，非常适合持续运行的大型数据集。您必须确定有多少碎片将处理您的数据流，有多少流的消费者，写入和读取的带宽以及数据存储。假设，您每分钟扫描50,000个记录，每个24KB，由此产生的成本为每月**249.66美元**。

详细[参见文档](https://aws.amazon.com/kinesis/data-analytics/pricing/?nc=sn\&loc=3)。
