티스토리 뷰

RRD

Round Robin Database의 약자로, 통계 정보 혹은 통계 그래프가 필요한 주기성을 가진 데이터들을 저장하고 필요할 때, 데이터를 가져와 가공하여 새로운 정보를 만들어 내거나, 그에 해당하는 그래프를 편리하게 그릴 수 있도록 고안된 데이터베이스의 일종이다. 라운드 로빈이라는 말처럼 디비를 생성할 때, 저장할 주기를 설정하고 해당 주기만큼의 데이터만을 유지한다는 것 이 특징이다. 이런 이유로 인해서 데이터베이스의 파일 사이즈가 처음 생성할 때의 데이터베이스 사이즈로 유지가 된다.

트래픽 디비 생성

rrdtool create [rrd_name] --step 300 \
"DS:input:COUNTER:600:U:U" \
"DS:output:COUNTER:600:U:U" \
"RRA:AVERAGE:0.5:1:315360" \
"RRA:AVERAGE:0.5:6:52560" \
"RRA:AVERAGE:0.5:24:13140" \
"RRA:AVERAGE:0.5:288:1095" \
"RRA:MAX:0.5:1:315360" \
"RRA:MAX:0.5:6:52560" \
"RRA:MAX:0.5:24:13140" \
"RRA:MAX:0.5:288:1095"

--step 300

데이터 수집 주기로 300초 설정


"DS:input:COUNTER:600:U:U"

Data Source 정의, input 변수 지정, COUNTER 타입 값으로 지정, 600초 heart beat 지정, 최소 리미트 값 지정 U(unknown), 최대 리미트 값 지정 U(unknown)

 

"RRA:AVERAGE:0.5:1:315360"

Round Robin Archive 정의, AVERAGE 함수 사용, 만약 U(unknown) 값일 경우에 50% 되는 값을 사용, 1개의 값(5분 단위 값)을 315360 개의 값의 평균으로 사용

 

RRD의 데이터 저장 포멧

rrd 트래픽 정보 저장

rrdupdate [rrd_name] N:[traffic_in]:[traffic_out]

N

현재 시간

 

[traffic_in]

스위치 정보의 out 트래픽 누적 값(옥텟)

 

[traffic_out]

스위치 정보의 in 트래픽 누적 값(옥텟)

RRD 트래픽 데이터 조회

현재를 기준으로 마지막에 제정된 트래픽 정보 조회(xml)

rrdtool xport \
--start `date +'%s'`-300 \
--end `date +'%s'` \
DEF:invalue=[rrd_name]:input:AVERAGE \
DEF:outvalue=[rrd_name]:output:AVERAGE \
CDEF:indata=invalue,8,* \
CDEF:outdata=outvalue,8,* \
XPORT:indata:"in" \
XPORT:outdata:"out"

RRD 트래픽 그래프 생성

현재 시간을 기준으로 1일 트래픽 그래프 생성

rrdtool graph traffic_graph.gif \
--start `date +'%s'`-86400 \
--end `date +'%s'` \
--step 300 \
--vertical-label="Bits per second" \
--x-grid "HOUR:1:HOUR:1:HOUR:2:0:%H" \
--slope-mode \
--rigid \
--alt-autoscale-max \
"DEF:inoctets=[rrd_name]:input:AVERAGE" \
"DEF:outoctets=[rrd_name]:output:AVERAGE" \
"CDEF:inbits=inoctets,8,*" \
"CDEF:outbits=outoctets,8,*" \
"AREA:inbits#0000ff:In" \
"LINE1:outbits#008000:Out\l"

참고 사이트

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
페이지
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함