

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

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

 Loki 데이터 소스는 Grafana의 로그 집계 시스템인 Loki에 대한 액세스를 제공합니다.

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

1.  Grafana 워크스페이스를 열고 로그인했는지 확인합니다.

1.  사이드 메뉴에서 **구성** 링크 아래에 **데이터 소스** 링크가 있습니다.

1.  상단의 **데이터 소스 추가** 버튼을 선택하세요.

1.  데이터 소스 목록에서 **Loki**를 선택하세요.

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


|  이름  |  설명  | 
| --- | --- | 
|  Name  |  데이터 소스 이름. 패널, 쿼리 및 탐색에서 데이터 소스를 보는 방법입니다. | 
|  Default  |  기본 데이터 소스는 새 패널에 대해 미리 선택됨을 의미합니다. | 
|  URL  | Loki 인스턴스의 URL(예: http://localhost:3100). Amazon EC2 호스트의 URL, Amazon EKS 클러스터 전면의 Application Load Balancer 또는 Loki 인스턴스의 다른 URL일 수 있습니다. | 
|  Maximum lines  |  Loki에서 반환하는 로그 줄 수의 상한(기본값: 1,000). 탐색에 로그를 표시할 때 브라우저가 느리게 작동하면 줄입니다. | 

### 파생 필드
<a name="loki-derived-fields"></a>

 *파생 필드* 구성을 사용하여 다음을 수행할 수 있습니다.
+  로그 메시지에서 구문 분석된 필드를 추가합니다.
+  필드 값을 사용하는 링크를 추가합니다.

 이 기능을 사용하여 로그에서 직접 추적 백엔드에 연결하거나 로그 줄에 userId가 있는 경우 사용자 프로파일 페이지에 연결할 수 있습니다. 이러한 링크는 로그 세부 정보에 표시됩니다. 자세한 내용은 [레이블 및 감지된 필드](explore.md#labels-and-detected-fields) 단원을 참조하십시오.

파생된 각 필드는 다음으로 구성됩니다.
+  **이름** - 로그 세부 정보에 레이블로 표시됩니다.
+  **정규식** - 로그 메시지에서 실행되고 그 일부를 새 필드의 값으로 캡처하는 정규식 패턴. 단일 캡처 그룹만 포함할 수 있습니다.
+  **URL/쿼리** - 링크가 외부인 경우 전체 링크 URL을 입력합니다. 링크가 내부 링크인 경우 이 입력은 대상 데이터 소스에 대한 쿼리 역할을 합니다. 두 경우 모두 필드의 값을 `${__value.raw }` 매크로로 보간할 수 있습니다.
+  **내부 링크** - 링크가 내부 링크인지 외부 링크인지 선택합니다. 내부 링크의 경우 데이터 소스 선택기를 사용하여 대상 데이터 소스를 선택할 수 있습니다. 추적 데이터 소스만 지원됩니다.

 디버그 섹션을 사용하여 필드 추출 내용과 URL 보간 방법을 확인할 수 있습니다. **예제 로그 메시지 표시**를 선택하여 로그 메시지를 입력할 수 있는 텍스트 영역을 표시합니다.

 로그 세부 정보에 링크와 함께 표시된 새 필드.

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

 Loki에서 로그 데이터 쿼리 및 표시는 탐색을 통해 사용할 수 있으며 시각화의 로그 패널과 함께 사용할 수 있습니다. Loki 데이터 소스를 선택한 다음, LogQL 쿼리를 입력하여 로그를 표시합니다. LogQL에 대한 자세한 내용은 [LogQL](https://grafana.com/docs/loki/latest/logql/)을 참조하세요.

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

 로그 쿼리는 **로그 스트림 선택기** 및 **검색 표현식**과 같은 두 부분으로 구성됩니다. 성능상의 이유로 먼저 로그 스트림에 대한 로그 레이블을 선택해야 합니다.

 쿼리 필드 옆의 로그 탐색기(**로그 레이블** 버튼)에는 사용 가능한 로그 스트림의 레이블 목록이 표시됩니다. 쿼리를 작성하는 다른 방법은 쿼리 필드의 자동 완성을 사용하는 것입니다. 먼저 왼쪽 중괄호(`{`)를 입력하면 자동 완성 메뉴에 레이블 목록이 제안됩니다. **Enter** 키를 눌러 쿼리를 실행합니다.

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

### 로그 스트림 선택기
<a name="log-stream-selector"></a>

 쿼리 표현식의 레이블 부분에 대해 중괄호(`{}`)로 묶은 다음, 키 값 구문을 사용하여 레이블을 선택합니다. 여러 레이블 표현식은 쉼표로 구분됩니다.

 `{app="mysql",name="mysql-backup"}` 

 현재 다음과 같은 레이블 일치 연산자가 지원됩니다.
+  `=`: 정확히 동일합니다.
+  `!=`: 같지 않습니다.
+  `=~`: 정규식 일치.
+  `!~`: 정규식 일치와 같지 않습니다.

 예시: 
+  `{name=~"mysql.+"}` 
+  `{name!~"mysql.+"}` 

 레이블 선택기를 추가하는 또 다른 방법은 테이블 섹션에 있습니다. 레이블 옆의 **필터**를 선택하여 쿼리 표현식에 레이블을 추가합니다. 이는 여러 쿼리에서도 작동하며 각 쿼리에 레이블 선택기를 추가합니다.

### 검색 표현식
<a name="loki-search-expression"></a>

 로그 스트림 선택기를 작성한 후 검색 표현식을 작성하여 결과를 추가로 필터링할 수 있습니다. 검색 표현식은 텍스트 또는 정규식일 수 있습니다.

 쿼리 예제: 
+  `{job="mysql"} |= "error"` 
+  `{name="kafka"} |~ "tsdb-ops.*io:2003"` 
+  `{instance=~"kafka-[23]",name="kafka"} != "kafka.server:type=ReplicaManager"` 

 필터 연산자는 연결될 수 있으며 표현식을 순차적으로 필터링합니다. 결과 로그 줄은 모든 필터를 충족합니다.

 예제 

 `{job="mysql"} |= "error" != "timeout"` 

 현재 다음과 같은 필터 유형이 지원됩니다.
+  `|=` 줄에 문자열이 포함되어 있습니다.
+  `!=` 줄에 문자열이 포함되어 있지 않습니다.
+  `|~` 줄이 정규식과 일치합니다.
+  `!~` 줄이 정규 표현식과 일치하지 않습니다.

**참고**  
 Loki의 쿼리 언어인 LogQL에 대한 자세한 내용은 [Loki LogQL](https://grafana.com/docs/loki/latest/logql/)을 참조하세요.

## 로그 컨텍스트
<a name="loki-log-context"></a>

 위에서 설명한 검색 표현식을 사용하면 필터링된 결과 앞뒤의 컨텍스트를 검색할 수 있습니다. 필터링된 행에서 `Show Context` 링크를 선택하면 관심 있는 로그 메시지 앞뒤에 오는 로그 메시지를 조사할 수 있습니다.

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

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

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

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

 지표가 아닌 Loki 쿼리를 주석의 소스로 사용할 수 있습니다. 로그 콘텐츠는 주석 텍스트로 사용되고 로그 스트림 레이블은 태그로 사용되므로 추가 매핑이 필요하지 않습니다.