Cilium 스터디는 매주 주차별 스터디 내용을 정리하는것과 별개로 심화학습 과제가 있다!!
지난주에는 바쁘서.. 심화학습을 못했는데 이번주부터 하려고 한다.
Hubble Flow Logs를 수집하여, 시각화하는 로깅 시스템을 구성해보기
간단하게 로그를 수집하는 시스템으로 loki + promtail + grafana를 통해서 구현해보려고 한다.
먼저 loki + promtail은 흔히 loki-stack이라고 불린다.
수집방법은 promtail이 데몬셋으로 설치되어 hubble flow 경로를 volum mount를 하고 해당 경로의 파일을 읽는다.

loki-stack 설치
loki-stack은 helm으로 설치하면 간단하다.
helm template loki grafana/loki-stack -f ./values.yaml -n monitoring
---
promtail:
enabled: true
### 노드 특정 경로의 로그 수집을 위해 추가한다.
extraVolumes:
- name: cilium-hubble-logs
hostPath:
path: /var/run/cilium/hubble
type: DirectoryOrCreate
extraVolumeMounts:
- name: cilium-hubble-logs
mountPath: /var/run/cilium/hubble
readOnly: true
config:
snippets:
### 노드 특정 경로의 로그 수집을 위해 추가한다.
scrapeConfigs: |
- job_name: cilium-export-log
static_configs:
- targets:
- localhost
labels:
job: cilium-export-log
### hubble export dynamic으로 지정한 flowlog path이다.
__path__: /var/run/cilium/hubble/events.log
logLevel: info
serverPort: 3101
clients:
- url: http://{{ .Release.Name }}:3100/loki/api/v1/push
---

Grafana + loki Datasource
Datasource는 loki svc의 주소를 기재하면 된다. loki가 다른 namespace에 있기 때문에 namespace까지 다 적어주었고,

save/test를 해보면, 아래와 같이 loki svc tcp 3100으로 요청이 발생하는것을 볼 수 있다.
- pod logs -f로 확인을 해봐도 save를 할 때 요청이 발생하는것을 볼 수 있다.

그리고 스터디에서 cilium-monitoring에 ciliumnetworkpolicy를 적용하고 삭제를 안했는데, 아래처럼 차단이 된다.
- cnp는 기재한 path/port를 제외하면 기본이 차단이기 때문에 반드시 반드시.. 꼭 적용해야 하는지 깊은 고민이 필요하다.

grafana에서 loki를 datasource로 잡았다면, 상단에서 loki로 변경한 다음에 Run Query를 하면 hubble export log를 이제 grafana에서 쉽게 볼 수 있다.

loki로 수집한 데이터를 조금 더 상세하게 보면 기본적으로 lables을 탐지는 한다.
하지만, parser를 따로 지정해주지 않아서 그런지 모두 flow key로 전체가 들어가있다.
- loki-stack helm-charts에서 labels을 분리하려고 했는데.. 무슨 이유에서인지 잘 안된다.
- 찾아보면 loki-stack helm-charts는 더이상 유지보수를 안한다고 promtail helm-charts를 따로 사용하라고 한다..

'기술 토론장 > [K8s] Kubernetes' 카테고리의 다른 글
| [Cilium][3주차] Node & Pod 네트워크 통신 상세 - Routing, DNS (0) | 2025.08.03 |
|---|---|
| [Cilium][3주차] Node & Pod 네트워크 통신 상세 - IPAM (4) | 2025.08.02 |
| [Cilium][2주차] Prometheus/Grafana을 통한 Cilium 가시성 확보 (0) | 2025.07.22 |
| [Cilium][2주차] Hubble을 통한 Cilium Traffic 가시성 확보 (3) | 2025.07.21 |
| [Cilium][1주차] 테스트 환경 구성과 Cilium 개념 정리 (0) | 2025.07.17 |