

# Datadog에 연결
<a name="connecting-to-datadog"></a>

Datadog은 인프라, 애플리케이션, 서비스, 도구 등 클라우드 규모의 애플리케이션을 위한 모니터링 및 분석 플랫폼입니다.

**Topics**
+ [AWS Glue의 Datadog 지원](datadog-support.md)
+ [연결을 생성하고 사용하기 위한 API 작업이 포함된 정책](datadog-configuring-iam-permissions.md)
+ [Datadog 구성](datadog-configuring.md)
+ [Datadog 연결 구성](datadog-configuring-connections.md)
+ [Datadog 엔터티에서 읽기](datadog-reading-from-entities.md)
+ [Datadog 연결 옵션](datadog-connection-options.md)
+ [Datadog 계정 생성](datadog-create-account.md)
+ [제한 사항](datadog-connector-limitations.md)

# AWS Glue의 Datadog 지원
<a name="datadog-support"></a>

AWS Glue에서는 다음과 같이 Datadog을 지원합니다.

**소스로 지원되나요?**  
예. AWS Glue ETL 작업을 사용하여 Datadog에서 데이터를 쿼리할 수 있습니다.

**대상으로서 지원되나요?**  
아니요.

**지원되는 Datadog API 버전**  
 
+ v1
+ v2

# 연결을 생성하고 사용하기 위한 API 작업이 포함된 정책
<a name="datadog-configuring-iam-permissions"></a>

다음 샘플 정책에서는 연결을 생성하고 사용하는 데 필요한 AWS 권한을 설명합니다. 새 역할을 생성하는 경우 다음을 포함하는 정책을 생성합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

이전 메서드를 사용하지 않으려는 경우 대신 다음 관리형 IAM 정책을 사용합니다.
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole) – 다양한 AWS Glue 프로세스를 대신 실행하는 데 필요한 리소스에 대한 액세스 권한을 부여합니다. 이러한 리소스에는 AWS Glue, Amazon S3, IAM, CloudWatch Logs 및 Amazon EC2가 포함됩니다. 이 정책에 지정된 리소스의 이름 변환을 따르고자 한다면 AWS Glue 절차는 필요한 권한을 소유합니다. 이 정책은 크롤러, 작업 및 개발 엔드포인트를 정의할 때 지정된 역할에 일반적으로 추가됩니다.
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess) - 정책이 연결된 자격 증명이 AWS Management 콘솔을 사용하는 경우 AWS Glue 리소스에 대한 전체 액세스 권한을 부여합니다. 이 정책에 지정된 리소스의 이름 변환을 따르면 사용자는 콘솔 전체 용량을 소유합니다. 이 정책은 보통 AWS Glue 콘솔의 사용자에게 해당됩니다.

# Datadog 구성
<a name="datadog-configuring"></a>

AWS Glue를 사용하여 Datadog에서 데이터를 전송하려면 먼저 다음 요구 사항을 충족해야 합니다.

## 최소 요구 사항
<a name="datadog-configuring-min-requirements"></a>
+ DD-API-KEY 및 DD-APPLICATION-KEY가 있는 Datadog 계정이 있습니다. 계정 생성에 대한 자세한 내용은 [Datadog 계정 생성](datadog-create-account.md)을 참조하세요.
+  Datadog 계정에 유효한 라이선스가 있는 API 액세스 권한이 있습니다.

   

Datadog은 다음 6개의 URL을 지원합니다. 모든 Datadog API 클라이언트는 기본적으로 Datadog US1 사이트 API를 사용하도록 구성됩니다. Datadog EU 사이트에 있는 경우 API에 액세스하려면 Datadog EU 사이트의 `DD-API-KEY` 및 `DD-APPLICATION-KEY`가 있는 https://api.datadoghq.eu URL을 선택해야 합니다. 마찬가지로 다른 사이트의 경우 해당 사이트의 `DD-API-KEY and DD-APPLICATION-KEY`를 사용하여 해당 URL을 선택해야 합니다.
+ US1 API URL - [https://api.datadoghq.com](https://api.datadoghq.com)https://api.datadoghq.com
+ EU API URL - [https://api.datadoghq.eu ](https://api.datadoghq.eu)
+ US3 API URL - [https://api.us3.datadoghq.com](https://api.us3.datadoghq.com) 
+ US5 API URL - [https://api.us5.datadoghq.com](https://api.us5.datadoghq.com)
+ S1-FED API URL - [https://api.ddog-gov.com](https://api.ddog-gov.com)
+ 일본 API URL - [https://api.ap1.datadoghq.com](https://api.ap1.datadoghq.com)

이러한 요구 사항을 충족하면 Datadog 계정에 AWS Glue를 연결할 준비가 된 것입니다.

# Datadog 연결 구성
<a name="datadog-configuring-connections"></a>

Datadog은 사용자 지정 인증을 지원합니다. 다음은 Datadog 연결을 구성하는 단계입니다.

Datadog 연결을 구성하는 방법:

1. AWS Secrets Manager에서 다음 세부 정보로 보안 암호를 생성합니다.

   고객 관리형 연결된 앱의 경우 - 보안 암호는 키 역할을 하는 `API_KEY` 및 `APPLICATION_KEY`와 함께 연결된 앱 소비자 보안 암호를 포함해야 합니다.
**참고**  
AWS Glue에서 연결당 보안 암호를 생성해야 합니다.

1. AWS Glue Studio의 **데이터 연결**에서 아래 단계에 따라 연결을 생성합니다.

   1. **연결 유형**을 선택할 때 Datadog를 선택합니다.

   1. 연결하려는 Datadog의 `Instance_Url`을 제공합니다.

   1. 다음 작업에 대한 권한이 있고 AWS Glue에서 수임할 수 있는 IAM 역할을 선택합니다.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. 토큰을 넣기 위해 AWS Glue에서 이 연결에 사용할 `secretName`을 선택합니다.

   1.  네트워크를 사용하려는 경우 네트워크 옵션을 선택합니다.

1. AWS Glue 작업 권한과 연결된 IAM 역할에 `secretName`을 읽을 수 있는 권한을 부여합니다.

# Datadog 엔터티에서 읽기
<a name="datadog-reading-from-entities"></a>

 **사전 조건** 

읽으려는 Datadog 객체입니다. 사용 가능한 엔터티를 확인하려면 아래 지원되는 엔터티 테이블을 참조하세요.

 **지원되는 엔터티** 


| 개체 | 필터링 가능 | 제한 지원 | 정렬 기준 지원 | Select \$1 지원 | 분할 지원 | 
| --- | --- | --- | --- | --- | --- | 
|  Metrics Timeseries  | 예 | 아니요 | 아니요 | 예 | 아니요 | 
|  Log Queries  | 예 | 예 | 예 | 예 | 아니요 | 

 **예제** 

```
Datadog_read = glueContext.create_dynamic_frame.from_options(
    connection_type="datadog",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "log-queries",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://api.datadoghq.com",
        "FILTER_PREDICATE": "from = `2023-10-03T09:00:26Z`"
    }
```

 **Datadog 엔터티 및 필드 세부 정보**: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/datadog-reading-from-entities.html)

# Datadog 연결 옵션
<a name="datadog-connection-options"></a>

다음은 Datadog의 연결 옵션입니다.
+  `ENTITY_NAME`(문자열) - (필수) 읽기/쓰기에 사용됩니다. Datadog에서의 객체 이름입니다.
+  `API_VERSION`(문자열) - (필수) 읽기/쓰기에 사용됩니다. 사용하려는 Datadog Rest API 버전입니다. `v1` 버전은 `metrics-timeseries` 엔터티를 지원하는 반면 `v2` 버전은 `log-queries` 엔터티를 지원합니다.
+  `INSTANCE_URL`(문자열) - (필수) 읽기에 사용됩니다. Datadog 인스턴스 URL입니다. Datadog 인스턴스 URL은 리전마다 다릅니다.
+  `SELECTED_FIELDS`(List<String>) - 기본값: 비어 있습니다(SELECT \$1). 읽기에 사용됩니다. 객체에 대해 선택할 열.
+  `FILTER_PREDICATE`(문자열) - 기본값: 비어 있습니다. 읽기에 사용됩니다. Spark SQL 형식이어야 합니다.
+  `QUERY`(문자열) - 기본값: 비어 있습니다. 읽기에 사용됩니다. 전체 Spark SQL 쿼리.

# Datadog 계정 생성
<a name="datadog-create-account"></a>

1. [https://www.datadoghq.com/](https://api.datadoghq.com)으로 이동합니다.

1. **무료로 시작**을 선택합니다.

1. 필요한 정보를 입력하고 가입합니다.

1. 제안대로 **Datadog 에이전트 설치 프로그램**을 설치합니다.

1. 계정이 활성 Datadog 구독이 있는 유효한 조직(사용 가능한 목록에서)에 등록되었는지 확인합니다.

1. Datadog 계정에 로그인한 후 오른쪽 상단 모서리의 사용자 이름 위로 마우스를 가져가 **키** 세부 정보를 확인합니다.

   1. API 키를 가져오려면 **API 키**를 선택합니다.

   1. 애플리케이션 키를 가져오려면 **애플리케이션 키**를 선택합니다.

# 제한 사항
<a name="datadog-connector-limitations"></a>

다음은 Datadog 커넥터의 제한 사항입니다.
+ Datadog은 필드 기반 또는 레코드 기반 분할을 지원하지 않습니다.
+ `from`은 `Log Queries` 엔터티의 필수 필터 파라미터입니다.
+ `from_to_date` 및 `query`는 `Metrics Timeseries` 엔터티를 위한 필수 필터 파라미터입니다.