victorialogs: Grafana 통합 완료 기록
- vm-stack helm values에 victoriametrics-logs-datasource plugin 추가 - ConfigMap sidecar 패턴으로 datasource 등록 (helm additionalDataSources는 vm-stack 구조상 미적용) - Grafana PVC RWO Multi-Attach 주의사항 기록
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: VictoriaLogs (K3s 로그 저장)
|
||||
updated: 2026-04-08
|
||||
tags: [k3s, logging, vector, observability]
|
||||
updated: 2026-04-08 Grafana 통합
|
||||
tags: [k3s, logging, vector, observability, grafana]
|
||||
---
|
||||
|
||||
# VictoriaLogs
|
||||
@@ -84,6 +84,45 @@ Vector helm values는 [[vector|vector]] 문서 또는 `helm get values vector -n
|
||||
|
||||
- Traefik 로그는 별도 sink로 [[crowdsec-safeline|CrowdSec]]에 전송 (vector의 다른 transform/sink). VictoriaLogs로는 안 보내고 있음. 필요하면 sink inputs에 `parse_traefik` 추가하면 됨.
|
||||
|
||||
## Grafana 통합
|
||||
|
||||
vm-stack의 Grafana(`monitoring/vm-stack-grafana`)에 등록되어 있음. Explore에서 data source를 `VictoriaLogs`로 선택하면 LogsQL 쿼리 가능.
|
||||
|
||||
### 등록 방법
|
||||
|
||||
두 단계로 구성:
|
||||
|
||||
1. **플러그인 설치** — vm-stack helm values의 `grafana.plugins`에 `victoriametrics-logs-datasource` 추가하고 `helm upgrade vm-stack`. Grafana 시작 시 자동 다운로드/설치 (현재 v0.26.3).
|
||||
|
||||
2. **datasource 등록** — `grafana.additionalDataSources`는 vm-stack chart 구조상 sub-chart로 전달이 안 되므로 무시됨. 대신 **sidecar ConfigMap 패턴** 사용:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: vlogs-grafana-datasource
|
||||
namespace: monitoring
|
||||
labels:
|
||||
grafana_datasource: "1" # ← grafana-sc-datasources sidecar가 자동 발견
|
||||
data:
|
||||
vlogs.yaml: |
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
- name: VictoriaLogs
|
||||
type: victoriametrics-logs-datasource
|
||||
access: proxy
|
||||
url: http://vlogs-victoria-logs-single-server.logging.svc.cluster.local:9428
|
||||
isDefault: false
|
||||
editable: true
|
||||
```
|
||||
|
||||
`kubectl apply -f` 한 번이면 sidecar가 즉시 picks up하고 grafana가 hot reload (`Writing /etc/grafana/provisioning/datasources/vlogs.yaml`).
|
||||
|
||||
### 주의
|
||||
|
||||
- Grafana PVC가 ReadWriteOnce이므로 helm upgrade 시 새 pod이 다른 노드에 스케줄되면 Multi-Attach error → 기존 pod 수동 삭제 필요. (또는 Grafana Deployment의 strategy를 Recreate로 변경)
|
||||
- helm values의 `grafana.additionalDataSources`는 무시되지만 plugin 설치는 작동하므로, plugin 라인은 helm values에 두는 게 맞음.
|
||||
|
||||
## LogsQL 쿼리 예시
|
||||
|
||||
```logsql
|
||||
@@ -130,7 +169,7 @@ kubectl get cm vector -n logging -o jsonpath='{.data.vector\.yaml}'
|
||||
|
||||
## 향후 작업
|
||||
|
||||
- [ ] Grafana data source 추가 (vm-stack helm upgrade로 `victoriametrics-logs-datasource` plugin 설치)
|
||||
- [x] Grafana data source 추가 (2026-04-08 완료, 위 "Grafana 통합" 섹션 참조)
|
||||
- [ ] CrowdSec와 통합 (APISIX 로그 → CrowdSec 시나리오)
|
||||
- [ ] AI 분석 컴포넌트 (CronJob 또는 streaming, 새 공격 패턴 자동 차단 룰 생성)
|
||||
- [ ] Traefik 로그도 VL로 동시 sink (현재는 CrowdSec only)
|
||||
|
||||
Reference in New Issue
Block a user