[시스템] RRDTOOL을 이용한 시스템 모니터링

RRDTOOL을 이용한 시스템 모니터링

———————————-

참고사이트

———————————-

Net-SNMP

    http://www.net-snmp.com/

MRTG

    http://www.mrtg.org/

RRDTOOL

    http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/

    RRDWORLD (http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/rrdworld/index.html)에 RRDTOOL과 관련된 유용한 프로젝트들이 많이 있다.

    rrdtool 소스 contrib 디렉토리에 유용한 유틸리티가 많이 있다.

Cricket

    http://cricket.sourceforge.net/

RRD 그래프 프로그램

    http://my14all.sourceforge.net/

    http://www.cheshire.demon.co.uk/pub/

    http://www.fi.muni.cz/~kas/mrtg-rrd/

Converting from Rateup to RRDTool

    http://www.geocities.com/paulcwilliamson/mrtg/rateup2rrd.html

CACTI – A php based ‘full service frontend’ to rrdtool and monitoring

    http://www.raxnet.net/products/cacti/

SNMP on W2K

    http://snmpboy.msft.net/

SNMP for the Public Community

    http://www.wtcs.org/snmp4tpc/

    GETIF라는 Windows용 공개 MIB Browser 프로그램을 제공한다.(아마도)

    http://www.wtcs.org/snmp4tpc/FILES/Tools/SNMP/getif/getif.zip

SNMP Link

    http://www.snmplink.org/

Microsoft

    Microsoft Technet – Network Management for Microsoft Networks Using SNMP

    http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/winntas/maintain/featusability/networkm.asp

    Microsoft Technet – Resource Kit Chapter 10 – Simple Network Management Protocol    http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windows2000serv/reskit/tcpip/part3/tcpch10.asp

    Microsoft Q315154 – HOW TO: Configure Security for a Simple Network Management Protocol Service in Windows 2000

    http://support.microsoft.com/default.aspx?scid=KB;EN-US;q315154&

———————————-

소프트웨어 설치

———————————-

RRD System Monitoring 서버

    * Requirement

    – Apache

    – Mysql

    – Perl

    – DBI Perl Module

    – DBD::Mysql Perl Module

    * Net-SNMP 설치 (SNMP Perl 모듈 포함)

    ./configure \\

    –with-perl-modules

    make

    make install

    * rrdtool 설치

    gd 라이브러리가 설치되어 있지 않다면 먼저 설치해야 한다.

    ./configure

    make

    make install

    make site-perl-install

Client Agent

    * Unix

    Net-SNMP 설치

    * Windows

    SNMP서비스에 확장 Agent를 설치한다.

———————————-

RDDTOOL 사용법

———————————-

* RRD 파일 만들기

rrdtool create filename

        –start | -b <start time : default now – 10s>

        –step | -s <step : default 300s>

        DS:ds-name:DST:heartbeat:min:max

                DST : Data Source Type GAUGE | COUNTER | DRIVE | ABSOLUTE

        RRA:CF:xff:steps:rows

                RRA : Round Robin Archive

                CF : consolidation functions AVERAGE | MIN | MAX | LAST

[Example]

rrdtool create test.rrd             \\

         –start 920804400          \\

         DS:speed:COUNTER:600:U:U   \\

         RRA:AVERAGE:0.5:1:24       \\

         RRA:AVERAGE:0.5:6:10

rrdtool을 이용하는 경우 5분평균,30분평균값들이 저장되는 기간을 마음대로 정해줄 수 있다. RRA에서 rows를 원하는 대로 바꾸면 된다.

5분평균 일주일 – 12 * 24 * 7 = 2016 line

30분평균 한달 – 30 * 2 * 24 * 31 = 1488 line

2시간평균 100일 – 2h * 12 * 100 = 1200 line

하루평균 2년 – 1d * 730 = 730 line

* RRD 데이타 업데이트하기

rrdtool update test.rrd 920804700:12345 920805000:12357 920805300:12363

rrdtool update test.rrd 920805600:12363 920805900:12363 920806200:12373

rrdtool update test.rrd 920806500:12383 920806800:12393 920807100:12399

rrdtool update test.rrd 920807400:12405 920807700:12411 920808000:12415

rrdtool update test.rrd 920808300:12420 920808600:12422 920808900:12423

* RRD 데이타 파일에서 데이타 추출하기

rrdtool fetch test.rrd AVERAGE –start 920804400 –end 920809200

* RRD Graph 그리기

rrdtool graph cpu.gif \\

        -s e-1d -e 1039596009 \\                         # 시작시각 끝시각

        DEF:cpu=mx.nuri.net-cpu.rrd:ds0:AVERAGE \\         # 데이타소스

        AREA:cpu#00ff00:”CPU” \\                         # 그림그리기

        -g \\                                                 # legend 빼고 그래프만 그리기

        -v “% Utilization” \\                                 # y축 Legend

        -t cpu \\                                         # 그래프 타이틀

        –step 300 \\                                         # 시간간격

        -x HOUR:1:HOUR:2:HOUR:2:0:%H                         # X축 포맷

[Example]

rrdtool graph speed.gif                                 \\

        –start 920804400 –end 920808000               \\

        DEF:myspeed=test.rrd:speed:AVERAGE              \\

        LINE2:myspeed#FF0000

그래프를 그리기 전에 결정해야 할 것

rrdfile

–start

–end

–step

–x-grid

–vertical-label

–imgformat

–lower-limit

–title

DEF

CDEF

GPRINT

LINE{1|2|3},linecolor

AREA,areacolor

———————————-

mrtg log 포맷을 rrd 포맷으로 바꾸기

———————————-

기존의 MRTG 로그 데이타를 이용해 볼 생각으로 RRD 포맷으로 바꾸어서 필요한 데이타를 얻는 방법을 테스트해 보았다.

* rrdtool/contrib/log2rrd 에 log2rrd.pl 스크립트가 있다.

log2rrd.pl mx.nuri.net-cpu.log rrd/

* mx.nuri.net.net-cpu.rrd 에 rrdtool 적용

rrdtool into mx.nuri.net-cpu.rrd 명령으로 rrd 파일에 대한 정보를 본다.

ds name 이 ds0, ds1 으로 되어 있으며 마지막 업데이트된 시각이 1039596009 인 것을 알 수 있다.

step = 300 (5분마다 데이타가 저장)

last_update = 1039596009

ds[ds0].type = “GUAGE” (GUAGE 타입 데이타)

ds[ds1].type = “GUAGE” (GUAGE 타입 데이타)

mrtg config에서 oid1@oid2 를 적어주므로 ds0는 oid1, ds1은 oid2에 해당하는 것으로 보임

rra[0].cf = “AVERAGE”

rra[0].rows = 600

rra[0].pdp_per_row = 1

5분 평균값이 600줄 저장

rra[1].cf = “MAX”

rra[1].rows = 600

rra[1].pdp_per_row = 1

5분 최대값이 600줄 저장

rra[2].cf = “AVERAGE”

rra[2].rows = 600

rra[2].pdp_per_row = 6

30분(step * pdp_per_row) 평균값이 600줄 저장

rra[3].cf = “MAX”

rra[3].rows = 600

rra[3].pdp_per_row = 6

30분 최대값이 600줄 저장

rra[4].cf = “AVERAGE”

rra[4].rows = 600

rra[4].pdp_per_row = 24

2시간 평균값 600줄 저장

rra[5].cf = “MAX”

rra[5].rows = 600

rra[5].pdp_per_row = 24

2시간 최대값 600줄 저장

rra[6].cf = “AVERAGE”

rra[6].rows = 600

rra[6].pdp_per_row = 288

하루 평균값 600줄 저장

rra[7].cf = “MAX”

rra[7].rows = 600

rra[7].pdp_per_row = 288

하루 최대값 600줄 저장

* rrd 파일에서 데이타를 끄집어내어 보자

rrdtool dump 로 모든 데이타를 xml형식으로 추출할 수 있다.

rrdtool dump mx.nuri.net-cpu.rrd > cpu.xml

dump로 추출한 결과 30분 평균값의 타임스탬프

2002-11-29 06:00:00 KST / 1038517200 ~ 2002-12-11 17:30:00 KST / 1039595400

rrdtool fetch 로 필요한 데이타를 추출할 수 있다.

rrdtool fetch mx.nuri.net-cpu.rrd AVERAGE -e 1039596009

하루동안의 5분평균값 빼기

rrdtool fetch mx.nuri.net-cpu.rrd AVERAGE -r 300 -s e-1d -e 1039596009

12.5일동안의 30분평균값 빼기

rrdtool fetch mx.nuri.net-cpu.rrd AVERAGE -r 1800 -s e- -e

rrdtool fetch mx.nuri.net-cpu.rrd AVERAGE -r 1800 -e $(echo $((1039596009/1800*1800))) -s e-12.5d

* 그래프를 그려보자

rrdtool graph cpu.gif \\

        -s e-1d -e 1039596009 \\

        DEF:cpu=mx.nuri.net-cpu.rrd:ds0:AVERAGE \\

        LINE2:cpu:#00a000:”CPU”

rrdtool graph cpu.gif \\

        -s 1039509600 -e s+1d \\

        -x HOUR:2:HOUR:2:HOUR:2:0:%X -v % \\

        -h 150 \\

        DEF:cpu=mx.nuri.net-cpu.rrd:ds0:AVERAGE \\

        AREA:cpu:#00ff00:”CPU”

rrdtool graph cpu.gif \\

        -s e-1d -e 1039596009 \\                         # 시작시각 끝시각

        DEF:cpu=mx.nuri.net-cpu.rrd:ds0:AVERAGE \\         # 데이타소스

        AREA:cpu#00ff00:”CPU” \\                         # 그림그리기

        -g \\                                                 # legend 빼고 그래프만 그리기

        -v “% Utilization” \\                                 # y축 Legend

        -t cpu \\                                         # 그래프 타이틀

        –step 300 \\                                         # 시간간격

        -x HOUR:1:HOUR:2:HOUR:2:0:%H                         # X축 포맷

———————————-

DB 테이블 구조

———————————-

기존의 monitor 테이블 구조와 최대한 호환되게 만든다.

기존의 monitor 테이블 구조

————————–

CREATE TABLE monitor (

  serial int(10) unsigned NOT NULL auto_increment,

  csn smallint(4) unsigned zerofill NOT NULL default ‘0000’,

  ssn smallint(5) unsigned zerofill,

  c_name varchar(25) NOT NULL default ”,

  t_ip varchar(21) NOT NULL default ”,

  t_community varchar(20) NOT NULL default ”,

  t_ver int(11) unsigned NOT NULL default ‘1’,

  oid1 varchar(50) NOT NULL default ”,

  oid2 varchar(50) NOT NULL default ”,

  bound int(11) NOT NULL default ‘0’,

  center tinyint(2) NOT NULL default ‘0’,

  floor tinyint(2) NOT NULL default ‘0’,

  bandwidth int(11) default NULL,

  description varchar(128) NOT NULL default ”,

  dgm_idx int(11) NOT NULL default ‘1’,

  status tinyint(1) default NULL,

  UNIQUE KEY serial (serial),

  KEY t_community (t_community)

) TYPE=MyISAM;

rrdtool system monitor 테이블 구조

———————————-

CREATE TABLE monitor (

  serial int(10) unsigned NOT NULL auto_increment,

  csn smallint(4) unsigned zerofill NOT NULL default ‘0000’,

  ssn smallint(5) unsigned zerofill default NULL,

  c_name varchar(25) NOT NULL default ”,

  hostname varchar(128) default NULL,

  t_ip varchar(21) NOT NULL default ”,

  t_community varchar(20) NOT NULL default ”,

  t_ver int(11) unsigned NOT NULL default ‘1’,

  oid1 varchar(50) NOT NULL default ”,

  oid2 varchar(50) NOT NULL default ”,

  datatype enum(‘Counter’,’Guage’) NOT NULL default ‘Counter’,

  bound int(11) NOT NULL default ‘0’,

  center tinyint(2) NOT NULL default ‘0’,

  floor tinyint(2) NOT NULL default ‘0’,

  bandwidth int(11) default NULL,

  description varchar(128) NOT NULL default ”,

  ylegend varchar(32) default NULL,

  dgm_idx int(11) NOT NULL default ‘1’,

  status tinyint(1) default NULL,

  UNIQUE KEY serial (serial),

  KEY t_community (t_community)

) TYPE=MyISAM;

c_name은 csn에서 알 수 있다.

hostname은 sysName에서 알 수 있다.

t_ver은 Giga NIC이 설치되어 있는 호스트가 아니라면 1 로만 해도 무방할 것이다.

datatype은 oid로부터 유추할 수 있다.

bound, bandwidth가 필요한가?

center,floor은 ssn으로부터 알 수 있다.

ylegend는 oid로부터 유추할 수 있다.

rrdtool system monitor 테이블 Draft

———————————–

CREATE TABLE monitor (

  serial int(10) unsigned NOT NULL auto_increment,

  csn smallint(4) unsigned zerofill NOT NULL default ‘0000’,

  ssn smallint(5) unsigned zerofill default NULL,

  t_ip varchar(21) NOT NULL default ”,

  t_community varchar(20) NOT NULL default ”,

  t_ver int(11) unsigned NOT NULL default ‘1’,

  oid1 varchar(50) NOT NULL default ”,

  oid2 varchar(50) NOT NULL default ”,

  description varchar(128) NOT NULL default ”,

  dgm_idx int(11) NOT NULL default ‘1’,

  status tinyint(1) default NULL,

  UNIQUE KEY serial (serial),

) TYPE=MyISAM;

———————————-

SNMP Version

———————————-

Windows NT는 SNMP v1, Windows 2000은 SNMP v2, Net-SNMP는 v3을 지원한다.

SNMP v1 으로만 쿼리를 하든지, SNMP v1으로 쿼리해서 OS를 알아낸 후 v1 또는 v2로 쿼리할 필요가 있다.

SNMP v3는 다른 인증 방식으로 동작하므로 (Community 이름만 알아서는 쿼리할 수 없다.) 사용하지 않는다.

SNMP v2 에서는 get_bulk를 쓸 수 있다. Gathering시 로드를 줄일 수 있을 것 같은데 get_bulk를 제대로 써먹기 위해서는 DB구조를 변경해야 할 것이다.

——————————–

중요 OID

——————————–

SYSTEM

——–

.1.3.6.1.2.1.1.1.0                = SNMPv2-MIB::sysDescr.0

    Linux jjumi.com 2.4.18-14 #1 Wed Sep 4 …

.1.3.6.1.2.1.1.5.0                = SNMPv2-MIB::sysName.0

    STRING: www.jjumi.com or IWEBNT

Network Interface

——————-

.1.3.6.1.2.1.2.1.0                = IF-MIB::ifNumber.0

    Network Interface의 갯수를 알기 위해 ifNumber를 사용할 수 있으나,

    Windows 2000의 경우 Network Interface Instance가 1,2,3,.. 이렇게

    할당되는 것이 아니라 임의의 숫자가 할당되므로 ifNumber만으로

    Instance를 알 수가 없다. 쓰바.

.1.3.6.1.2.1.2.2.1.1.*  = IF-MIB::ifIndex.*

.1.3.6.1.2.1.2.2.1.2.*  = IF-MIB::ifDescr.* (lo0, eth0)

.1.3.6.1.2.1.2.2.1.7.*  = IF-MIB::ifAdminStatus.*

    ifAdminStatus를 조사해서 실제로 쓰는 Network Interface인지 조사할

    필요가 있을까??

.1.3.6.1.2.1.2.2.1.10.* = IF-MiB::InOctets.*

.1.3.6.1.2.1.2.2.1.16.* = IF-MIB::OutOctets.*

Unix

——

아래의 OID값을 얻기 위해서는 Net-SNMP 패키지를 설치하여 CPU, Memory, Disk에

서비스를 하도록 설정되어 있어야 한다.

Unix CPU (CPU 사용량 = CpuUser + CpuSystem)

.1.3.6.1.4.1.2021.11.9.0  = UCD-SNMP-MIB::ssCpuUser.0

.1.3.6.1.4.1.2021.11.10.0 = UCD-SNMP-MIB::ssCpuSystem.0

    ssCpuUser, ssCpuSystem 값을 로그에 저장하고 그래프를 그릴 때

    2개의 값을 합쳐서 그리자.

Unix MEM (MEM 사용량 = memTotal – memAvail)

.1.3.6.1.4.1.2021.4.3.0   = UCD-SNMP-MIB::memTotalSwap.0

.1.3.6.1.4.1.2021.4.4.0   = UCD-SNMP-MIB::memAvailSwap.0

.1.3.6.1.4.1.2021.4.5.0   = UCD-SNMP-MIB::memTotalReal.0

.1.3.6.1.4.1.2021.4.6.0   = UCD-SNMP-MIB::memAvailReal.0

    memTotalReal, memAvailReal 값을 로그에 저장하고 그래프를 그릴 때

    사용량을 계산하자. Swap도 마찬가지.

Unix DISK

.1.3.6.1.4.1.2021.9.1.1.* = UCD-SNMP-MIB::dskIndex.*

.1.3.6.1.4.1.2021.9.1.2.* = UCD-SNMP-MIB::dskPath.* (/data)

.1.3.6.1.4.1.2021.9.1.6.* = UCD-SNMP-MIB::dskTotal.* (76922968)

.1.3.6.1.4.1.2021.9.1.7.* = UCD-SNMP-MIB::dskAvail.* (5448884)

.1.3.6.1.4.1.2021.9.1.8.* = UCD-SNMP-MIB::dskUsed.* (67574296)

    디스크는 Network Interface와 마찬가지로 Instance 갯수를 알 수 없으므로

    dskIndex을 조사하여 Instance갯수를 알아낸다. dskPath는 description에

    사용된다. dskTotal, dskUsed값을 로그에 저장하고 그래프를 그린다.

    dskAvail은 중복되는 값이므로 사용하지 않는다.

LOAD

.1.3.6.1.4.1.2021.10.*    = Load Average 관련

    LOAD를 넣는 것이 좋지 않나??

Windows 2000

————-

Windows 2000에서는 기본적으로 설치되는 HOST-RESOURCES-MIB을 통해

Process갯수, LOAD, 디스크 사용량을 알 수 있으나 메모리 총 사용량은 알 수 없다.

HOST-RESOURCES-MIB (hostmib.mib) 은 .1.3.6.1.2.1.25 로 시작한다.

Windwos 2000 Disk

.1.3.6.1.2.1.25.2.3.1.1.*        = hrStorageIndex.*

.1.3.6.1.2.1.25.2.3.1.2.*        = hrStorageType.*

    hrStorageType의 값이 .1.3.6.1.2.1.25.2.1.4 (fixed type) 인 것을 가려낸다.

.1.3.6.1.2.1.25.2.3.1.3.*        = hrStorageDescr.*

    hrStorageDescr 값에 약간의 문제가 있다.

    Whatsup PC 에서는…

    SNMPv2-SMI::mib-2.25.2.3.1.3.1 = STRING: “A:\\\\”

    SNMPv2-SMI::mib-2.25.2.3.1.3.2 = STRING: “C:\\\\ Label:  Serial Number 68373169”

    SNMPv2-SMI::mib-2.25.2.3.1.3.3 = STRING: “D:\\\\ Label:  Serial Number b8a5e59a”

    SNMPv2-SMI::mib-2.25.2.3.1.3.4 = STRING: “E:\\\\”

    SNMPv2-SMI::mib-2.25.2.3.1.3.5 = STRING: “Virtual Memory”

    이렇게 A,C,D,E 로 나온다.    

    그러나 다른 PC에서는…

    SNMPv2-SMI::mib-2.25.2.3.1.3.1 = STRING: “A:\\\\”

    SNMPv2-SMI::mib-2.25.2.3.1.3.2 = Hex-STRING: 43 3A 5C 20 4C 61 62 65 6C 3A B7 CE C4 C3 20 B5 F0 BD BA C5 A9 20 20 53 65 72 69 61 6C 20 4E 75 6D 62 65 72 20 36 34 37 31 32 36 36 63

    SNMPv2-SMI::mib-2.25.2.3.1.3.3 = Hex-STRING: 44 3A 5C 20 4C 61 62 65 6C 3A B7 CE C4 C3 20 B5 F0 BD BA C5 A9 20 20 53 65 72 69 61 6C 20 4E 75 6D 62 65 72 20 34 30 35 33 31 64 30 61

    SNMPv2-SMI::mib-2.25.2.3.1.3.4 = STRING: “E:\\\\ Label:  Serial Number 949b08bb”

    SNMPv2-SMI::mib-2.25.2.3.1.3.5 = STRING: “F:\\\\”

    SNMPv2-SMI::mib-2.25.2.3.1.3.6 = STRING: “G:\\\\”

    SNMPv2-SMI::mib-2.25.2.3.1.3.7 = STRING: “Virtual Memory”

    이렇게 나온다. 쓰바. C: D: 로 안나오고 왜 일케 나오는거야

.1.3.6.1.2.1.25.2.3.1.4.*        = hrStorageAllocationUnits

    Disk 크기에 따라 2048, 4096, 16384, 65536 등으로 Block 크기가 틀리다. 쓰바.

    Gathering시 hrStorageAllocationUnits까지 받아와서 곱하든지 DB에 넣어넣고

    그래프 그릴 때 고려해야 한다.

.1.3.6.1.2.1.25.2.3.1.5.*        = hrStorageSize (총용량, hrStorageAllocationUnits와 곱하기 필요)

.1.3.6.1.2.1.25.2.3.1.6.*        = hrStorageUsed (사용량, hrStorageAllocationUnits와 곱하기 필요)

Windows 2000 CPU

.1.3.6.1.2.1.25.3.3.1.2                = hrProcessorLoad

.1.3.6.1.2.1.25.3.3.1.2.1        = hrProcessorLoad (Whatsup PC)

.1.3.6.1.2.1.25.3.3.1.2.4        = hrProcessorLoad (다른 Windows 2000 PC)

    hrProcessorLoad에도 문제가 있다. 시스템마다 Instance가 다르다. 쓰바.

.1.3.6.1.2.1.25.1.6                = hrSystemProcesses (# of running process)

.1.3.6.1.2.1.25.1.6.0                = hrSystemProcesses.0

Windows 2000 Memory

.1.3.6.1.2.1.25.2.2                = hrMemorySize (총 메모리양)

.1.3.6.1.2.1.25.2.2.0                = 261616 (KB)

    HOST MIB에는 Memory 관련된 사항은 이것밖에 없다.

    메모리 사용량을 알기 위해서는 다른 확장 Agent가 필요하다.

    snmpboy.msft.net에서 제공하는 perfmib에는 버그가 있다.

    NT의 경우 Resource Kit에서 제공하는 MIB을 쓰면 될 거 같은데 W2k는??

SNMP4W2K-WINDOWS-2000-PERFORMANCE (perfmib.mib) 에서 알 수 있는 값

.1.3.6.1.4.1.311.1.1.3.1.1.1.2        = memoryAvailableBytes (총 메모리 남은양)

.1.3.6.1.4.1.311.1.1.3.1.1.1.29        = memoryAvailableKBytes

.1.3.6.1.4.1.311.1.1.3.1.1.1.30        = memoryAvailableMBytes

SNMP4W2K-WINDOWS-2000-PERFORMANCE 에서 써 먹을건 메모리 남은양밖에 없는듯…

메모리 냠은양 하나때문에 SNMP4w2k를 설치해야 되는건가…:(

Windows NT

———–

NT Resource Kit 에서 제공되는 확장 MIB으로 다 해결할 수 있기를…

———————————-

Useful Windows NT OIDs from http://www.wtcs.org/snmp4tpc/testing.htm

———————————-

Windows 2000 에서는 하나도 안 맞는다. 🙁

snmputil은 Windows NT 3.51, Windows NT 4.0 Resource Kit 에 포함되어 있다.

http://www.wtcs.org/snmp4tpc/testing.htm 에서도 구할 수 있다.

GETting a few Windows NT OIDs:

Gets Current Anon. HTTP Users: – Won’t work unless you had SNMP installed before you added IIS.

snmputil get 127.0.0.1 public  .1.3.6.1.4.1.311.1.7.3.1.6.0

Gets Total Anon. HTTP Users: – Won’t work unless you had SNMP installed before you added IIS.

snmputil get 127.0.0.1 public  .1.3.6.1.4.1.311.1.7.3.1.8.0

Gets Maximum Anon. HTTP Users: – Won’t work unless you had SNMP installed before you added IIS.

snmputil get 127.0.0.1 public  .1.3.6.1.4.1.311.1.7.3.1.10.0

Gets NT CPU % Usage:

snmputil get 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.0

Gets C: Space remaining (MB):

snmputil get 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.5.1.4.0

Gets RAM free (Bytes): (see snmputil image above)

snmputil get 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.1.1.0

Walking the Windows NT OID trees:

Lists all memory and processor OIDs:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.1

Lists all processor OIDs:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.2

Lists all network interface OIDs:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.3

Lists all physicaldisk OIDs:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.4

Lists all logicaldisk OID:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.5

Lists all process OIDs:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.7

Lists all paging file OIDs:

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.1.3.1.1.9

Lists all the HTTP Server OIDs: – Won’t work unless you had SNMP installed before you added IIS.

snmputil walk 127.0.0.1 public  .1.3.6.1.4.1.311.1.7.3.1

You can then “drill down” to the OID you need to access! Try it!

———————————-

Windows 확장 Agent

———————————-

Windows 2000은 http://snmpboy.msft.net/,

Windows NT는 http://www.wtcs.org/snmp4tpc/ 에서 제공하는 확장 Agent를 쓰고 있음.

———————————-

snmpwalk 옵션

———————————-

  -O OUTOPTS            Toggle various defaults controlling output display:

                          b:  do not break OID indexes down

                          e:  print enums numerically

                          E:  escape quotes in string indices

                        * f:  print full OIDs on output

                        * n:  print OIDs numerically

                        * q:  quick print for easier parsing

                          Q:  quick print with equal-signs

                          s:  print only last symbolic element of OID

                          S:  print MIB module-id plus last element

                          t:  print timeticks unparsed as numeric integers

                          T:  print human-readable text along with hex strings

                          u:  print OIDs using UCD-style prefix suppression

                        * v:  print values only (not OID = value)

                          X:  extended index format

bash-2.05b$ snmpwalk -c xxxxxx -v 1 -O fnq localhost .1.3.6.1.4.1.2021.9.1.1

.1.3.6.1.4.1.2021.9.1.1.1 1

.1.3.6.1.4.1.2021.9.1.1.2 2

bash-2.05b$ snmpwalk -c xxxxxx -v 1 -O vq localhost .1.3.6.1.4.1.2021.9.1.1

1

2

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.