안녕하세요
cacti로 모니터링을 하고 있는데
snmpwalk에서 가져온 값과 cacti에서 rrdtool을 이용하여 그래프에 그릴때 나타나는 값이 전혀 다릅니다.
rrdtool에 나오는 값이 시스템 자체 확인을 해보면 맞는 값인데....
snmpwalk로 가져온 값은 대체 뭔가요??
snmpwalk로 가져온 값을 어떻게 알맞은 값으로 변환하는 것인지....
고수님들 살려주십시오 ㅠㅠ
어떤 값을 어떻게 가져와서 어떻게 비교를 했는지가 중요하죠. :-)
[@jrs0016 lib]$ snmpwalk -c !@#@!#@!# -v 2c 127.0.0.1 .1.3.6.1.4.1.2021.11.51.0 UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 7805
요렇게 나오는데 rrdtool에서 CPU Nice값이 3.33m(0.003%)로 나온다는 것이지요
왜 그런건지 ㅠㅠ
ssCpuRawNice 는 Counter 값입니다. 즉, 현재값에서 이전값을 빼야지 우리가 보는 %로 알 수가 있는 것입니다. rrdtool 에서 ssCpuRawNice 를 이용하여 값을 구할 때는 이전값을 rrd db 에 가지고 있기 때문에 그 차이로 human readable 하게 보여줄 수 있는 것이죠.
아 그리고 CPU 항목의 경우에는 해당 값으로 바로 구하는 것이 아니라, 다른 여러가지 OID 값을 이용하여 구하게 됩니다.
UCD-SNMP-MIB (.1.3.6.1.4.1.2021) 의 CPU 관련 Counter 를 이용하여 값을 구함 user => UCD-SNMP-MIB::ssCpuRawUser.0 nice => UCD-SNMP-MIB::ssCpuRawNice.0 sys => UCD-SNMP-MIB::ssCpuRawSystem.0 idle => UCD-SNMP-MIB::ssCpuRawIdle.0 wait => UCD-SNMP-MIB::ssCpuRawWait.0 intr => UCD-SNMP-MIB::ssCpuRawInterrupt.0 irqt => UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 counter 방식이기 때문에 각 값의 2 지점(시간상) 의 차이를 구하도록 한다. 예) user = user[post] - user[pref] scale = 100.0 / (user + nice + sys + idle + wait + intr + irqt) user = (user + nice) * scale sys = (sys + intr + irqt) * scale idle *= scale idwait *= scale
와 같이 구하게 됩니다. 이 식의 결과값은 %로 나오게 됩니다.
^^
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
어떤 값을 어떻게
어떤 값을 어떻게 가져와서 어떻게 비교를 했는지가 중요하죠. :-)
음
[@jrs0016 lib]$ snmpwalk -c !@#@!#@!# -v 2c 127.0.0.1 .1.3.6.1.4.1.2021.11.51.0
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 7805
요렇게 나오는데 rrdtool에서 CPU Nice값이 3.33m(0.003%)로 나온다는 것이지요
왜 그런건지 ㅠㅠ
ssCpuRawNice 는 Counter
ssCpuRawNice 는 Counter 값입니다. 즉, 현재값에서 이전값을 빼야지 우리가 보는 %로 알 수가 있는 것입니다. rrdtool 에서 ssCpuRawNice 를 이용하여 값을 구할 때는 이전값을 rrd db 에 가지고 있기 때문에 그 차이로 human readable 하게 보여줄 수 있는 것이죠.
아 그리고 CPU 항목의
아 그리고 CPU 항목의 경우에는 해당 값으로 바로 구하는 것이 아니라, 다른 여러가지 OID 값을 이용하여 구하게 됩니다.
와 같이 구하게 됩니다. 이 식의 결과값은 %로 나오게 됩니다.
감사합니다 ㅎ
^^
댓글 달기