

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

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

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

Amazon Managed Grafana를 사용하면 오픈 소스 [OpenSearch](https://opensearch.org/docs/)(또는 레거시 Elasticsearch)를 데이터 소스로 추가할 수 있습니다. 여러 유형의 단순하거나 복잡한 OpenSearch 쿼리를 수행하여 OpenSearch에 저장된 로그 또는 지표를 시각화할 수 있습니다. OpenSearch에 저장된 로그 이벤트로 그래프에 주석을 작성할 수도 있습니다.

## OpenSearch를 데이터 소스로 추가
<a name="opensearch-adding-the-data-source"></a>

**참고**  
OpenSearch 데이터 소스를 추가하려면 Grafana IAM 계정을 ALL\_ACCESS 및 SECURITY\_MANAGER 역할에 추가해야 합니다.

1.  상단 헤더에서 Grafana 아이콘을 선택하여 사이드 메뉴를 여세요.

1.  사이드 메뉴에서 **대시보드** 링크 아래에 이름 지정된 **데이터 소스** 링크가 있습니다.

1.  상단 헤더에서 **\+ 데이터 소스 추가** 버튼을 선택하세요.

1.  **유형** 드롭다운 목록에서 **OpenSearch**를 선택하세요.

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


|  이름  |  설명  | 
| --- | --- | 
|  Name  |  데이터 소스 이름. 패널 및 쿼리에서 데이터 소스를 보는 방법입니다. | 
|  Default  |  기본 데이터 소스는 새 패널에 대해 미리 선택됨을 의미합니다. | 
|  Url  |  OpenSearch 서버의 HTTP 프로토콜, IP 및 포트. | 
|  Access  |  서버(기본값) = Grafana 백엔드/서버에서 URL에 액세스할 수 있어야 합니다. 브라우저 = 브라우저에서 URL에 액세스할 수 있어야 합니다. | 

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

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

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

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

 Amazon Managed Grafana는 OpenSearch 데이터 소스에 대한 브라우저 직접 액세스를 지원하지 않습니다.

### 인덱스 설정
<a name="opensearch-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="opensearch-min-time-interval"></a>

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


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

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

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

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

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

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

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

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

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

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

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

 `Alias` 입력 필드를 통해 시계열의 이름을 제어할 수 있습니다.


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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