Qdrant Hybrid Cloud의 네트워킹, 로깅, 모니터링 설정
Qdrant Hybrid Cloud의 네트워킹, 로깅, 모니터링 설정 (hybrid-cloud-networking-logging-monitoring)
Qdrant Hybrid Cloud에서 데이터베이스 클러스터를 운영하다 보면, 네트워크 정책을 어떻게 제어하고 로그를 어떻게 수집하며 메트릭을 어떤 식으로 모니터링할지 고민하게 돼요. 이 문서는 그 세 가지 영역을 하나씩 짚어 드릴게요. 각각의 설정이 어떤 의미인지, 그리고 우리 환경에 맞게 어떻게 조정할 수 있는지 함께 살펴보죠.
출처: Qdrant 공식문서
네트워크 정책 구성하기 (Configure network policies)
보안상의 이유로 각 데이터베이스 클러스터는 네트워크 정책으로 보호돼요. 기본적으로 데이터베이스 pod는 서로 간의 이그레스(egress) 트래픽과, Kubernetes 클러스터 내부에서 6333(REST)·6334(gRPC) 포트로 들어오는 인그레스(ingress) 트래픽만 허용해요.
이 기본 네트워크 정책은 Hybrid Cloud 환경 설정에서 수정할 수 있어요.
qdrant:
networkPolicies:
ingress:
- from:
- ipBlock:
cidr: 192.168.0.0/22
- podSelector:
matchLabels:
app: client-app
namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: client-namespace
- podSelector:
matchLabels:
app: traefik
namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: kube-system
ports:
- port: 6333
protocol: TCP
- port: 6334
protocol: TCP
여기 from 아래에 나열된 항목이 인그레스 트래픽을 허용할 대상을 정의해요. 특정 IP 대역(ipBlock), 특정 레이블을 가진 pod(podSelector), 특정 네임스페이스(podSelector + namespaceSelector) 방식으로 유입을 제한할 수 있죠.
로깅 (Logging)
로그는 kubectl이나 여러분이 선호하는 Kubernetes 로그 관리 도구로 접근할 수 있어요. 예를 들면 이렇게요.
kubectl -n qdrant-namespace logs -l app=qdrant,cluster-id=9a9f48c7-bb90-4fb2-816f-418a46a74b24
로그 레벨 구성하기: 데이터베이스별 로그 레벨은 Qdrant Cluster 상세 페이지의 configuration 섹션에서 개별적으로 설정할 수 있어요. Qdrant Cloud Agent와 Operator의 로그 레벨은 Hybrid Cloud Environment configuration에서 설정하면 돼요.
로그 관리 시스템 연동 (Integrating with a log management system)
로그는 Kubernetes를 지원하는 어떤 로그 관리 시스템과도 연동할 수 있어요. Qdrant 특유의 추가 설정은 필요 없어요. 여러분이 쓰는 시스템의 에이전트가 Qdrant 네임스페이스에 있는 모든 Pod의 로그를 수집하도록 구성하기만 하면 되죠.
모니터링 (Monitoring)
Qdrant Cloud 콘솔에서는 Qdrant 클러스터의 CPU, 메모리, 디스크 사용량에 대한 기본 메트릭을 확인할 수 있어요.
Qdrant 메트릭을 자체 모니터링 시스템에 통합하고 싶다면, Prometheus/OpenMetrics 호환 형식의 메트릭을 제공하는 다음 엔드포인트들을 스크레이프(scrape)하도록 설정하면 돼요.
- 모든 Qdrant 데이터베이스 Pod의 6333 포트에 있는
/metrics— 각 데이터베이스와 그 내부 상태에 대한 메트릭을 제공해요. - Qdrant Operator Pod의 9290 포트에 있는
/metrics— Operator 자체와 Qdrant 클러스터·스냅샷의 상태에 대한 메트릭을 제공해요. - Qdrant Cloud Agent Pod의 9090 포트에 있는
/metrics— Agent와 Qdrant Cloud 컨트롤 플레인 간의 연결에 대한 메트릭을 제공해요. - kube-state-metrics Pod의 8080 포트에 있는
/metrics— Qdrant Hybrid Cloud 네임스페이스 안의 Pod, PersistentVolume 같은 Kubernetes 리소스 상태 메트릭을 제공해요. kube-state-metrics를 클러스터 전체에 걸쳐 운영하지 않는 경우 특히 유용해요.
Grafana 대시보드
위 메트릭을 자체 모니터링 시스템으로 스크레이프하고 Grafana를 쓰고 있다면, 우리가 제공하는 Grafana 대시보드를 사용해 이런 메트릭을 시각화할 수 있어요.
