InfluxDB를 AWS EC2 인스턴스에 설치해두었는데, 이틀에 한 번꼴로 새벽 5시 20분쯤부터 CPU 스파이크가 발생하고 이후에는 접속할 수 없게 됩니다. Grafana에서는 Prometheus Node Exporter 기준으로 스파이크가 보이는데, 사용한 쿼리는 다음과 같습니다:
(query is sum by (instance)(rate(node_cpu_seconds_total{mode='user',instance=~"$node:$port",job=~"$job"}[5m])) * 100)
ps aux에 표기되는 %CPU는 프로세스별 전체 수명 기간내에 CPU를 사용한 시간의 비율로 나타나기 때문에, 프로세스가 동작한지 오래되었다면 수 분 정도의 스파이크는 전체 평균에 큰 영향을 미치지 못할 것 같습니다. top 명령어로 확인하시면 변화가 확인될 것으로 보입니다.
uptime의 load average도 cpu 사용률과는 다른 계위의, 실행 대기중인 프로세스 수와 관련된 지표이기 때문에, 컨텍스트 스위칭이나 I/O 등으로 인해 발생한 이슈일 경우 관측되지 않을 수도 있을 것 같습니다.
반면에 node exporter쪽은 5분간의 평균 변화율을 측정하기 때문에 CPU 스파이크가 감지되는 것으로 보입니다.
해당 시간대에 InfluxDB 쪽 로그에서 compaction나 retention 등과 관련된 동작이 남아있는지 확인해보시면 좋을 것 같습니다.