[TIL] Loki

Soeng_dev·2024년 12월 26일

loki vs prometheus

데이터유형

Prometheus
시계열 데이터를 수집 및 저장. 숫자 중심 데이터 처리, 알림 설정 및 모니터링에 적합.

Loki
로그 데이터를 수집 및 저장. 텍스트 기반 로그 검색 및 쿼리에 최적화.

쿼리 및 시각화

Prometheus
PromQL로 시계열 데이터를 분석. 데이터 수집과 알림 설정에 초점.

Loki
LogQL로 로그 데이터를 쿼리하고 시각화. 디버깅 및 로그 분석에 적합.

데이터 처리 방식

Prometheus
라벨을 기반으로 데이터 집계 및 계산.

Loki
라벨만 추가하여 로그를 저장. 검색 및 필터링 최적화.

loki-logback-appender Gradle 설정

logback.xml

http://localhost:3100/loki/api/v1/push app=my-app,host=${HOSTNAME}
<root level="DEBUG">
    <appender-ref ref="LOKI" />
</root>

build.gradle

dependencies {
    implementation 'com.github.loki4j:loki-logback-appender:1.4.0' // 최신 버전 확인
}

def hostname = System.getenv('HOSTNAME') ?: 'unknown-host'
processResources {
    filesMatching('logback.xml') {
        filter {
            it.replace('${HOSTNAME}', hostname)
        }
    }
}
profile
Software Engineer

0개의 댓글