아래 그림은 주로 다음을 포함하는 이 솔루션의 배포 아키텍처를 보여줍니다.
Heapster를 사용하여 CPU, 메모리, 네트워크, 파일 시스템 등을 포함한 K8s 성능 데이터를 수집하세요.
Heapster의 Statsd Sink를 사용하여 Splunk의 Metrics Store로 데이터 보내기
Splunk의 검색 명령과 대시보드 기능을 사용하여 성능 데이터 모니터링
초기 단계에서 준비해야 할 두 가지 주요 사항은 다음과 같습니다.
최신 Heapster 이미지를 컴파일하고 docker 허브와 같은 공개 Docker 이미지 저장소에 업로드하세요
Splunk에서 Metrics Store 및 해당 네트워크 입력(네트워크 입력 UDP/TCP) 구성
여기서 주요 선택은 Statsd의 전송 프로토콜로 UDP 또는 TCP를 사용할지 여부입니다. 여기서는 TCP를 사용하는 것이 좋습니다. 최신 Heapster 코드는 log, influxdb, stackdriver, gcp 모니터링, gcp 로깅, statsd, hawkular-metrics, wavefront, openTSDB, kafka, riemann, elasticsearch 등을 포함한 다양한 백엔드를 지원합니다. Splunk의 Metrics Store는 statsd 프로토콜을 지원하므로 Heapster와 쉽게 통합될 수 있습니다.
먼저 최신 heapster 코드를 사용하여 컨테이너 이미지를 컴파일해야 합니다. 왜냐하면 docker 허브의 heapsterd 공식 이미지는 오래되었고 statsd를 지원하지 않기 때문입니다. 그래서 직접 컴파일해야 합니다.
으아악위 명령을 실행하여 최신 heapster 이미지를 컴파일합니다.
heapster는 기본적으로 udp 프로토콜을 사용한다는 점에 유의하세요. tcp를 사용하려면 코드를 수정해야 합니다
https://github.com/kubernetes/heapster/blob/master/metrics/sinks/statsd/statsd_client.go
으아악udp를 tcp로 변경하세요.
각각 udp 버전과 tcp 버전에 해당하는 두 개의 이미지를 docker 허브에 배치했습니다. 직접 사용할 수 있습니다.
naughtytao/heapster-amd64:v1.5.0-beta.3 udpnaughtytao/heapster-amd64:v1.5.0-beta.4 tcp
그런 다음 Splunk에서 Metrics Store를 구성해야 합니다. 이 문서를 참조하세요
다음은 배포 및 서비스 구성 파일입니다.
deployment.yaml
으아악
service.yaml으아악
배포에 주의하세요. 여기서 싱크 구성은 IP는 Splunk의 IP 또는 호스트 이름이고, 포트는 Splunk의 데이터 입력 포트 번호에 해당합니다. udp 프로토콜을 사용하는 경우 구성해야 하는 numMetricsPerMsg 값이 상대적으로 작습니다. 이 값이 상대적으로 크면 메시지가 너무 깁니다. tcp를 사용할 때 더 큰 값을 구성할 수 있습니다.kubectl apply -f *.yaml을 실행하여 heapster 배포
정상적으로 실행되면 heapster pod의 해당 로그는 다음과 같습니다
으아악
그런 다음 SPL의 mstats 및 mcatalog 명령을 사용하여 메트릭 데이터를 분석하고 모니터링할 수 있습니다.
다음 검색문은 모든 측정항목을 나열합니다
으아악
다음 검색 문은 전체 클러스터의 CPU 사용량을 나열합니다. 영역 또는 선형 차트를 사용하여 검색 결과를 시각화할 수 있습니다.
으아악
kube-system 네임스페이스의 해당 메모리 사용량
으아악
관심 있는 분석 결과를 대시보드에 올려놓고 실시간 설정을 통해 모니터링할 수 있습니다.
위 내용은 Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!