>시스템 튜토리얼 >리눅스 >Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

WBOY
WBOY원래의
2024-07-26 17:31:50793검색
배포 아키텍처

아래 그림은 주로 다음을 포함하는 이 솔루션의 배포 아키텍처를 보여줍니다.

Heapster를 사용하여 CPU, 메모리, 네트워크, 파일 시스템 등을 포함한 K8s 성능 데이터를 수집하세요.

Heapster의 Statsd Sink를 사용하여 Splunk의 Metrics Store로 데이터 보내기

Splunk의 검색 명령과 대시보드 기능을 사용하여 성능 데이터 모니터링
Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

준비

초기 단계에서 준비해야 할 두 가지 주요 사항은 다음과 같습니다.

최신 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 udp

naughtytao/heapster-amd64:v1.5.0-beta.4 tcp

그런 다음 Splunk에서 Metrics Store를 구성해야 합니다. 이 문서를 참조하세요


Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

Heapster 설치 및 구성
K8s에 heapster를 배포하는 것은 상대적으로 쉽습니다. 해당 yaml 구성 파일을 생성한 다음 kubectl 명령줄을 사용하여 생성하면 됩니다.

다음은 배포 및 서비스 구성 파일입니다.

deployment.yaml

으아악

service.yaml

으아악

배포에 주의하세요. 여기서 싱크 구성은 IP는 Splunk의 IP 또는 호스트 이름이고, 포트는 Splunk의 데이터 입력 포트 번호에 해당합니다. udp 프로토콜을 사용하는 경우 구성해야 하는 numMetricsPerMsg 값이 상대적으로 작습니다. 이 값이 상대적으로 크면 메시지가 너무 깁니다. tcp를 사용할 때 더 큰 값을 구성할 수 있습니다.

kubectl apply -f *.yaml을 실행하여 heapster 배포

정상적으로 실행되면 heapster pod의 해당 로그는 다음과 같습니다

으아악

Splunk에서 모니터링
모든 것이 정상적으로 진행되면 heapster는 statsd 프로토콜과 형식을 사용하여 Splunk의 메트릭 저장소로 메트릭을 보냅니다.

그런 다음 SPL의 mstats 및 mcatalog 명령을 사용하여 메트릭 데이터를 분석하고 모니터링할 수 있습니다.

다음 검색문은 모든 측정항목을 나열합니다

으아악

Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

다음 검색 문은 전체 클러스터의 CPU 사용량을 나열합니다. 영역 또는 선형 차트를 사용하여 검색 결과를 시각화할 수 있습니다.

으아악

Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

kube-system 네임스페이스의 해당 메모리 사용량

으아악

Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

관심 있는 분석 결과를 대시보드에 올려놓고 실시간 설정을 통해 모니터링할 수 있습니다.


Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기

자세한 분석 옵션은 Splunk 설명서를 참조하세요.

위 내용은 Splunk를 사용하여 Kubernetes 성능을 모니터링하는 방법 자세히 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.