Grafana Otel LGTM
서버 로그와 트레이스를 Grafana로 보고싶은데 찾아보면 다 configuration 파일을 막 설정하라고 그러고 kubernates에서 노드를 띄우라 그래서 포기가 마려운 사람들을 위한 스타터가 있다.
grafana-otel-lgtm은 설정없이 쉽게 로컬에서 Loki, Grafana, Tempo, Mimir를 띄울 수 있게 해준다.
Grafana Otel LGTM 개요
grafana/otel-lgtm
도커 이미지는 OpenTelemetry Collector, Prometheus, Loki, Tempo, and Grafana가 기본설정으로 미리 설정되어 들어가 있다.
아래 그림을 보면 이해하기 편하다.
그림에서 보는 플로우
1
어플리케이션에서 OTLP 프로토콜로 port 4317(grpc)이나 4318(http)로 보낸다.
2
해당 포트는 Opentelemetry Collector가 듣고 있으며, 이를 받아서 수집했다가 Signal의 종류에 따라 Metric은 프로메테우스, Log는 Loki, Trace는 Tempo로 전송한다.
3
프로메테우스, 로키, 템포는 각각의 저장소에 시그널을 저장한다.
4
localhost:3000으로 그라파나에 접속해 쿼리를 통해 쌓인 데이터를 Visualization한다.
셋업 방법
로컬에 키는 방법은 간단하다.
1. Pull docker image
docker pull grafana/otel-lgtm
2. Run run script
run-lgtm.sh
스크립트를 작성해서 실행한다.
#!/bin/bash
RELEASE=${1:-latest}
docker run \
--name lgtm \
-p 3000:3000 \
-p 4317:4317 \
-p 4318:4318 \
--rm \
-ti \
-v $PWD/container/grafana:/data/grafana \
-v $PWD/container/prometheus:/data/prometheus \
-v $PWD/container/loki:/loki \
-e GF_PATHS_DATA=/data/grafana \
docker.io/grafana/otel-lgtm:${RELEASE}
실행 결과
sh run-lgtm.sh
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Waiting for the OpenTelemetry collector and the Grafana LGTM stack to start up...
Apple silicon 맥북에서 실행하면 위의 Warning이 뜨는데, 로컬에서 테스트용으로 쓸꺼라 크게 상관은 없다.
도커 실행 화면
(3000, 4317, 4318 포트가 열려있는거 확인 가능)
그라파나 접속 화면
localhost:3000에 접속하자.
admin/admin으로 로그인할 수 있다.
Top comments (0)