

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

# 指定代理配置设置
<a name="agent-config-settings"></a>

代理支持两个必需的配置设置，即 `filePattern` 和 `deliveryStream`，以及可用于其他功能的可选配置设置。您可以在 `/etc/aws-kinesis/agent.json` 中指定必需配置设置和可选配置设置。

只要您更改配置文件，就必须使用以下命令停止再启动代理：

```
sudo service aws-kinesis-agent stop
sudo service aws-kinesis-agent start
```

或者，您也可以使用以下命令：

```
sudo service aws-kinesis-agent restart
```

一般的设置配置如下。


| 配置设置 | 说明 | 
| --- | --- | 
| <a name="assumeRoleARN"></a>assumeRoleARN | 用户应承担的角色的 Amazon 资源名称 (ARN)。有关更多信息，请参阅 IAM *用户指南*中的[使用 IAM 角色委派跨 AWS 账户访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)。 | 
| <a name="assumeRoleExternalId"></a>assumeRoleExternalId | 确定谁可以担任该角色的可选标识符。有关更多信息，请参阅《IAM 用户指南》**中的[如何使用外部 ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)。 | 
| <a name="awsAccessKeyId"></a>awsAccessKeyId | AWS 覆盖默认凭证的访问密钥 ID。此设置优先于所有其他凭证提供程序。 | 
| <a name="awsSecretAccessKey"></a>awsSecretAccessKey | AWS 覆盖默认凭证的密钥。此设置优先于所有其他凭证提供程序。 | 
| cloudwatch.emitMetrics |  CloudWatch 如果已设置，则允许代理向其发送指标 (true)。<br />默认：True | 
| cloudwatch.endpoint | 的区域终端节点 CloudWatch。<br />默认值：`monitoring.us-east-1.amazonaws.com` | 
| firehose.endpoint | Amazon Data Firehose 的区域端点。<br />默认值：`firehose.us-east-1.amazonaws.com` | 
| sts.endpoint |  AWS 安全令牌服务的区域终端节点。<br />默认值：`https://sts.amazonaws.com` | 
| userDefinedCredentialsProvider.classname | 如果定义自定义凭证提供程序，请使用此设置提供其完全限定类名。不要在类名末尾包含 .class。 | 
| userDefinedCredentialsProvider.location | 如果定义自定义凭证提供程序，请使用此设置指定包含自定义凭证提供程序的 jar 的绝对路径。代理还在以下位置查找 jar 文件：/usr/share/aws-kinesis-agent/lib/。 | 

流配置设置如下。


| 配置设置 | 说明 | 
| --- | --- | 
| aggregatedRecordSizeBytes | 要使代理聚合记录，然后在一个操作中将这些记录放入 Firehose 流，请指定此设置。将此项设置为所需的大小，您希望聚合记录达到该大小后，代理将记录放入 Firehose 流。<br />默认值：0（不聚合） | 
| dataProcessingOptions | 在将每个被分析的记录发送到 Firehose 流之前应用于这些记录的处理选项的列表。这些处理选项按指定的顺序执行。有关更多信息，请参阅 [使用代理对数据进行预处理](pre-processing.md)。 | 
| deliveryStream | [必需] Firehose 流名称。 | 
| filePattern | [必需] 需要由代理监控的文件的 Glob。与此模式匹配的任何文件都会自动由代理挑选出来并进行监控。对于匹配此模式的所有文件，请向 `aws-kinesis-agent-user` 授予读取权限。对于包含这些文件的目录，请向 `aws-kinesis-agent-user` 授予读取和执行权限。 代理将选择与此模式匹配的任何文件。为了确保代理不会选择意外的记录，请仔细选择此模式。  | 
| initialPosition | 开始解析文件的初始位置。有效值为 `START_OF_FILE` 和 `END_OF_FILE`。<br />默认值：`END_OF_FILE` | 
| maxBufferAgeMillis | 代理在将数据发送到 Firehose 流之前缓冲数据的最长时间（以毫秒计）。<br />值范围：1,000-900,000（1 秒到 15 分钟）<br />默认值：60,000（1 分钟） | 
| maxBufferSizeBytes | 代理在将数据发送到 Firehose 流之前缓冲的数据的最大大小（以字节计）。<br />值范围：1-4,194,304（4MB）<br />默认值：4194304 (4 MB) | 
| maxBufferSizeRecords | 代理在将数据发送到 Firehose 流之前缓冲数据的最大记录数。<br />值范围：1-500<br />默认值：500 | 
| minTimeBetweenFilePollsMillis | 代理轮询和分析受监控文件中是否有新数据的时间间隔（以毫秒计）。<br />值范围：1 或更大值<br />默认值：100 | 
| multiLineStartPattern | 用于标识记录开始的模式。记录由与模式匹配的行以及与模式不匹配的任何以下行组成。有效值为正则表达式。默认情况下，日志文件中的每一个新行都被解析为一条记录。 | 
| skipHeaderLines | 代理从受监控文件开头跳过分析的行数。<br />值范围：0 或更大值<br />默认值：0（零） | 
| truncatedRecordTerminator | 在记录大小超过 Amazon Data Firehose 记录大小限制时，代理用来截断已解析记录的字符串。(1000 KB)<br />默认值：`'\n'`（换行符） | 