

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置 Kinesis 代理以发送数据
<a name="writing-with-agents"></a>

Amazon Kinesis 代理是独立的 Java 软件应用程序，可用作参考实施，以显示如何收集数据并将其发送到 Firehose。此代理持续监控一组文件，并将新数据发送到您的 Firehose 流。代理显示您如何处理文件轮换、检查点操作并在失败时重试。它向您显示如何以可靠、及时且简单的方法传输您的数据。它还显示了如何发布 CloudWatch指标以更好地监控流媒体过程并对其进行故障排除。要了解更多信息，请访问 [awslabs/ amazon-kinesis-agent](https://github.com/awslabs/amazon-kinesis-agent)。

默认情况下，会基于换行符 (`'\n'`) 分析每个文件中的记录。但是，也可以将代理配置为分析多行记录（请参阅 [指定代理配置设置](agent-config-settings.md)）。

您可以在基于 Linux 的服务器环境（如 Web 服务器、日志服务器和数据库服务器）上安装此代理。在安装代理后，通过指定要监控的文件和数据的 Firehose 流来配置代理。在配置好代理之后，代理将持续从这些文件中收集数据并以可靠的方式将数据发送到 Firehose 流。

## 先决条件
<a name="prereqs"></a>

在开始使用 Kinesis 代理之前，请确保您满足以下先决条件。
+ 您的操作系统必须是 Amazon Linux 或 Red Hat Enterprise Linux 7 或更高版本。
+ 代理 2.0.0 或更高版本使用 JRE 1.8 或更高版本运行。代理 1.1.x 使用 JRE 1.7 或更高版本运行。
+ 如果您使用 Amazon EC2 运行代理，请启动 EC2 实例。
+ 您指定的 IAM 角色或 Amazon 证书必须具有执行 Amazon Data Firehose [PutRecordBatch](https://docs.amazonaws.cn/firehose/latest/APIReference/API_PutRecordBatch.html)操作的权限，代理才能将数据发送到您的 Firehose 流。如果您为代理启用 CloudWatch 监控，则还需要执行该 CloudWatch [PutMetricData](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)操作的权限。有关更多信息，请参阅[使用 Amazon Data Firehose 控制访问权限](controlling-access.md)[监控 Kinesis 代理运行状况](agent-health.md)、和 [Amazon 的身份验证和访问控制 CloudWatch](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)。