

# 将 Lambda 函数日志发送到 Firehose
<a name="logging-with-firehose"></a>

Lambda 控制台现在提供了向 Firehose 发送函数日志的选项。这可以将您的日志实时流式传输到 Firehose 支持的各种目标，包括第三方分析工具和自定义端点。

**注意**  
您可以使用 Lambda 控制台、AWS CLI、AWS CloudFormation 和所有 AWS SDK 将 Lambda 函数日志配置为发送到 Firehose。

## 定价
<a name="logging-firehose-pricing"></a>

有关定价详细信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/#Vended_Logs)。

## Firehose 日志目标所需的权限
<a name="logging-firehose-permissions"></a>

使用 Lambda 控制台将 Firehose 配置为函数的日志目标时，您需要：

1. 将 CloudWatch Logs 与 Lambda 结合使用[所需的 IAM 权限](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html#monitoring-cloudwatchlogs-prereqs)。

1. [使用 Firehose 设置订阅筛选条件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#FirehoseExample)。此筛选条件定义将哪些日志事件传送到 Firehose 流。

## 将 Lambda 函数日志发送到 Firehose
<a name="logging-firehose-setup"></a>

在 Lambda 控制台中，您可以在创建新函数后将函数日志直接发送到 Firehose。为此，请完成以下步骤：

1. 登录 AWS 管理控制台，然后打开 Lambda 控制台。

1. 选择您的函数名称。

1. 选择**配置**选项卡。

1. 选择**监控和操作工具**选项卡。

1. 在“日志记录配置”部分中，选择**编辑**。

1. 在“日志内容”部分，选择一种日志格式。

1. 在“日志目标”部分中，完成以下步骤：

   1. 选择目标服务。

   1. 选择**创建新的日志组**或使用**现有日志组**。
**注意**  
如果为 Firehose 目标选择现有日志组，则请确保您选择的日志组是 `Delivery` 日志组类型。

   1. 选择一个 Firehose 流。

   1. 将出现 CloudWatch `Delivery` 日志组。

1. 选择**保存**。

**注意**  
如果控制台中提供的 IAM 角色没有所需的权限，则目标设置将失败。要解决此问题，请参阅“Firehose 日志目标所需的权限”以提供所需的权限。

## 跨账户日志记录
<a name="cross-account-logging-firehose"></a>

您可以将 Lambda 为使用不同 AWS 账户向 Firehose 传输流发送日志。这需要设置目标，并在两个账户中配置适当的权限。

有关设置跨账户日志记录的详细说明，包括所需的 IAM 角色和策略，请参阅 CloudWatch Logs 文档中的 [Setting up a new cross-account subscription](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions.html)。