Commit 72ed0511 authored by JooHan Hong's avatar JooHan Hong

high cpu load 1차완료

parent cfb3ce71
Pipeline #5318 passed with stages
in 47 seconds
[![logo](https://www.hongsnet.net/images/logo.gif)](https://www.hongsnet.net)
# Node High CPU Usage Issue 검증
> Node의 전체 CPU 사용률에 대한 모니터링을 수행한다.
# Configuration
2분 동안 CPU 사용률이 `80`% 이상인 경우가 감지된 경우 Alert을 발생시키는 Rule
- **결과**
![high_cpu](../../images/high_cpu.png)
- **검증 과정**
* [ **STEP 1** ] : Prometheus의 Graph 메뉴의 Expression에서 수식에 대한 검증을 진행한다.
![high_cpu_verify](../../images/high_cpu_verify.png)
> 대상 Node에 현재의 CPU Usage(%) 값이 쿼리 된다.
* [ **STEP 2** ] : Prometheus Configmap 파일에 ITEM을 추가한다.
```bash
# cat prometheus-config-map.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus-server-conf
labels:
name: prometheus-server-conf
namespace: monitoring
data:
prometheus.rules: |-
groups:
- name: Node High CPU Load
rules:
- alert: HostHighCpuLoad
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80
for: 0m
labels:
severity: warning
annotations:
summary: "Host high CPU load (instance {{ $labels.instance }})"
description: "CPU load is > 80%\n VALUE = {{ $value }}\n LABELS: {{ $labels }}"
...하략
```
* [ **STEP 3** ] : kubectl 툴을 이용하여 Replace 처리하고, curl을 이용하여 POST **reload** Payload를 전송한다.
```bash
# kubectl replace -f prometheus-config-map.yaml
# curl -X POST http://172.24.0.222:30003/-/reload
```
> 또는 prometheus를 재시작하면 즉시 적용된다.
# Verify
* [ **STEP 1** ] : 검증을 위해 80% 기준을 `5`%로 변경한다.
```python
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 5
```
* [ **STEP 2** ] : Alert Manager를 통한 Alert 발송을 확인한다. 5%로 변경되었기 때문에 대부분의 Node가 해당된 상태이다.
![high_cpu_alert](../../images/high_cpu_alert.png)
* [ **STEP 3** ] : Resolved를 검증하기 위해 다시 기존 80%로 변경한다.
```python
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80
```
* [ **STEP 4** ] : Alert Manager를 통한 `Resolved` Alert 발송을 확인한다.
![high_cpu_resolved](../../images/high_cpu_resolved.png)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment