
RRDtool
알알디툴
은 주기적인 수치를 일정 크기의 시계열 아카이브에 저장하고 그래프로 표현하는 도구다. 최근의 세밀한 값과 오래된 통합값의 해상도는 ·step· 설정에 따라 달라진다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
로고: Tobias Oetiker / RRDtool 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.
01무엇이고, 어떤 일을 하나
- 시계열 파일의 저장 크기와 보존 해상도를 계획한다.
- 불규칙 수집값을 정해진 시간 격자와 통합 함수로 처리한다.
- · 등에서 장기 수치 그래프를 만든다.
02어떤 순서로 동작하나
- 정렬
는 들어온 표본을 기본 step 시간 격자의 로 정규화한다. 불규칙한 입력 표본 하나와 그래프 점 하나가 항상 대응하지는 않는다.
- 통합
의 steps는 하나의 통합 점을 만들 때 묶는 수다. AVERAGE·MAX 같은 통합 함수에 따라 남는 정보가 달라진다.
- 보존 기간
의 시간 범위는 기본 step×통합 steps×rows로 계산한다. rows가 같아도 통합 간격이 커지면 오래 보존하지만 세밀한 변화는 사라진다.
- Unknown 허용
는 통합 구간 안의 UNKNOWN 비중을 얼마나 허용할지 정한다. 누락값을 0으로 바꾸어 평균을 낮추는 것과 다르다.
입력 간격이 를 넘으면 해당 구간이 UNKNOWN이 될 수 있다. 정상적인 0 트래픽과 수집 부재는 다른 상태다.
03먼저 알아둘 용어와 구성요소
- 입력 값의 이름·타입··범위 등을 정의한 데이터 소스.
- 기본 step 간격에 대응하도록 준비된 값.
- 여러 를 AVERAGE·MAX 등의 함수로 통합한 값.
- 통합 구간에서 허용할 UNKNOWN 비율의 기준.
- Round Robin Database; 오래된 구간을 순환 덮어쓰는 시계열 저장 구조.
- 정해진 통합 함수·해상도·행 수로 값을 보관하는 아카이브.
- 입력 사이에 허용하는 최대 간격의 기준.
- 누적 입력의 차이를 시간당 변화율로 처리하는 데이터 소스 타입.
- 현재 측정값을 나타내는 데이터 소스 타입.
장비별 Cacti 그래프의 값·NaN·빈 시간을 읽기
그래프 틀이 생성된 것과 실제 값이 수집되는 것을 구분하고 지원 OID 차이를 조사한다.
실습 구성과 전제
- 자기 실습 의 조회 가능한 장비 두 대와 동일한 시간 범위를 준비한다.
- 사진의 라우터와 은 다른 대상이다. 한 장비의 변경 전후 그래프로 해석하지 않는다.
수집되는 지표와 비어 있는 지표를 나눈다
- 라우터 화면에서 Uptime은 증가하지만 Processes·Memory는 NaN이다. 일부 지표가 수집된다고 템플릿의 모든 OID가 지원된다는 뜻은 아니다.
- NaN은 0 프로세스나 메모리 0바이트가 아니라 알려지지 않은 값으로 해석해야 한다.
원본 크기로 보기 ↗- 라우터 Uptime에는 증가하는 파란 영역과 현재 137.22 m가 보인다.
- Processes·Memory 범례에는 -nan이 표시된다. 빈 그래프를 자원이 전혀 사용되지 않는 상태로 읽으면 안 된다.
확인 기준장비 템플릿·Data Query·실제 지원 OID를 비교한다.
다른 장비의 정상 지표와 수집 구간을 비교한다
- 은 수와 메모리 값이 표시된다. 대상 종류에 맞는 MIB·템플릿이 실제 데이터를 반환한 결과인지 확인한다.
- 시간축의 빈 구간은 데이터 누락·미수집·표시 범위 등의 후보가 있다. 그래프 모양만으로 호스트 재부팅을 확정하지 않는다.
원본 크기로 보기 ↗- VM의 Processes 범례에는 Current 241, Average 240, Maximum 243이 보인다.
- Uptime과 메모리에는 데이터가 있는 구간과 빈 구간이 나뉜다. 같은 시간 범위에서도 지표별 값의 의미가 다르다.
확인 기준최신 폴링 시각과 원시 조회 결과를 확인해 그래프를 보완한다.
Poller→RRD→Graph 순서로 문제를 좁힌다
- 직접 조회가 되면 Poller 권한·주기·로그를 보고, 다음으로 갱신 시각과 자료형을 확인한다. 마지막으로 그래프의 ·단위·집계 함수를 본다.
- 는 보존 기간이 길어지면 여러 표본을 하나의 로 합칠 수 있다. 평균 그래프는 순간 최댓값을 그대로 보여 주지 않는다.
shellrrdtool 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상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.