로키
- log indexing을 위한 효율적인 memory 사용
- multi-tenancy
- LogQL - Prometheus의 query language인 PromQL과 유사하며 log data에서 metric을 생성하는 것이 용이함
- Scalability - 단일 바이너리로 사용할 수도 있으나 component 별 microservice로 실행될 수도 있음
- Flexibility - 많은 agent가 플러그인을 지원
- Grafana 통합
- 로그를 저장하고 쿼리를 처리하는 메인 서버
프롬테일
- 로그 수집, 어플리케이션에서 로그를 전달하는 agent 역할
- 로그를 찾아 저장소로 push하는 역할
- 로키를 위해 특별히 설계된 로그 수집기
- 로키로 수집하기 전에 로그에 레이블 지정, 변환 및 필터링을 위한 유사한 기능을 공유한다.
- 로그에서 타임스탬프 및 레이블과 같은
메타데이터
를 추출하여 구조화된 형식으로 로키에 보낸다.
- 로그를 스크랩한 후 레이블을 추가하도록 해야 메타데이터로 변경 → 시간 절약(필터링 후 조회 가능하도록)
로키 기본 세팅