

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

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

 Grafana에는 지표 공간을 빠르게 탐색하고, 함수를 추가하며, 함수 파라미터를 변경하는 등의 작업을 수행할 수 있는 고급 Graphite 쿼리 편집기가 있습니다. 이 편집기에서는 모든 유형의 Graphite 쿼리를 처리할 수 있습니다. 쿼리 참조를 사용하여 복잡한 중첩 쿼리를 처리할 수도 있습니다.

## Graphite 설정
<a name="graphite-settings"></a>

 Graphite 설정에 액세스하려면 **구성**(톱니) 아이콘에서 일시 중지한 다음, **데이터 소스**를 선택하고 Graphite 데이터 소스를 선택합니다.


|  이름  |  설명  | 
| --- | --- | 
|  Name  |  데이터 소스 이름. 패널 및 쿼리에서 데이터 소스를 보는 방법입니다. | 
|  Default  |  기본 데이터 소스는 새 패널에 대해 미리 선택됨을 의미합니다. | 
|  URL  |  graphite-web 또는 graphite-api 설치의 HTTP 프로토콜, IP 및 포트. | 
|  Access  |  서버(기본값) = Grafana 백엔드/서버에서 URL에 액세스할 수 있어야 합니다. | 
|  Auth  |  | 
|  Basic Auth  |  데이터 소스에 대한 기본 인증을 활성화합니다. | 
|  User  |  기본 인증을 위한 사용자 이름. | 
|  Password  |  기본 인증을 위한 암호. | 
|  Custom HTTP Headers  |  헤더 추가를 선택하여 사용자 지정 HTTP 헤더를 추가합니다. | 
|  Header  |  사용자 지정 헤더 이름을 입력합니다. | 
|  Value  |  사용자 지정 헤더 값을 입력합니다. | 
|  Graphite details  |  | 
|  Version  |  Graphite 버전을 선택합니다. | 
|  Type  |  Graphite 유형을 선택합니다. | 

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

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

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

### 브라우저 액세스 모드
<a name="graphite-browser-access-mode"></a>

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

## Graphite 쿼리 편집기
<a name="graphite-query-editor"></a>

 Grafana에는 쿼리를 빌드하는 데 도움이 되는 Graphite 특정 쿼리 편집기가 포함되어 있습니다.

 Graphite로 전송되는 쿼리의 원시 텍스트를 보려면 **텍스트 편집 모드 전환**(연필) 아이콘을 선택합니다.

### 쿼리할 지표 선택
<a name="graphite-choose-metrics-to-query"></a>

 **지표 선택**을 선택하여 지표 공간을 탐색합니다. 시작한 후 포인터 또는 키보드 화살표 키를 계속 사용할 수 있습니다. 와일드카드 문자를 선택하고 계속 진행할 수 있습니다.

### 함수
<a name="graphite-functions"></a>

 함수를 추가하려면 **함수** 옆의 더하기 아이콘을 선택합니다. 함수를 검색하거나 메뉴에서 선택할 수 있습니다. 함수를 선택하면 함수가 추가되고 첫 번째 파라미터의 텍스트 상자에 포커스가 표시됩니다. 파라미터를 편집하거나 변경하려면 파라미터를 선택합니다. 그러면 텍스트 상자로 바뀝니다. - 함수를 삭제하려면 함수 이름을 선택한 다음, x 아이콘을 선택합니다.

 `aliasByNode`와 같은 일부 함수는 선택적 두 번째 인수를 지원합니다. 인수를 추가하려면 첫 번째 인수에서 일시 중지한 다음, 나타나는 `+` 기호를 선택합니다. 두 번째 선택적 파라미터를 제거하려면 파라미터를 선택하고 비워 둡니다. 편집기에서 이를 제거합니다.

### 레이블 정렬
<a name="graphite-sort-labels"></a>

 일관된 정렬이 필요한 경우 `sortByName`을 사용합니다. 여러 그래프에 동일한 레이블이 있고 둘 다 서로 다르게 정렬되고 서로 다른 색상을 사용하는 경우 번거로울 수 있습니다. 이 문제를 해결하려면 `sortByName()`을 사용합니다.

### 중첩된 쿼리
<a name="graphite-nested-queries"></a>

 현재 위치한 행 *문자*로 쿼리를 참조할 수 있습니다(Microsoft Excel과 유사). 그래프에 두 번째 쿼리를 추가하는 경우 \#A를 입력하여 첫 번째 쿼리를 참조할 수 있습니다. 그러면 복합 쿼리를 편리하게 빌드할 수 있습니다.

### 와일드카드 문자를 사용하여 많은 쿼리 방지
<a name="avoiding-many-queries-by-using-wildcards"></a>

 때때로 동일한 그래프에 여러 시계열이 작성된 것을 볼 수 있습니다. 예를 들어 시스템에서 CPU 사용 방식을 확인할 수 있습니다. 처음에는 `cpu.percent.user.g`, `cpu.percent.system.g` 등과 같은 각 시계열에 대한 쿼리를 추가하여 그래프를 생성할 수 있습니다. 이 경우 데이터 소스에 대한 쿼리가 *n*개 발생하므로 비효율적입니다.

 더 효율적으로 검색하려면 와일드카드 문자를 사용하여 모든 시계열을 하나의 쿼리로 반환할 수 있습니다. 예를 들어 `cpu.percent.*.g`입니다.

### 테이블 또는 차트에서 지표 이름 수정
<a name="modify-the-metric-name-in-my-tables-or-charts"></a>

 `alias` 함수를 사용하여 Grafana 테이블 또는 그래프의 지표 이름을 변경합니다(예: `aliasByNode()` 또는 `aliasSub()`).

## 포인트 통합
<a name="graphite-point-consolidation"></a>

 Graphite에서 그래프에 있는 픽셀보다 더 많은 데이터 포인트를 반환하지 않도록 모든 Graphite 지표가 통합됩니다. 기본적으로 이 통합은 `avg` 함수를 사용하여 수행됩니다. Graphite consolidateBy 함수를 추가하여 Graphite에서 지표를 통합하는 방법을 제어할 수 있습니다.

**참고**  
 즉, 범례 요약 값(최대, 최소, 합계)을 동시에 수정할 수는 없습니다. Grafana에 의해 클라이언트 측에서 계산합니다. 통합 함수에 따라 한두 개만 동시에 수정할 수 있습니다.

## 시계열 결합
<a name="graphite-combine-time-series"></a>

 시계열을 결합하려면 **함수** 목록에서 **결합**을 선택합니다.

## 데이터 탐색 및 태그
<a name="data-exploration-and-tags"></a>

 Graphite에서는 모든 것이 태그입니다.

 데이터를 탐색할 때 이전에 선택한 태그를 사용하여 나머지 결과 세트를 필터링합니다. 데이터를 선택하려면 태그 표현식(`=`, `!=`, `=~`, `!=~`)을 사용하여 시계열을 필터링하는 `seriesByTag` 함수를 사용합니다.

 태그를 선택하면 Grafana 쿼리 빌더에서 자동으로 이 작업을 수행합니다.

**참고**  
 **팁:** 정규식 검색은 높은 카디널리티의 태그에서 느릴 수 있으므로 다른 태그를 사용하여 먼저 범위를 줄이도록 하세요. 특정 이름 또는 네임스페이스로 시작하면 결과를 줄이는 데 도움이 됩니다.

## 템플릿 변수
<a name="graphite-template-variables"></a>

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

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

 태그 값을 사용하여 변수를 생성하려면 Grafana 함수 `tags` 및 `tag_values`를 사용합니다.


|  Query  |  설명  | 
| --- | --- | 
|  tags()  |  모든 태그를 반환합니다. | 
|  tags(server=\~backend\\\*)  |  필터 표현식과 일치하는 시리즈에서 나타나는 태그만 반환합니다. | 
|  tag\_values(server)  |  지정된 태그에 대한 태그 값을 반환합니다. | 
|  tag\_values(server, server=\~backend\\\*)  |  지정된 태그에 대해 나타나는 필터링된 태그 값을 해당 표현식과 일치하는 시리즈로 반환합니다. | 
|  tag\_values(server, server=\~backend\\\*, app=\~${apps:regex})  |  여러 필터 표현식 및 표현식에서 다른 변수가 포함될 수 있습니다. | 

 자세한 내용은 [Graphite docs on the autocomplete API for tags](https://graphite.readthedocs.io/en/latest/tags.html#auto-complete-support)를 참조하세요.

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

 쿼리 필드에 지정하는 쿼리는 쿼리의 지표 찾기 유형이어야 합니다. 예를 들어 `prod.servers.*`와 같은 쿼리는 와일드카드 위치에 있는 가능한 모든 값으로 변수를 채웁니다.

 정의에서 다른 변수를 사용하는 중첩된 변수를 생성할 수도 있습니다. 예를 들어 `apps.$app.servers.*`는 쿼리 정의에서 `$app` 변수를 사용합니다.

#### `__searchFilter`를 사용하여 쿼리 변수 결과 필터링
<a name="using-__searchfilter-to-filter-query-variable-results"></a>

 쿼리 필드에서 `__searchFilter`를 사용하면 드롭다운 선택 상자에 입력한 내용을 기반으로 쿼리 결과를 필터링합니다. 아무것도 입력하지 않으면 정규식의 일부로 사용할 때 `__searchFilter`의 기본값은 `*` 및 ``입니다.

 다음 예제에서는 사용자가 드롭다운 선택 상자에 텍스트를 입력하는 동안 `__searchFilter`를 쿼리 필드의 일부로 사용하여 `server` 검색을 활성화하는 방법을 보여줍니다.

 Query 

```
apps.$app.servers.$__searchFilter
```

 TagValues 

```
tag_values(server, server=~${__searchFilter:regex})
```

### 변수 사용
<a name="variable-usage"></a>

 지표 노드 경로에서 변수를 사용하거나 함수의 파라미터로 사용할 수 있습니다.

 두 가지 구문이 있습니다.
+  `$<varname>` 예: apps.frontend.$server.requests.count 
+  `${varname}` 예: apps.frontend.${server}.requests.count 

 왜 두 가지 방법이 있을까요? 첫 번째 구문은 읽고 쓰기가 더 쉽지만 단어 중간에 변수를 사용할 수는 없습니다. `my.server${serverNumber}.count`와 같은 표현식에서 두 번째 구문을 사용합니다.

### 태그 쿼리에서의 변수 사용
<a name="variable-usage-in-tag-queries"></a>

 태그 쿼리의 다중 값 변수는 Grafana 5.0에 도입된 변수에 대한 고급 형식 구문(`{var:regex}`)을 사용합니다. 태그가 아닌 쿼리는 다중 값 변수에 대해 기본 glob 형식을 사용합니다.

 다음 코드 예제에서는 정규식 형식과 등호 틸드 연산자(`=~`)를 사용하는 태그 표현식을 보여줍니다.

```
server=~${servers:regex}
```

 자세한 내용은 [고급 변수 형식 옵션](templates-and-variables.md#advanced-variable-format-options) 단원을 참조하십시오.

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

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

 Graphite는 주석을 쿼리하는 두 가지 방법을 지원합니다.
+ 일반 지표 쿼리. 이를 위해 **Graphite 쿼리** 텍스트 상자를 사용합니다.
+ Graphite 이벤트 쿼리. 이를 위해 `Graphite event tags` 텍스트 상자를 사용하고 태그 또는 와일드카드 문자를 지정합니다(빈 상태로 유지해도 됨).