Loki는 레이블별로 로그 스트림을 저장하고 Promtail은 파일을 찾아 로그 줄을 전송합니다. 이 실습 과정에서는 로컬 파이프라인을 만들고 개별 이벤트와 로그에서 파생한 수치 신호를 조회합니다.
Loki를 실행해 Grafana에 등록하고 시스템 및 앱 파일용 Promtail을 구성한 뒤 LogQL로 스트림을 탐색합니다. 이후 줄 수와 rate, JSON level 그룹화, 수치 unwrap, 저카디널리티 레이블 설계를 연습합니다.
학습 내용
- Loki를 다운로드, 시작, 검증하고 API로 Grafana에 연결하기
- Promtail 파일 검색, 레이블, 위치, push endpoint 구성하기
- Range Query API와 Grafana Explore로 전송 로그 확인하기
- 스트림을 선택하고 텍스트나 정규식으로 줄 필터링하기
- 시간 창의 로그를 개수와 초당 rate로 변환하기
- JSON을 파싱하고 rate를 그룹화하며 수치 unwrap하기
- 저카디널리티 환경 레이블을 추가하고 줄 필터와 구분하기
- 앱 오류 급증을 일으키고 1분 LogQL 감지 쿼리 만들기
추천 대상
이 중급 과정은 Loki 로그 파이프라인을 구축하고 조회하려는 Linux 관리자, DevOps 실무자, 관측성 학습자를 위한 과정입니다.
선수 지식: Linux 셸, YAML, 백그라운드 프로세스, curl, 로그 파일, 정규식, 기본 Grafana 탐색. Loki나 LogQL 경험은 필요하지 않습니다.
학습 환경: Loki, Promtail, Grafana, logcli, 생성 로그가 한 Linux 머신에서 실행됩니다. 다중 호스트 배포는 하지 않습니다.
자주 묻는 질문
여러 서버의 로그를 수집하나요?
아닙니다. 모든 구성 요소와 소스가 한 머신에 있습니다. 검색, 레이블, 전송, 저장, 조회를 연습하지만 원격 에이전트 배포는 하지 않습니다.
LogQL은 얼마나 깊게 다루나요?
selector, 텍스트와 regex 필터, count_over_time, rate, JSON, sum by, unwrap과 avg_over_time을 다룹니다. 고급 parser, rule, alert, 튜닝은 범위 밖입니다.
챌린지에서 실제 장애를 만드나요?
트리거가 /var/log/app.log에 ERROR 줄을 기록하고 1분 개수 쿼리를 저장합니다. 이 쿼리로 알림이나 외부 통지를 구성하지는 않습니다.





