

# Amazon OpenSearch Service 통합
<a name="managed-prometheus-collectors-opensearch-setup"></a>

Amazon CloudWatch 관리형 Prometheus 수집기를 사용하면 Amazon OpenSearch Service 도메인에서 Prometheus 호환 지표를 자동으로 수집할 수 있습니다. 관리형 수집기는 VPC에 연결하고, 도메인에서 클러스터, 노드 및 인덱스 지표를 수집하며, 이러한 지표를 CloudWatch에 직접 전송합니다. 이 통합을 통해 에이전트나 내보내기를 배포하지 않고도 CloudWatch에서 도메인의 상태와 성능을 모니터링할 수 있습니다.

**참고**  
Amazon CloudWatch 관리형 Prometheus 수집기가 Amazon OpenSearch Service 지표를 CloudWatch에 전송하면 해당 오리진을 식별하는 속성을 사용해 각 지표를 자동으로 보강합니다. 모든 지표에는 수집기의 계측 범위, AWS 계정 및 리전을 기록하는 클라우드 속성, 수집기가 지표 이름에서 추론하는 유닛이 포함됩니다. PromQL을 사용하여 지표를 쿼리할 때 이러한 속성을 필터링하고 그룹화할 수 있습니다.

## 사전 조건
<a name="managed-prometheus-collectors-opensearch-prerequisites"></a>

이 절차에서는 Amazon OpenSearch Service 도메인 관리 및 Amazon VPC 네트워킹 개념에 익숙하다고 가정합니다.
+ VPC 액세스 권한이 있는 Amazon OpenSearch Service 도메인. 관리형 수집기는 VPC 액세스 권한이 있는 도메인만 지원합니다. 퍼블릭 액세스 권한이 있는 도메인은 지원되지 않습니다.
+ 서로 다른 가용 영역에 있는 두 개 이상의 서브넷
+ 수집기가 HTTPS(포트 443)를 통해 도메인 엔드포인트에 도달하도록 허용하는 보안 그룹 규칙. 수집기에 제공하는 보안 그룹의 HTTPS 트래픽을 허용하는 인바운드 규칙을 도메인의 보안 그룹에 추가합니다.

## 1단계: 스크레이프 구성 설정
<a name="managed-prometheus-collectors-opensearch-scrape-config"></a>

다음은 Amazon OpenSearch Service에 대한 스크레이프 구성에 대한 예제입니다. 관리형 수집기는 지정한 도메인에 연결하고 지표를 자동으로 수집하므로, 사용자는 구성에서 스크레이프 대상을 지정하지 않습니다. 구성에는 `job_name`가 정확히 `opensearch-exporter`인 작업이 있는 `scrape_configs` 섹션이 포함되어야 합니다. 다음 단계에서 스크레이퍼를 생성할 때 이 구성을 참조합니다. 구성 옵션에 대한 자세한 내용은 단원을 참조하십시오[스크레이퍼 구성](managed-prometheus-collectors-scraper-configuration.md)

```
global:
  external_labels:
    domain_name: {{my-opensearch-domain}}

scrape_configs:
  - job_name: opensearch-exporter
    scrape_interval: 60s
```

## 2단계: 스크레이퍼 생성
<a name="managed-prometheus-collectors-opensearch-create-scraper"></a>

CloudWatch 대상과 함께 스크레이퍼를 생성합니다. `exporters` 필드에서 수집할 도메인을 지정하고, `source` 필드에 네트워킹(서브넷 및 보안 그룹)을 제공합니다.

------
#### [ AWS API ]

`CreateScraper` API 작업을 사용하여 CloudWatch 대상과 함께 스크레이퍼를 생성하세요. 서브넷, 보안 그룹, 도메인 및 데이터세트 정보를 사용자 고유의 값으로 바꾸세요.

```
POST /scrapers HTTP/1.1

{
  "alias": "opensearch-metrics-scraper",
  "source": {
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  },
  "exporters": [
    {
      "openSearchConfiguration": {
        "domainArn": "arn:aws:es:{{us-west-2}}:{{123456789012}}:domain/{{my-opensearch-domain}}"
      }
    }
  ],
  "destination": {
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  },
  "scrapeConfiguration": {
    "configurationBlob": "{{base64-encoded-blob}}"
  }
}
```

------
#### [ AWS CLI ]

`create-scraper` 명령을 사용하여 CloudWatch 대상과 함께 스크레이퍼를 생성하세요. 서브넷, 보안 그룹, 도메인 및 데이터세트 정보를 사용자 고유의 값으로 바꾸세요.

```
aws amp create-scraper \
  --alias "opensearch-metrics-scraper" \
  --source '{
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  }' \
  --exporters '[
    {
      "openSearchConfiguration": {
        "domainArn": "arn:aws:es:{{us-west-2}}:{{123456789012}}:domain/{{my-opensearch-domain}}"
      }
    }
  ]' \
  --scrape-configuration configurationBlob=$(base64 -w 0 {{opensearch-config.yaml}}) \
  --destination '{
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  }'
```

------

## 사용 가능한 지표
<a name="managed-prometheus-collectors-opensearch-available-metrics"></a>
+ **클러스터 지표** - 클러스터 상태, 노드 및 데이터 노드 수, 활성 및 재배치 샤드, 보류 중인 태스크.
+ **노드 지표** - CPU 사용량, JVM 힙 사용량 및 폐영역 회수, 운영 체제 메모리, 디스크 사용량, 각 노드의 스레드 풀 활동.
+ **인덱스 지표** - 인덱싱 및 검색 속도와 지연 시간, 문서 수, 병합 및 새로 고침 활동, 캐시 사용량.

사용 가능한 지표의 전체 목록은 *Amazon Managed Service for Prometheus 사용 설명서*의 [Metrics collected from Amazon OpenSearch Service](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-opensearch-integration.html#prom-opensearch-metrics)를 참조하세요.

## 지표 수집 검증
<a name="managed-prometheus-collectors-opensearch-validate"></a>

수집기가 도메인에서 지표를 전송하고 있는지 확인하려면 [Query Studio](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-PromQL-QueryStudio.html)를 사용하여 CloudWatch에서 다음 쿼리를 실행합니다. 쿼리는 도메인의 클러스터 상태를 반환합니다. 데이터 포인트를 반환하면 수집기가 도메인에서 지표를 수집하고 있는 것입니다.

```
opensearch_cluster_health_status
```

## 교차 계정 관찰성
<a name="managed-prometheus-collectors-opensearch-cross-account"></a>

교차 계정 Amazon OpenSearch Service 모니터링의 경우 Amazon CloudWatch 지표 중앙 집중화를 사용하는 것이 좋습니다. 자세한 내용은 [CloudWatch 지표 중앙 집중화](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)를 참조하세요.

역할 체이닝을 사용하는 대체 교차 계정 스크레이퍼 구성에 대한 자세한 내용은 *Amazon Managed Service for Prometheus 사용 설명서*의 [Integrate Amazon OpenSearch Service](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-opensearch-integration.html)를 참조하세요.

## 현재 제한 사항
<a name="managed-prometheus-collectors-opensearch-limitations"></a>
+ 관리형 수집기는 VPC 액세스 권한이 있는 도메인만 지원합니다.
+ 스크레이퍼는 단일 Amazon OpenSearch Service 도메인에서 지표를 수집합니다. 둘 이상의 도메인에서 지표를 수집하려면 각 도메인에 대해 별도의 스크레이퍼를 생성합니다.