DEV Community

Jaeyoun Nam
Jaeyoun Nam

Posted on

Grafana Opentelemetry Starter

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가 기본설정으로 미리 설정되어 들어가 있다.

아래 그림을 보면 이해하기 편하다.

Image description

그림에서 보는 플로우

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
Enter fullscreen mode Exit fullscreen mode

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}
Enter fullscreen mode Exit fullscreen mode
실행 결과
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...
Enter fullscreen mode Exit fullscreen mode

Apple silicon 맥북에서 실행하면 위의 Warning이 뜨는데, 로컬에서 테스트용으로 쓸꺼라 크게 상관은 없다.

도커 실행 화면

Image description

(3000, 4317, 4318 포트가 열려있는거 확인 가능)

그라파나 접속 화면

localhost:3000에 접속하자.

admin/admin으로 로그인할 수 있다.

Image description

Top comments (0)