

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

# 手动添加 CloudWatch 为数据源
<a name="adding--CloudWatch-manual"></a>

**手动添加 CloudWatch 数据源**

1. 在 Grafana 控制台侧面的菜单中，将鼠标悬停在**配置**（齿轮）图标上，然后选择**数据来源**。

1. 选择**添加数据来源**。

1. 选择**CloudWatch**数据源。如有必要，您可以在搜索框中键入 **CloudWatch**，帮助查找。

## CloudWatch 设置
<a name="settings-CloudWatch"></a>

以下 CloudWatch 设置适用。


| Name | 说明 | 
| --- | --- | 
|  `Name`  | 数据来源名称。您将在面板和查询中通过其名称查看数据来源。 | 
|  `Default`  | 将数据来源指定为新面板的预选数据来源。 | 
|  `Default Region`  | 在查询编辑器中设置区域。可根据每次查询进行更改。 | 
|  `Namespaces of Custom Metrics`  | 指定自定义 CloudWatch 指标的命名空间。可以包含多个命名空间，用逗号分隔。 | 
|  `Auth Provider`  | 指定要获取凭证的提供商。 | 
|  `Assume Role Arn`  | 指定要担任的角色的 Amazon 资源名称（ARN）。 | 
|  `External ID`  | （可选）指定外部 ID。如果您在使用外部 ID 创建的另一个角色中扮演角色 AWS 账户 ，则使用此选项。 | 
| `Timeout` | 专门为 CloudWatch 日志查询配置超时。 | 
| `X-Ray trace links` | 要在日志包含 `@xrayTraceId` 字段时自动在日志中添加链接，请在数据来源配置的 **X-Ray 跟踪链接**部分链接 X-Ray 数据来源。您必须已经配置了 [X-Ray 数据来源](x-ray-data-source.md)。 | 

### 身份验证
<a name="CloudWatch-authentication"></a>

要在亚马逊托管 Grafana CloudWatch 和之间启用身份验证，您可以使用亚马逊托管 Grafana 控制台快速创建所需的策略和权限。或者，您也可以使用与在自我管理的 Grafana 服务器上相同的方法，手动设置身份验证。

要使用 Amazon Managed Grafana 数据来源配置快速设置策略，请按照 [使用 AWS 数据源配置添加 CloudWatch 为数据源](adding-CloudWatch-AWS-config.md) 中的步骤进行操作。

要手动设置权限，请使用以下部分中的任何一种方法。

#### AWS 证书
<a name="CloudWatch-authentication-aws-credentials"></a>

有三种不同的身份验证方法。
+ **AWS SDK 默认**-使用在附加到您的工作空间的角色中定义的权限。有关更多信息，请参阅 [客户管理的权限](AMG-manage-permissions.md#AMG-customer-managed)。
+ **访问权限和私有密钥**：对应于 适用于 Go 的 AWS SDK `StaticProvider`。使用给定的访问密钥 ID 和私有密钥进行身份验证。此方法没有任何回退措施，如果提供的密钥对无效，则会失败。

#### IAM 角色
<a name="CloudWatch-authentication-iam-roles"></a>

 目前，所有访问 CloudWatch 均由Grafana后端使用官方SDK在服务器端完成。 AWS 如果您选择 *AWS SDK 默认*身份验证方法，并且您的 Grafana 服务器正在运行 AWS，则可以使用 IAM 角色自动处理身份验证。

 有关更多信息，请参阅 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

#### IAM 策略
<a name="CloudWatch-authentication-iam-policies"></a>

Grafana 需要通过 IAM 授予的权限才能 CloudWatch 读取指标和 EC2 标签、实例和区域。您可以将这些权限附加到 IAM 角色，并使用内置的 Grafana 支持来担任角色。

 以下代码示例展示了一个最基本的策略。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowReadingMetricsFromCloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:ListMetrics",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetInsightRuleReport"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingLogsFromCloudWatch",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups",
                "logs:GetLogGroupFields",
                "logs:StartQuery",
                "logs:StopQuery",
                "logs:GetQueryResults",
                "logs:GetLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingTagsInstancesRegionsFromEC2",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeTags",
                "ec2:DescribeInstances",
                "ec2:DescribeRegions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingResourcesForTags",
            "Effect": "Allow",
            "Action": "tag:GetResources",
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingAcrossAccounts",
            "Effect": "Allow",
            "Action": [
                "oam:ListSinks",
                "oam:ListAttachedLinks"
            ],
            "Resource": "*"
        }
    ]
}
```

------

#### 担任角色
<a name="CloudWatch-assuming-a-role"></a>

 `Assume Role ARN` 字段允许您指定要担任的 IAM 角色（如果有）。如果将此字段留空，则将直接使用所提供的凭证，并且关联的角色或用户应具有所需的权限。如果此字段不为空，则使用提供的凭证执行 `sts:AssumeRole` 调用。