리셋 되지 말자

Grafana, Tempo 모니터링 간단 예시 - springboot, mongodb 본문

Kubernetes

Grafana, Tempo 모니터링 간단 예시 - springboot, mongodb

kyeongjun-dev 2024. 1. 2. 00:34

Grafana, Tempo 설치 - docker desktop

제일 미니멈 설정으로 grafana라는 네임스페이스에 설치

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

kubectl create ns grafana
helm install grafana/grafana -n grafana
helm install grafana/tempo -n grafana

 

Spring boot앱 배포

먼저 spring boot 컨테이너에 설정하는 환경변수는 아래 yaml 파일과 같다

apiVersion: apps/v1
kind: Deployment
metadata:
  name: springboot
spec:
  selector:
    matchLabels:
      app: springboot
  template:
    metadata:
      labels:
        app: springboot
    spec:
      containers:
      - name: springboot
        image: springboot:test
        imagePullPolicy: Never
        ports:
        - containerPort: 8000
        env:
        - name: OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
          value: "grpc"
        - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
          value: "http://tempo.grafana.svc.cluster.local:4317"
        - name: OTEL_LOGS_EXPORTER
          value: "none"
        - name: OTEL_METRICS_EXPORTER
          value: "none"
        - name: OTEL_SERVICE_NAME
          value: "demo"
        - name: OTEL_TRACES_EXPORTER
          value: "otlp"
        - name: OTEL_EXPORTER_OTLP_INSECURE
          value: "true"
        - name: OTEL_INSTRUMENTATION_COMMON_DB_STATEMENT_SANITIZER_ENABLED
          value: "false"

 

여기서 OTEL_INSTRUMENTATION_COMMON_DB_STATEMENT_SANITIZER_ENABLED를 false로 지정하면, 데이터베이스 trace에 대한 정보가 전부 표시된다.

 

해당 값을 true로 하거나, 따로 설정하지 않으면(기본값이 true), 아래와 같이 ?로 표시된다

 

Dockerfile

FROM openjdk:17
WORKDIR /app
COPY demo.jar demo.jar
COPY opentelemetry-javaagent.jar opentelemetry-javaagent.jar
CMD ["java", "-javaagent:opentelemetry-javaagent.jar", "-Dotel.javaagent.debug=true","-jar", "demo.jar"]

'Kubernetes' 카테고리의 다른 글

Weaviate  (0) 2024.04.06
awscli irsa 테스트  (0) 2023.12.27
[Trino] 설치 및 맛보기  (0) 2023.08.10
Python Pod 예시...  (0) 2023.07.07
[Mongodb] mongodb scaling on kubernetes  (2) 2023.06.09
Comments