반응형
Datadog으로 Kubernetes환경 모니터링을 생성해 보겠다.
아래 내용은 EKS를 기반으로 테스트 및 작성되었다.
1. EKS metric 수집을 위한 설정
- EKS apiserver metric 수집을 위해선 default/kubernetes service에 아래 annotations을 추가해 주어야 한다.
annotations:
ad.datadoghq.com/endpoints.check_names: '["kube_apiserver_metrics"]'
ad.datadoghq.com/endpoints.init_configs: '[{}]'
ad.datadoghq.com/endpoints.instances: '[{ "prometheus_url": "https://%%host%%:%%port%%/metrics", "bearer_token_auth": "true" }]'
2. monitors 설정
- Datadog ORG페이지에서 Integrations에 kubernetes관련 항목들을 install 하고 Data Collected, Monitors등 탭에서 metrics정보 및 기본 monitors항목들 조회가 가능하다.
- Monitors에서 +New Monitor항목을 누르면 신규 Monitor생성 화면으로 이동되며 Host, Metric, Service Check 등 여러가지 방법의 모니터링 항목을 지원한다.
- kubernetes모니터링엔 주로 Metric과 Service Check를 사용하며 둘 모두에서 제공되는 기능들도 있는데 성능테스트를 했을 때 차이는 거의 없었다.
- metrics
모니터링 항목 | query | 조건 |
NodeNotReady | kubernetes_state.node.by_condition | status:unknown,condition:ready |
Node CPU Idle | system.cpu.idle | |
Node Memory Usable | system.mem.pct_usable | |
PodWaiting | kubernetes_state.container.status_report.count.waiting | !reason:containercreating |
DiskPressure | kubernetes_state.node.by_condition | condition:diskpressure,status:false |
MemoryPressure | kubernetes_state.node.by_condition | condition:memorypressure,status:false |
PidPressure | kubernetes_state.node.by_condition | condition:pidpressure,status:false |
Node Disk Usage | system.disk.used | |
PodTerminated | kubernetes_state.container.status_report.count.terminated | !reason:Completed |
Datadog Agent Down | (datadog.agent.running) + (datadog.cluster_agent.running) |
- service check
모니터링 항목 | query | 조건 |
Kubelet Down | kubernetes.kubelet.check | |
APIServer Down | kube_apiserver_controlplane.up |
- url check : values.yaml파일에 아래와 같이 설정 추가 후 helm upgrade로 재배포
confd: {}
http_check.yaml: |-
init_config:
instances:
- name: "url_check"
url: "https://eng-nate.tistory.com"
min_collection_interval: 30 # default : 15초
모니터링 항목 | query | 조건 |
URL Check | network.http.cant_connect |
반응형
추가적인 설정들은 환경과 상황에 따라 달라지는 부분이 많다.
처음엔 좀 복잡할 수 있으나 쓰다보면 편한 것 같고 추가적으로 기능도 계속 개선되는 것 같다.
반응형
'모니터링 > Datadog' 카테고리의 다른 글
Datadog 리소스 쉽게 관리하기(datadog-sync) (0) | 2023.07.07 |
---|---|
Cloud환경의 모니터링을 위한 Datadog 구축하기 (0) | 2023.03.09 |