

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

# 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`를 사용할 수 있습니다.