개념 사전 · 프로그램

Cacti

칵티

는 와 수집 스크립트의 값을 에 저장하고 그래프로 구성하는 모니터링 도구다. 장비·템플릿의 관리 정보와 시계열 값의 저장소를 구분하면 장애 위치를 좁히기 쉽다.

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

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

  • 장비·데이터 소스·그래프 템플릿을 중앙 관리한다.
  • 를 예약 실행해 OID 또는 스크립트 출력을 수집한다.
  • 단기·장기 해상도의 트래픽 그래프를 제공한다.

02어떤 순서로 동작하나

  1. 장비와 데이터 정의

    장비 접속 정보와 Data Query··를 연결하여 어떤 값을 읽을지 정한다.

  2. 실행

    스케줄러가 또는 경로를 실행하며 실제 실행 계정·권한·환경이 적용된다.

  3. 측정값 수집

    Agent에서 해당 OID 값을 받아 형식·유효성·수집 시각을 처리한다. 가용성 검사 성공만으로 모든 OID가 수집되지는 않는다.

  4. 갱신

    의 타입·step·heartbeat 조건에 맞게 값을 넣고 필요한 통합값을 에 보관한다.

  5. 그래프 생성

    정의된 기간·데이터 소스·통합 함수로 이미지를 만든다. 정의가 있어도 파일 누락·권한·값 누락 때문에 그래프가 비어 있을 수 있다.

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

정해진 주기에 관리 대상을 조회하는 수집 실행기.
C로 구현한 용 다중 스레드 수집기.
수집 값의 이름·형식·저장 관계를 정의하는 대상.
안에서 특정 간격·통합 함수로 보관하는 아카이브.
장비의 관리 객체를 요청·응답과 알림으로 제공하는 프로토콜.
정해진 해상도와 보존 구간으로 순환 저장하는 시계열 데이터베이스.
여러 장비에서 재사용할 수집·저장 조건의 틀.
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 순서로 문제를 좁힌다

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

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

    확인 기준

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

실습에서 확인한 동작 원리

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

04예제로 따라가기

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

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

  • 선택: 조회 기간이 길어지면서 더 거친 가 선택되었는지 본다. 확대·축소에 따라 피크가 바뀌는 것은 통합 결과일 수 있다.
  • DS 타입: Counter 원값을 Gauge로 저장하거나 반대로 처리했는지 확인한다. 데이터 소스 타입은 숫자를 속도로 변환하는 의미를 결정한다.
  • 시간 간격: 실행 지연·중복 실행·heartbeat를 비교한다. 단순 조회 성공은 정해진 시간 안에 가 갱신되었다는 증거가 아니다.

06상세 노트 · 실습 자료

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

공식 문서 · 표준

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