Prometheus, Out of Bound 해결방법 (feat. 서버 시간 통일 & TSDB 초기화)

2025. 11. 28. 19:12·Infra/DevOps

프로메테우스 돌연 파업 선언

어제까지 주는 밥 잘 먹다가 갑자기 이런다고 ㅋㅋ

급한 일이 끝나서 다시 K8S를 하고 있는데 잘 되던 프로메테우스가 동작을 안한다

당연히 프로메테우스가 동작을 안하니 그라파나도 올스탑 ㅠㅠ

뚝 끊겼습니다?

이 문제가 알고보니 되게 간단한 것이라 빠르게 해결해보겠다

(근데 뒤에 함정이 또 있었음... 번외 참조)


1. 원인 분석

일단 Error가 Out of Bounds이고, Last Scrape가 시간인데 음수?

이건 일단 서버 시간에 문제가 있음을 의심해야한다

K8S 한다고 이것저것 작업하다가 꼬인 것 같음..


2. 해결 방법

그냥 모든 서버의 시간을 통일해주면 되는 것이었다

근데 수동으로 잡아줬다가 나중에 K8S 때문에 또 틀어질까봐 NTP(Network Time Protocol) 클라이언트라는 것을 써보기로 했다

Linux에서는 chrony라는 것을 많이 쓴다고 한다

바로 설치한다


아 참고로 아래 과정은 모든 서버에서 실행한다

# 최신화 및 chrony 설치
sudo apt-get update
sudo apt-get install -y chrony
# chrony 실행 및 systemd에 등록
sudo systemctl start chrony
sudo systemctl enable chrony
# 정상동작 테스트
timedatectl status

모든 시간이 동일하게 통일된 모습

아 잊지말고 프로메테우스 재실행해야 한다

sudo systemctl restart prometheus

3. 결과

나머지 서버들이 잘 연결이 된 것을 확인할 수 있었다


4. 번외

1) 그 어떤 쿼리도 동작하지 않는다면?

나 같은 경우엔 시간이 정상화되고 나서 어떤 쿼리도 동작하지 않았음

일 안하고 깨-끗하시겠답니다 (쿼리 조회가 안됨)

이게 시간이 계속 꼬인 데이터가 쌓였으면 정상화된 로그도 문제될 수 있다는 얘기

- 나 같은 경우엔 맥미니(중계서버) 혼자 미래에 있다가 온거라서 TSDB에 온갖 시간대가 뒤죽박죽 있는 셈이다
- 그러니까 데이터를 새로 쓰려고 해도 미래에 이미 데이터가 있고, 그걸 가져오자니 난 새로 쓰려고 하고... 이런 상황
- 답은 싹다 밀어버리는 것이라고 생각했음 (아이고 내 분산 데이터들 ㅠㅠ 백업을 까먹었네...)

아무튼 TSDB를 초기화하기 위해선 아래 명령어 순서대로 진행하면 됨

# 프로메테우스 멈추고 TSDB 전부 싹 밀고 재실행
sudo systemctl stop prometheus
sudo rm -rf /var/lib/prometheus/*
sudo systemctl start prometheus

이제 잘 나오는 것을 확인할 수 있었음

일하기로 합의 봤습니다 (퍽퍽)

그라파나(Grafana)에서도 잘 나오는 것을 확인!


2) TSDB란?

- 그럼 결국 TSDB란 무엇인가에 대한 궁금증에 조사해봤음

- TSDB는 Time Series Database의 약자

- 결국 시간(Time) + 값(Value) 쌍으로 이루어진 데이터를 저장하는 DB인셈

- 프로메테우스는 시간마다 데이터를 조회하니까 이런 형태의 DB가 가장 효율적이라서 이런 DB를 쓰게 된 것!

반응형

'Infra > DevOps' 카테고리의 다른 글

쿠버네티스(Kubernetes, K8s) 구축 과정에 마주한 에러들  (0) 2025.12.03
홈서버 4대로 쿠버네티스(Kubernetes, K8s) 구축하기  (0) 2025.12.01
Fail2Ban, 다시 iptables-nft 체제로 전환하기 (feat. 최최최종ver)  (0) 2025.11.24
Fail2Ban, nftables 체제로 완전 전환하기 (feat. 눈물겨운 이유와 Ubuntu 22.04)  (0) 2025.11.15
Fail2Ban 돌연사 사건 및 해결방법 (feat. 그지같은 nftables)  (0) 2025.11.15
'Infra/DevOps' 카테고리의 다른 글
  • 쿠버네티스(Kubernetes, K8s) 구축 과정에 마주한 에러들
  • 홈서버 4대로 쿠버네티스(Kubernetes, K8s) 구축하기
  • Fail2Ban, 다시 iptables-nft 체제로 전환하기 (feat. 최최최종ver)
  • Fail2Ban, nftables 체제로 완전 전환하기 (feat. 눈물겨운 이유와 Ubuntu 22.04)
Ratatou2
Ratatou2
온갖 정보들을 기록해두는 메모보드 블로그
  • Ratatou2
    nak-z
    · Ratatou2 ·
  • 전체
    오늘
    어제
  • 공지사항

    • 블로그 이전 진행 중 (24.11.25 ~)
    • 분류 전체보기 (303) N
      • OS (89) N
        • Linux (39)
        • Window (24)
        • Mac (21) N
        • Android (5)
      • Infra (83) N
        • DevOps (38) N
        • Docker (14)
        • Jenkins (9)
        • n8n (13)
        • Nextcloud (8)
        • Rasberry Pi (1)
      • Dev (17)
        • JAVA (7)
        • Python (1)
        • DB (3)
        • Vue (2)
        • AI (4)
        • Git (0)
      • Tools (10)
      • Study (69)
        • Algorithm (66)
        • CS (3)
      • Game (10)
        • Project Zomboid (9)
        • Don't Starve Together (1)
      • etc (24)
        • Temp (0)
      • 개발 외 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Ratatou2
Prometheus, Out of Bound 해결방법 (feat. 서버 시간 통일 & TSDB 초기화)
상단으로

티스토리툴바