개념 사전 · 프로그램
Cacti
칵티
는 와 수집 스크립트의 값을 에 저장하고 그래프로 구성하는 모니터링 도구다. 장비·템플릿의 관리 정보와 시계열 값의 저장소를 구분하면 장애 위치를 좁히기 쉽다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 장비·데이터 소스·그래프 템플릿을 중앙 관리한다.
- 를 예약 실행해 OID 또는 스크립트 출력을 수집한다.
- 단기·장기 해상도의 트래픽 그래프를 제공한다.
02어떤 순서로 동작하나
- 장비와 데이터 정의
장비 접속 정보와 Data Query··를 연결하여 어떤 값을 읽을지 정한다.
- 실행
스케줄러가 또는 경로를 실행하며 실제 실행 계정·권한·환경이 적용된다.
- 측정값 수집
Agent에서 해당 OID 값을 받아 형식·유효성·수집 시각을 처리한다. 가용성 검사 성공만으로 모든 OID가 수집되지는 않는다.
- 갱신
의 타입·step·heartbeat 조건에 맞게 값을 넣고 필요한 통합값을 에 보관한다.
- 그래프 생성
정의된 기간·데이터 소스·통합 함수로 이미지를 만든다. 정의가 있어도 파일 누락·권한·값 누락 때문에 그래프가 비어 있을 수 있다.
03먼저 알아둘 용어와 구성요소
- 정해진 주기에 관리 대상을 조회하는 수집 실행기.
- C로 구현한 용 다중 스레드 수집기.
- 수집 값의 이름·형식·저장 관계를 정의하는 대상.
- 안에서 특정 간격·통합 함수로 보관하는 아카이브.
- 장비의 관리 객체를 요청·응답과 알림으로 제공하는 프로토콜.
- 정해진 해상도와 보존 구간으로 순환 저장하는 시계열 데이터베이스.
- 여러 장비에서 재사용할 수집·저장 조건의 틀.
LEARN THROUGH PRACTICE
장비별 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 순서로 문제를 좁힌다
- 직접 조회가 되면 권한·주기·로그를 보고, 다음으로 갱신 시각과 DS 자료형을 확인한다. 마지막으로 그래프의 DS·단위·집계 함수를 본다.
- 는 보존 기간이 길어지면 여러 표본을 하나의 CDP로 합칠 수 있다. 평균 그래프는 순간 최댓값을 그대로 보여 주지 않는다.
shellrrdtool 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상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.