

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon OpenSearch Service 데이터 소스에 연결
<a name="using-Amazon-OpenSearch-in-AMG"></a>

**참고**  
또한 버전 9 이상을 지원하는 워크스페이스에서 이 데이터 소스를 사용하려면 적절한 플러그인을 설치해야 할 수 있습니다. 자세한 내용은 [플러그인을 사용하여 워크스페이스 확장](grafana-plugins.md) 단원을 참조하십시오.

Amazon Managed Grafana를 사용하면 Grafana 워크스페이스 콘솔의 데이터 소스 구성 옵션을 사용하여 Amazon OpenSearch Service를 AWS 데이터 소스로 추가할 수 있습니다. 이 데이터 소스는 OpenSearch 클러스터와 레거시 Elasticsearch 클러스터를 실행하는 OpenSearch Service 도메인을 지원합니다.

 AWS 데이터 소스 구성 옵션은 기존 OpenSearch Service 계정을 검색하여 OpenSearch Service를 데이터 소스로 추가하는 작업을 간소화하고 OpenSearch에 액세스하는 데 필요한 인증 자격 증명의 구성을 관리합니다. 이 방법을 사용하여 인증을 설정하고 OpenSearch Service를 데이터 소스로 추가하거나 자체 관리형 Grafana 서버에서와 동일한 방법을 사용하여 데이터 소스와 필요한 인증 자격 증명을 수동으로 설정할 수 있습니다.

OpenSearch Service 데이터 소스는 파이프 처리 언어(PPL)를 지원합니다. PPL에 대한 자세한 내용은 [Querying Amazon OpenSearch Service data using Piped Processing Language](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ppl-support.html)를 참조하세요.

OpenSearch Service 데이터 소스를 사용해 여러 유형의 단순하거나 복잡한 OpenSearch 쿼리를 수행하여 OpenSearch에 저장된 로그 또는 지표를 시각화할 수 있습니다. OpenSearch에 저장된 로그 이벤트로 그래프에 주석을 작성할 수도 있습니다.

**Topics**
+ [AWS 데이터 소스 구성을 사용하여 OpenSearch Service를 데이터 소스로 추가](ES-adding-AWS-config.md)
+ [수동으로 Amazon OpenSearch Service를 데이터 소스로 추가](ES-adding-the-data-source.md)
+ [OpenSearch Service 설정](#ES-settings)
+ [Amazon OpenSearch Service 데이터 소스 사용](ES-use-datasource.md)
+ [Amazon OpenSearch Service Serverless](datasources-opensearch-serverless.md)
+ [추적 지원](datasources-opensearch-traces.md)

# AWS 데이터 소스 구성을 사용하여 OpenSearch Service를 데이터 소스로 추가
<a name="ES-adding-AWS-config"></a>

 AWS 데이터 소스 구성을 사용하려면 먼저 Amazon Managed Grafana 콘솔을 사용하여 계정 또는 전체 조직 단위에서 OpenSearch Service 리소스를 읽는 데 필요한 IAM 정책을 워크스페이스에 부여하는 서비스 관리형 IAM 역할을 활성화합니다. 그런 다음, Amazon Managed Grafana 워크스페이스 콘솔을 사용하여 OpenSearch Service를 데이터 소스로 추가합니다.

**AWS 데이터 소스 구성을 사용하여 OpenSearch Service를 데이터 소스로 추가하려면**

1. [https://console.aws.amazon.com/grafana/](https://console.aws.amazon.com/grafana/home/)에서 Amazon Managed Grafana 콘솔을 엽니다.

1. 페이지 왼쪽 상단에서 메뉴 아이콘을 선택한 다음, **모든 워크스페이스**를 선택합니다.

1. 워크스페이스 이름을 선택하세요.

1. 이 워크스페이스를 생성할 때이 워크스페이스에 서비스 관리형 권한을 사용하도록 선택하지 않은 경우 Grafana 워크스페이스 콘솔에서 AWS 데이터 소스 구성 옵션을 사용할 수 있도록 적절한 IAM 역할 및 정책이 활성화되도록 고객 관리형 권한을 사용하여 서비스 관리형 권한을 사용하는 것으로 변경합니다. 이를 수행하려면 **IAM 역할** 옆의 편집 아이콘을 선택하고 **서비스 관리형**, **변경 사항 저장**을 선택하세요. 자세한 내용은 [AWS 데이터 소스에 대한 Amazon Managed Grafana 권한 및 정책](AMG-manage-permissions.md) 단원을 참조하십시오.

1. **데이터 소스** 탭을 선택하세요. 그런 다음, **Amazon OpenSearch Service**의 확인란을 선택하고 **작업**, **서비스 관리형 정책 활성화**를 선택하세요.

1. **데이터 소스** 탭을 다시 선택한 다음, **Amazon OpenSearch Service** 행에서 **Grafana에서 구성**을 선택하세요.

1. 필요한 경우 IAM Identity Center를 사용하여 Grafana 워크스페이스 콘솔에 로그인합니다.

1. Grafana 워크스페이스 콘솔의 왼쪽 탐색 모음에서 AWS 아이콘을 선택한 다음 **AWS 서비스**, **Amazon OpenSearch Service**를 선택합니다.

1. Amazon Managed Grafana에서 OpenSearch Service 리소스를 찾기 위해 검색할 리전을 선택한 다음, 추가하려는 계정과 OpenSearch Service 도메인을 선택하고 인덱스 설정을 구성한 후 **데이터 소스 추가**를 선택하세요.

# 수동으로 Amazon OpenSearch Service를 데이터 소스로 추가
<a name="ES-adding-the-data-source"></a>

**수동으로 Amazon OpenSearch Service 데이터 소스를 추가하는 방법**

1.  Grafana 콘솔 사이드 메뉴에서 **AWS** 아이콘을 선택한 다음, **데이터 소스**를 선택하세요.

1. **Amazon OpenSearch Service** 데이터 소스를 선택하세요. 필요한 경우 검색 상자에서 **OpenSearch**를 입력하기 시작하면 해당 항목을 찾는 데 도움이 됩니다.

1. 데이터를 검색하려는 **리전**을 선택하세요.

1. **데이터 소스 추가**를 선택합니다.

**참고**  
 사이드 메뉴에 **데이터 소스** 링크가 표시되지 않으면 현재 사용자에게 `Admin` 역할이 없다는 의미입니다.

## OpenSearch Service 설정
<a name="ES-settings"></a>


|  이름  |  설명  | 
| --- | --- | 
|  Name  |  데이터 소스 이름. 패널 및 쿼리에서 데이터 소스를 보는 방법입니다. | 
|  Default  |  기본 데이터 소스는 새 패널에 대해 미리 선택됨을 의미합니다. | 
|  Url  |  Amazon OpenSearch Service 도메인의 엔드포인트. 엔드포인트는 https://search-my-domain.us-east-1.es.amazonaws.com 형식을 사용합니다. | 
|  Access  |  서버(기본값) = Grafana 백엔드/서버에서 URL에 액세스할 수 있어야 합니다. 브라우저 = 브라우저에서 URL에 액세스할 수 있어야 합니다. | 

 액세스 모드는 데이터 소스에 대한 요청을 처리하는 방법을 제어합니다. 다른 내용이 없는 경우 서버가 선호되는 방법이어야 합니다.

### 서버 액세스 모드(기본값)
<a name="ES-server-access-mode-default"></a>

 모든 요청은 브라우저에서 Grafana로 이루어집니다. 그러면 요청을 데이터 소스로 전달하여 가능한 교차 오리진 리소스 공유(CORS) 요구 사항을 우회합니다. 이 액세스 모드를 선택하면 Grafana 백엔드 또는 서버에서 URL에 액세스할 수 있어야 합니다.

### 브라우저(직접) 액세스
<a name="ES-browser-direct-access"></a>

Amazon Managed Grafana는 브라우저 직접 액세스를 지원하지 않습니다.

### 인덱스 설정
<a name="ES-index-settings"></a>

 여기서 `time field`의 기본값을 지정하고 OpenSearch 인덱스의 이름을 지정할 수 있습니다. 인덱스 이름 또는 와일드카드 문자에 대한 시간 패턴을 사용할 수 있습니다.

### OpenSearch/Elasticsearch 버전
<a name="OpenSearch-version"></a>

버전 드롭다운 메뉴에서 OpenSearch 또는 레거시 Elasticsearch 버전을 지정합니다. 각 버전에 대해 쿼리가 구성되는 방식에 차이가 있기 때문에 버전이 중요합니다. 현재 Grafana에서는 OpenSearch 1.0.x를 지원합니다. 지원되는 Elasticsearch 버전은 `2.0+`, `5.0+`, `5.6+`, `6.0+`, `7.0+`입니다. `5.6+` 값은 버전 5.6 이상, 6.0 미만을 의미합니다. `6.0+` 값은 버전 6.0 이상, 7.0 미만을 의미합니다. 마지막으로 `7.0+`는 버전 7.0 이상, 8.0 미만을 의미합니다.

### 최소 시간 간격
<a name="ES-min-time-interval"></a>

자동 그룹화 기준 시간 간격의 하한. 데이터가 1분마다 기록되는 경우 `1m`과 같이 쓰기 빈도로 설정하는 것이 좋습니다. 이 옵션은 대시보드 패널의 데이터 소스 옵션에서 재정의/구성할 수도 있습니다. 이 값은 숫자 및 유효한 시간 식별자의 순서로 형식이 지정되어야 **합니다**(예: `1m`(1분) 또는 `30s`(30초)). 다음 시간 식별자가 지원됩니다.


|  식별자  |  설명  | 
| --- | --- | 
|  y  |  연도  | 
|  M  |  월  | 
|  w  |  주  | 
|  d  |  일  | 
|  h  |  시간  | 
|  m  |  분  | 
|  s  |  초  | 
|  ms  |  밀리초  | 

### 로그
<a name="ES-logs-beta"></a>

[탐색](explore.md)에서 로그를 시각화할 때 로그 메시지 및 로그 수준에 사용할 필드를 결정하는 데이터 소스 설정 페이지에서 선택적으로 두 개의 파라미터 `Message field name` 및 `Level field name`을 구성할 수 있습니다.

 예를 들어 로그를 OpenSearch Service로 전송하기 위해 Filebeat의 기본 설정을 사용하는 경우 다음 구성이 작동해야 합니다.
+  **메시지 필드 이름:** 메시지 
+  **수준 필드 이름:** fields.level 

### 데이터 링크
<a name="ES-data-links"></a>

 데이터 링크는 지정된 필드에서 링크를 생성하고 해당 링크는 탐색의 로그 보기에서 액세스할 수 있습니다.

 각 데이터 링크 구성은 다음으로 구성됩니다.
+ **필드** - 데이터 링크에서 사용하는 필드의 이름.
+ **URL/쿼리 ** - 링크가 외부인 경우 전체 링크 URL을 입력합니다. 링크가 내부 링크인 경우 이 입력은 대상 데이터 소스에 대한 쿼리 역할을 합니다. 두 경우 모두 필드의 값을 `${__value.raw }` 매크로로 보간할 수 있습니다.
+ **내부 링크** - 링크가 내부 또는 외부 링크인 경우 선택합니다. 내부 링크인 경우 데이터 소스 선택기를 사용하여 대상 데이터 소스를 선택할 수 있습니다. 추적 데이터 소스만 지원됩니다.

# Amazon OpenSearch Service 데이터 소스 사용
<a name="ES-use-datasource"></a>

## 지표 쿼리 편집기
<a name="ES-metric-query-editor"></a>

OpenSearch 쿼리 편집기를 사용하면 여러 지표를 선택하고 여러 용어 또는 필터를 기준으로 그룹화할 수 있습니다. 오른쪽에 있는 더하기 및 빼기 아이콘을 사용하여 지표 또는 그룹화 기준 절을 추가/제거합니다. 일부 지표 및 그룹화 기준 절에 옵션이 있습니다. 옵션 텍스트를 선택하여 보려는 행을 확장하고 지표 또는 그룹화 기준 옵션을 편집합니다.

## Piped Processing Language(PPL) 사용
<a name="ES-PPL"></a>

Amazon OpenSearch Service 데이터 소스는 Piped Processing Language(PPL)를 지원하므로 OpenSearch에 대해 보다 간단하면서도 더 강력한 쿼리 및 시각화 기능을 사용할 수 있습니다. PPL을 사용하면 긴 OpenSearch Domain Specific Language(DSL) 문을 작성하거나 JSON 객체를 사용하여 쿼리를 작성하지 않고도 고객이 데이터를 탐색하고 찾을 수 있습니다. PPL을 사용하면 UNIX 파이프와 유사한 파이프로 구분된 명령 세트로 쿼리를 작성할 수 있습니다.

다음 샘플 DSL 쿼리를 예제로 사용합니다.

```
GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>
```

앞의 DSL 쿼리는 간결하고 사람이 읽을 수 있는 다음 PPL 명령으로 대체할 수 있습니다.

```
source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count
```

PPL에 대한 자세한 내용은 [Querying Amazon OpenSearch Service data using Piped Processing Language](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ppl-support.html)를 참조하세요.

## 시리즈 이름 지정 및 별칭 패턴
<a name="ES-series-naming-and-alias-patterns"></a>

 `Alias` 입력 필드를 사용하여 시계열의 이름을 제어할 수 있습니다.


|  패턴  |  설명  | 
| --- | --- | 
|  \$1\$1term fieldname\$1\$1  |  그룹화 기준이라는 용어의 값으로 대체됩니다. | 
|  \$1\$1metric\$1\$1  |  지표 이름으로 대체됩니다(예: 평균, 최소, 최대). | 
|  \$1\$1field\$1\$1  |  지표 필드 이름으로 대체되었습니다. | 

## 파이프라인 지표
<a name="ES-pipeline-metrics"></a>

일부 지표 집계를 파이프라인 집계라고 합니다. 예를 들어 *이동 평균* 및 *파생*이 있습니다. OpenSearch 파이프라인 지표에는 기반으로 사용할 다른 지표가 필요합니다. 지표 옆의 눈 아이콘을 사용하여 지표가 그래프에 표시되지 않도록 숨깁니다. 이는 파이프라인 지표에 사용할 쿼리에만 있는 지표에 유용합니다.

## 템플릿 지정
<a name="ES-templating"></a>

 지표 쿼리에서 서버, 애플리케이션 및 센서 이름과 같은 사물을 하드코딩하는 대신 해당 위치에서 변수를 사용할 수 있습니다. 변수는 대시보드 상단에서 드롭다운 선택 상자로 표시됩니다. 이러한 드롭다운 상자를 사용하여 대시보드에 표시되는 데이터를 변경할 수 있습니다.

 템플릿 지정 및 템플릿 변수에 대한 자세한 내용은 [템플릿 및 변수](templates-and-variables.md) 섹션을 참조하세요.

### 쿼리 변수
<a name="ES-query-variable"></a>

 OpenSearch Service 데이터 소스는 *쿼리* 변수의 *쿼리* 필드에 사용할 수 있는 두 가지 유형의 쿼리를 지원합니다. 쿼리는 사용자 지정 JSON 문자열을 사용하여 작성됩니다.


|  Query  |  설명  | 
| --- | --- | 
|  \$1"find": "fields", "type": "keyword"\$1  |  인덱스 유형이 keyword인 필드 이름 목록을 반환합니다. | 
|  \$1"find": "terms", "field": "@hostname", "size": 1000\$1  |  용어 집계를 사용하여 필드의 값 목록을 반환합니다. 쿼리는 현재 대시보드 시간 범위를 쿼리의 시간 범위로 사용합니다. | 
|  \$1"find": "terms", "field": "@hostname", "query": '<lucene query>'\$1  |  용어 집계 및 지정된 Lucene 쿼리 필터를 사용하여 필드의 값 목록을 반환합니다. 쿼리는 현재 대시보드 시간 범위를 쿼리의 시간 범위로 사용합니다. | 

용어 쿼리의 기본 크기 제한은 500입니다. 사용자 지정 제한을 설정하려면 쿼리에서 크기 속성을 설정하세요. 쿼리 내부에서 기타 변수를 사용할 수 있습니다. 다음 코드 예제에서는 `$host` 변수에 대한 쿼리 정의를 보여줍니다.

```
{"find": "terms", "field": "@hostname", "query": "@source:$source"}
```

이전 예제에서는 쿼리 정의 내에 이름이 `$source`인 다른 변수를 사용합니다. 드롭다운 목록을 사용하여 `$source` 변수의 현재 값을 변경할 때마다 `$host` 변수 업데이트가 시작됩니다. 업데이트 후 `$host` 변수에는 이 경우 `@source` 문서 속성에서 필터링된 호스트 이름만 포함됩니다.

이러한 쿼리는 기본적으로 용어 순서로 반환됩니다(그런 다음, 모든 변수에 대해 사전순 또는 숫자로 정렬할 수 있음). 문서 수를 기준으로 정렬된 용어 목록(상위 N개의 값 목록)을 생성하려면 `doc_count`의 `orderBy` 속성을 추가합니다. 그러면 내림차순 정렬이 자동으로 선택됩니다. doc\$1count(하위 N개의 목록)와 함께 `asc`를 사용하려면 `order: "asc"`를 설정하면 되지만 문서 수에 대한 오류가 증가하므로 사용하지 않는 것이 좋습니다. 문서 수 순서로 용어를 유지하려면 변수의 **정렬** 드롭다운 목록을 **비활성화됨**으로 설정합니다. 또는 여전히 **사전순**을 사용하여 다시 정렬할 수도 있습니다.

```
{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}
```

### 쿼리에서 변수 사용
<a name="ES-using-variables-in-queries"></a>

 두 가지 구문이 있습니다.
+  `$<varname>` 예: @hostname:\$1hostname 
+  `[[varname]]` 예: @hostname:[[hostname]] 

 왜 두 가지 방법이 있을까요? 첫 번째 구문은 읽고 쓰기가 더 쉽지만 단어 중간에 변수를 사용할 수는 없습니다. *다중 값* 또는 *모든 값 포함* 옵션이 활성화되면 Grafana는 레이블을 일반 텍스트에서 Lucene 호환 조건으로 변환합니다.

 이전 예제에서는 `$hostname` 변수를 사용하여 `@hostname` 속성을 기반으로 문서를 필터링하는 Lucene 쿼리를 사용했습니다. 또한 *용어* 그룹화 기준 필드 입력에서 변수를 사용했습니다. 이렇게 하면 변수를 사용하여 데이터 그룹화 방법을 빠르게 변경할 수 있습니다.

## Annotations
<a name="ES-annotations"></a>

주석을 사용하면 그래프 위에 풍부한 이벤트 정보를 오버레이할 수 있습니다. 대시보드 메뉴 또는 주석 보기를 사용하여 주석 쿼리를 추가합니다. Grafana는 OpenSearch 인덱스에서 주석 이벤트를 쿼리할 수 있습니다. 자세한 내용은 [Annotations](dashboard-annotations.md) 단원을 참조하십시오.


|  이름  |  설명  | 
| --- | --- | 
|  Query  |  검색 쿼리를 비워 두거나 Lucene 쿼리를 지정할 수 있습니다. | 
|  Time  |  시간 필드의 이름. 날짜 필드여야 합니다. | 
|  Time End  |  시간 종료 필드의 선택적 이름은 날짜 필드여야 합니다. 설정된 경우 주석은 시간과 종료 시간 사이의 리전으로 표시됩니다. | 
|  Text  |  이벤트 설명 필드. | 
|  Tags  |  이벤트 태그에 사용할 선택적 필드 이름(배열이 또는 CSV 문자열일 수 있음). | 

## 로그 쿼리
<a name="ES-querying-logs-beta"></a>

 OpenSearch에서 로그 데이터 쿼리 및 표시는 탐색에서 사용할 수 있습니다. 로그를 표시하려면 OpenSearch Service 데이터 소스를 선택한 다음, 선택적으로 Lucene 쿼리를 입력하세요. 자세한 내용은 [탐색](explore.md) 단원을 참조하십시오.

### 로그 쿼리
<a name="ES-log-queries"></a>

 결과가 반환되면 로그 패널에 로그 행 목록 및 막대 차트가 표시됩니다. 이때 막대 차트에서는 x축은 시간, y축은 빈도 또는 수를 표시합니다.

### 로그 메시지 필터링
<a name="ES-filter-log-messages"></a>

 선택적으로 쿼리 필드에 Lucene 쿼리를 입력하여 로그 메시지를 필터링합니다. 예를 들어 기본 Filebeat 설정을 사용하면 오류 로그 메시지만 표시하기 위해 `fields.level:error`를 사용할 수 있습니다.

# Amazon OpenSearch Service Serverless
<a name="datasources-opensearch-serverless"></a>

**참고**  
OpenSearch Service Serverless 지원은 Grafana 버전 9.4 이상을 실행하는 Grafana 워크스페이스에서만 사용할 수 있습니다.

OpenSearch Service 데이터 소스를 사용하여 Amazon Managed Grafana에서 Amazon OpenSearch Service Serverless 데이터에 액세스할 수 있습니다. 데이터에 대한 액세스는 데이터 액세스 정책에 의해 제어됩니다. 다음 예제에서는 사용자가 특정 컬렉션 및 인덱스를 쿼리할 수 있도록 허용하는 정책을 보여줍니다. *`collection_name`*, *`index_name`* 및 *`principal_arn`*을 사용 사례에 올바른 값으로 바꾸어야 합니다.

```
[
  {
    "Rules": [
      {
        "Resource": ["collection/{collection_name}"],
        "Permission": ["aoss:DescribeCollectionItems"],
        "ResourceType": "collection"
      },
      {
        "Resource": ["index/{collection_name}/{index_name}"],
        "Permission": ["aoss:DescribeIndex", "aoss:ReadDocument"],
        "ResourceType": "index"
      }
    ],
    "Principal": ["principal_arn"],
    "Description": "read-access"
  }
]
```

# 추적 지원
<a name="datasources-opensearch-traces"></a>

OpenSearch 플러그인은 추적 범위의 타임라인을 보여주는 **추적 보기**에서 단일 추적 및 테이블 양식의 추적 목록을 볼 수 있도록 지원합니다.

**참고**  
OpenSearch 추적 쿼리는 Lucene 쿼리를 통해서만 사용할 수 있습니다.  
추적 지원은 버전 9.4 이상을 지원하는 Grafana 워크스페이스에서만 사용할 수 있습니다.

모든 추적을 보여주는 쿼리를 생성하려면 빈 쿼리에서 Lucene 쿼리 유형 `Traces`를 사용합니다. 필요한 경우 **테이블** 시각화 유형을 선택하세요.

테이블에서 추적 ID를 선택하면 추적 보기에서 해당 추적이 열립니다.

단일 추적을 보여주는 쿼리를 생성하려면 쿼리 `traceid: {traceId}`를 사용하고 필요한 경우 **추적** 시각화 유형을 선택하세요.