Loki 데이터 소스에 연결 - Amazon Managed Grafana

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

Loki 데이터 소스에 연결

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

데이터 소스 추가

  1. Grafana 작업 영역을 열고 로그인했는지 확인합니다.

  2. 구성 링크 아래의 사이드 메뉴에서 데이터 소스 링크를 찾을 수 있습니다.

  3. 상단의 데이터 소스 추가 버튼을 선택합니다.

  4. 데이터 소스 목록에서 Loki를 선택합니다.

참고

사이드 메뉴에 데이터 소스 링크가 보이지 않으면 현재 사용자에게 Admin 역할이 없는 것입니다.

명칭 설명
Name 데이터 원본 이름. 패널, 쿼리, Explore에서 데이터 원본을 보는 방법은 다음과 같습니다.
Default 기본 데이터 소스는 새 패널에 사용할 데이터 소스가 미리 선택된다는 의미입니다.
URL Loki 인스턴스의 URL (예:. http://localhost:3100 이는 Amazon EC2 호스트의 URL, Amazon EKS 클러스터 앞의 애플리케이션 로드 밸런서 또는 Loki 인스턴스의 다른 URL일 수 있습니다.
Maximum lines Loki가 반환하는 로그 줄 수의 상한선 (기본값은 1000개). Explore에서 로그를 표시할 때 브라우저가 느리면 줄일 수 있습니다.

파생 필드

파생 필드 구성을 사용하여 다음을 수행할 수 있습니다.

  • 로그 메시지에서 파싱된 필드를 추가합니다.

  • 필드 값을 사용하는 링크를 추가합니다.

이 기능을 사용하여 로그에서 직접 추적 백엔드에 연결하거나, 로그 라인에 UserID가 있는 경우 사용자 프로필 페이지에 연결할 수 있습니다. 이러한 링크는 로그 세부 정보에 표시됩니다. 자세한 정보는 레이블 및 탐지된 필드을 참조하세요.

각 파생 필드는 다음과 같이 구성됩니다.

  • 이름 - 로그 세부 정보에 레이블로 표시됩니다.

  • Regex — 로그 메시지에서 실행되며 로그 메시지의 일부를 새 필드의 값으로 캡처하는 Regex 패턴입니다. 단일 캡처 그룹만 포함할 수 있습니다.

  • URL/쿼리 — 링크가 외부인 경우 전체 링크 URL을 입력합니다. 링크가 내부 링크인 경우 이 입력은 대상 데이터 원본에 대한 쿼리 역할을 합니다. 두 경우 모두 매크로를 사용하여 ${__value.raw } 필드의 값을 보간할 수 있습니다.

  • 내부 링크 — 링크가 내부 링크인지 외부 링크인지를 선택합니다. 내부 링크의 경우 데이터 원본 선택기를 사용하여 대상 데이터 원본을 선택할 수 있습니다. 추적 데이터 소스만 지원됩니다.

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

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

로그 쿼리

Loki에서 로그 데이터를 쿼리하고 표시하는 작업은 Explore를 통해, 그리고 시각화의 로그 패널을 통해 수행할 수 있습니다. Loki 데이터 원본을 선택한 다음 LogQL 쿼리를 입력하여 로그를 표시합니다. LogQL에 대한 자세한 내용은 LogQL을 참조하십시오.

로그 쿼리

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

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

결과가 반환된 후 로그 패널에는 로그 행 목록과 x축은 시간, y축은 빈도/개수를 나타내는 막대 차트가 표시됩니다.

로그 스트림 셀렉터

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

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

현재 지원되는 레이블 매칭 연산자는 다음과 같습니다.

  • =정확히 동일합니다.

  • !=같지 않아요.

  • =~레젝스 매칭.

  • !~정규식 매칭을 하지 마세요.

예:

  • {name=~"mysql.+"}

  • {name!~"mysql.+"}

레이블 선택기를 추가하는 또 다른 방법은 테이블 섹션을 사용하는 것입니다. 레이블 옆의 필터를 선택하여 레이블을 쿼리 표현식에 추가합니다. 이 방법은 여러 쿼리에도 적용되며 각 쿼리에 레이블 선택기가 추가됩니다.

검색 표현식

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

예제 쿼리:

  • {job="mysql"} |= "error"

  • {name="kafka"} |~ "tsdb-ops.*io:2003"

  • {instance=~"kafka-[23]",name="kafka"} != "kafka.server:type=ReplicaManager"

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

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

현재 지원되는 필터 유형은 다음과 같습니다.

  • |=행에는 문자열이 들어 있습니다.

  • !=라인은 문자열을 포함하지 않습니다.

  • |~라인은 정규 표현식과 일치합니다.

  • !~라인이 정규 표현식과 일치하지 않습니다.

로그 컨텍스트

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

템플릿 작성

메트릭 쿼리에 서버, 애플리케이션, 센서 이름 등을 하드코딩하는 대신 변수를 대신 사용할 수 있습니다. 변수는 대시보드 상단의 드롭다운 선택 상자로 표시됩니다. 이 드롭다운 상자를 사용하여 대시보드에 표시되는 데이터를 변경할 수 있습니다.

템플릿 및 템플릿 변수에 대한 자세한 내용은 을 참조하십시오. 템플릿 및 변수

주석

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