본문 바로가기
IT/Kubernetes

Loki 설치

by rapker 2023. 4. 13.
반응형

참고

개요

grafana로 pod 모니터링 하면서 container에서 발생되는 로그를 좀 더

간편하게 보는 방법이 보여져서 겸사겸사 설치 해 봅니다.

container의 로그수집을 위해 설치하게 될 loki의 구성요소

  • Loki : 메인 서버역할, 로그들을 저장하고 쿼리를 실행합니다.
  • Promtail : Daemonset으로 모든 Node들에 배포되며 로그를 수집하여 Loki로 전달합니다.
  • LokiQL : 수집된 로그를 찾는 쿼리언어

사전 준비

저는 prometheus와 grafana를 먼전 설치 한 후에 loki를 설치 했지만

loki를 먼저 설치해도 큰 문제는 없을 것 같긴 합니다 -0-

 

설치

loki 설치에 앞서

loki는 prometheus와 grafana를 필요로 하기 때문에

prometheus와 grafana가 설치된 namespace를 확인합니다.

kubectl get ns

 

저는 kubernetes-monitoring 에 prometheus와 grafana가 설치되어 있습니다.

 

repository 등록

loki의 helm chart를 등록하고 loki와 promtail을 순서대로 설치 합니다.

helm repo add loki <https://grafana.github.io/loki/charts>
helm repo update

 

loki 설치

prometheus가 설치된 namespace에 설치하도록 —namespace옵션을 사용하여 설치 합니다.

helm upgrade --install loki --namespace=kubernetes-monitoring loki/loki-stack

 

promtail 설치

helm 변수로 지정하는 “loki.serviceName=”의 값은 앞서 설치 했던 loki의 release name입니다.

저의 경우 “—install loki”로 loki를 설치 했으므로 아래와 같이 설정 합니다.

helm upgrade --install promtail loki/promtail --set "loki.serviceName=loki" --namespace kubernetes-monitoring

 

 

설치 확인

kubectl get pod -n kubernetes-monitoring

 


728x90

 

Grafana에서 log 확인

Loki Data Source 확인

Grafana에서 loki가 수집한 데이터에 접근이 가능한지 Data Source를 확인 합니다.

grafana에 접속해서 Data Source로 loki가 잘 추가되어 있는지 확인

 

이쁘게 추가되어 있구요, 클릭해서 들어가 봅니다.

 

일단 요렇게 생겼구요

 

 

아래 쪽에 로그 수집이 정상인지 test해볼 수 있습니다.

(그냥 한번 눌러 봅니다.)

 

Grafana로 container 로그 보기

Loki에서 제공하는 sample

https://grafana.com/grafana/dashboards/13639-logs-app/

  • grafana panel꾸미는 내용은 생략 -

일단 원하는 container의 로그 보기는 확인 했습니다.

 

사용된 query

{namespace="$namespace", pod="$pod", container="CONTAINER_NAME"}

실제 운영할 때는 query 조건으로 검색할 수 있도록

pod labels에 특정 키워드 들을 추가 해주는 한결 사용하기 편할 것 같습니다.

반응형
LIST

'IT > Kubernetes' 카테고리의 다른 글

K8S Autoscale 리서치  (0) 2023.04.17
K8S resources.requests 필요한가?  (1) 2023.04.17
prometheus 설치 (with pvc)  (0) 2023.04.13
prometheus 설치 (with out pvc)  (0) 2023.04.13
EKS에 Agones 설치  (0) 2023.04.13