개념 사전 · 프로그램

RRDtool

알알디툴

은 주기적인 수치를 일정 크기의 시계열 아카이브에 저장하고 그래프로 표현하는 도구다. 최근의 세밀한 값과 오래된 통합값의 해상도는 ·step· 설정에 따라 달라진다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

로고: Tobias Oetiker / RRDtool 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.

01무엇이고, 어떤 일을 하나

  • 시계열 파일의 저장 크기와 보존 해상도를 계획한다.
  • 불규칙 수집값을 정해진 시간 격자와 통합 함수로 처리한다.
  • · 등에서 장기 수치 그래프를 만든다.

02어떤 순서로 동작하나

  1. 정렬

    는 들어온 표본을 기본 step 시간 격자의 로 정규화한다. 불규칙한 입력 표본 하나와 그래프 점 하나가 항상 대응하지는 않는다.

  2. 통합

    의 steps는 하나의 통합 점을 만들 때 묶는 수다. AVERAGE·MAX 같은 통합 함수에 따라 남는 정보가 달라진다.

  3. 보존 기간

    의 시간 범위는 기본 step×통합 steps×rows로 계산한다. rows가 같아도 통합 간격이 커지면 오래 보존하지만 세밀한 변화는 사라진다.

  4. Unknown 허용

    는 통합 구간 안의 UNKNOWN 비중을 얼마나 허용할지 정한다. 누락값을 0으로 바꾸어 평균을 낮추는 것과 다르다.

  5. 입력 간격이 를 넘으면 해당 구간이 UNKNOWN이 될 수 있다. 정상적인 0 트래픽과 수집 부재는 다른 상태다.

03먼저 알아둘 용어와 구성요소

입력 값의 이름·타입··범위 등을 정의한 데이터 소스.
기본 step 간격에 대응하도록 준비된 값.
여러 를 AVERAGE·MAX 등의 함수로 통합한 값.
통합 구간에서 허용할 UNKNOWN 비율의 기준.
Round Robin Database; 오래된 구간을 순환 덮어쓰는 시계열 저장 구조.
정해진 통합 함수·해상도·행 수로 값을 보관하는 아카이브.
입력 사이에 허용하는 최대 간격의 기준.
누적 입력의 차이를 시간당 변화율로 처리하는 데이터 소스 타입.
현재 측정값을 나타내는 데이터 소스 타입.
LEARN THROUGH PRACTICE

장비별 Cacti 그래프의 값·NaN·빈 시간을 읽기

그래프 틀이 생성된 것과 실제 값이 수집되는 것을 구분하고 지원 OID 차이를 조사한다.

실습 구성과 전제

  • 자기 실습 의 조회 가능한 장비 두 대와 동일한 시간 범위를 준비한다.
  • 사진의 라우터와 은 다른 대상이다. 한 장비의 변경 전후 그래프로 해석하지 않는다.
  1. 수집되는 지표와 비어 있는 지표를 나눈다

    • 라우터 화면에서 Uptime은 증가하지만 Processes·Memory는 NaN이다. 일부 지표가 수집된다고 템플릿의 모든 OID가 지원된다는 뜻은 아니다.
    • NaN은 0 프로세스나 메모리 0바이트가 아니라 알려지지 않은 값으로 해석해야 한다.
    실습 · 설정·관리 화면 4원본 크기로 보기 ↗
    • 라우터 Uptime에는 증가하는 파란 영역과 현재 137.22 m가 보인다.
    • Processes·Memory 범례에는 -nan이 표시된다. 빈 그래프를 자원이 전혀 사용되지 않는 상태로 읽으면 안 된다.
    확인 기준

    장비 템플릿·Data Query·실제 지원 OID를 비교한다.

  2. 다른 장비의 정상 지표와 수집 구간을 비교한다

    • 은 수와 메모리 값이 표시된다. 대상 종류에 맞는 MIB·템플릿이 실제 데이터를 반환한 결과인지 확인한다.
    • 시간축의 빈 구간은 데이터 누락·미수집·표시 범위 등의 후보가 있다. 그래프 모양만으로 호스트 재부팅을 확정하지 않는다.
    실습 · 설정·관리 화면 5원본 크기로 보기 ↗
    • VM의 Processes 범례에는 Current 241, Average 240, Maximum 243이 보인다.
    • Uptime과 메모리에는 데이터가 있는 구간과 빈 구간이 나뉜다. 같은 시간 범위에서도 지표별 값의 의미가 다르다.
    확인 기준

    최신 폴링 시각과 원시 조회 결과를 확인해 그래프를 보완한다.

  3. Poller→RRD→Graph 순서로 문제를 좁힌다

    • 직접 조회가 되면 Poller 권한·주기·로그를 보고, 다음으로 갱신 시각과 자료형을 확인한다. 마지막으로 그래프의 ·단위·집계 함수를 본다.
    • 는 보존 기간이 길어지면 여러 표본을 하나의 로 합칠 수 있다. 평균 그래프는 순간 최댓값을 그대로 보여 주지 않는다.
    shell
    rrdtool info /path/to/lab.rrd
    rrdtool lastupdate /path/to/lab.rrd

    실제 Data Source의 경로를 확인한 뒤 읽기 전용으로 조회한다.

    확인 기준

    빈 값이 처음 발생하는 단계와 파일 갱신 시각을 특정한다.

실습에서 확인한 동작 원리

  • NaN·0·빈 구간은 서로 다른 의미다.
  • 한 지표의 성공이 다른 OID와 전체 수집 경로의 정상까지 증명하지 않는다.
관련 개념·전체 실습 화면 이어서 읽기 →
동작·명령 참고 문서

04예제로 따라가기

  • 표본 설정: 같은 단위의 1분 여섯 개가 10, 10, 10, 10, 10, 70이라고 가정한다. 모두 알려진 값이다.
  • 평균 통합: AVERAGE로 6개를 통합하면 합계 120÷6=20이다. 마지막 1분의 70이라는 피크가 평균 20으로 보인다.
  • 최대 통합: 같은 구간의 MAX는 70이다. 장기 그래프에서 평균과 최대가 다른 이유는 같은 원시 구간에서 서로 다른 특징을 남기기 때문이다.
  • 누락 비교: 여섯 개 중 네 개가 UNKNOWN이고 =0.5라면 누락 비중 4/6이 허용치를 넘으므로 통합값도 UNKNOWN이다.
  • 보존 계산: step=60초· steps=5·rows=288이면 60×5×288=86,400초, 즉 하루를 5분 해상도로 저장한다.

05혼동하기 쉬운 점과 확인 기준

  • 오래된 그래프의 평균 한 점으로 그 구간의 순간 최대값을 복원할 수는 없다. 필요하면 MAX용 같은 별도 보존 설계를 한다.
  • 누락· 초과로 생긴 UNKNOWN과 실제 값 0을 같은 상태로 읽으면 수집 장애를 정상 무부하로 오해할 수 있다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.