japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
MRTG를 이용한 다양한 자원
조회 : 3,041  


1. 다양한 자원분석 사용량분석 개론

MRTG로 분석가능한 자원은 많이 있다.

그중 가장 대표적인 것이 네트웍트래픽분석이다.

앞장에서 설명드린 내용은 이런 트래픽을 웹화면에서 모니터링하는 방법에 대한 것을 다루었다.

이번장에서는 네트웍장비의다양한 자원의 사용량을 분석하는 방법을 CPU사용량을 웹에서 모니터링하는 방법에 대해서 설명할 것이다.

 

먼저, mrtg로 트래픽뿐아니라 cpu, memory, disk등의 다양한 자원에 대한 분석을 하려면 ucd-snmp를 업그레이드해야한다.

사용중인 ucd-snmp의 버전이 4.1대라면 4.2대로 업그레이드하기 바란다.

 

CPU사용량 모니터링을 하는 방법또한 앞장과 많이 유사하다.

단지, cfg파일(Configuration file)이 조금 다를 뿐이다.

따라서 이장과 다음장에 나오는 MEMORY사용량분석에서는 앞장에서 설명한 트래픽분석부분과의 중복되는 부분은 생략하고 주로 cfg파일을 위주로 설명이 될 것이다.

 

우선, ucd-snmp에 대해서 좀 알아보자.

현재 필자가 MRTG서버로 구축하는 서버는 레드햇리눅스이다.

아마도 최신버전의 리눅스라면 ucd-snmp 4.2.X가 깔려 있을 것이다.

여러분의 서버에 설치되어 있는 ucd-snmp가 4.1.X라면 4.2.X로 업그레이드하기를 권한다.

우선 현재 사용중인 snmp의 버전을 확인해 보자.

확인하는 방법은 "snmpd -v"를 하면 다음과 같이 현재 사용중인 snmp의 버전을 확인할 수 있다.

확인한 바와 같이 현재 snmp의 버전은 ucd-snmp 4.1.2이다.

ucd-snmp의 최신버전은 4.2.1로서 다운을 받으려면 net-snmp.sourceforge.net에 방문해 보기 바란다.

잠깐만 언급한다면 ucd-snmp는 현재 그 이름이 net-snmp로 불리우고 있다.

최신번전은 2001년 4월달에 발표된 것으로 현재 트래픽분석뿐아니라 다양한 자원분석을 위해 많이 사용되고 있는 프로토콜이다.

4.2.X로 버전업 하는 구체적인 방법에 대해서는 "UCD-SNMP 버전업하기"편에 자세히 설명이 되어있다. 을 참조하기 바란다.

이를 참조하여 버전을 하였다면 다음과 같이 snmp의 버전을 다시한번 확인해 보도록 할 것이다.

 

 

2. 관련 MIB 확인하기

 

우선 트래픽외의 다양한 자원을 분석하기위해서는 대상 MIB정보를 확인해야한다.

ucd-snmp 4.2.1버전의 SNMP를 정상적으로 설치하였다면 이런 MIB값에 대한 정보를 제공하는 파일들이 /usr/local/share/snmp/mibs/디렉토리에 txt파일로 존재한다.

분석코자하는 대상자원의 MIB정보를 가진 txt 파일을 이 디렉토리에서 확인하여 cfg파일내에 LoadMIBs라는 옵션으로 참조하게만 하면된다.

이 디렉토리에 존재하는 파일들중에 CPU라는 자원을 MRTG로 분석하기 위해서는 UCD-SNMP-MIB.txt라는 파일이 필요하다.

따라서 다음절에 나올 cfg파일분석편에 보시면 LoadMIBs로 이 파일을 읽어들이는 것을 확인할 수 있을 것이다.

 

, cpu라는 자원에 대한 MIB정보는 어떤 것들이 있을까?

UCD-SNMP-MIB.txt파일내에 cpu와 관련된 MIB정보를 확인해 보자.

 

다음표는 UCD-SNMP-MIB.txt파일내용중 CPU와 관련된 MIB값들이다.

. CPU관련 MIB값

객체

구문

접근권한

Status

설명

비고

ssCpuUser

Integer32

read-only

Current

사용자 CPU time 퍼센트

::= { systemStats 9 }

ssCpuSystem

Integer32

read-only

Current

시스템 CPU time 퍼센트

::= { systemStats 10 }

ssCpuIdle

Integer32

read-only

Current

CPU idle time 퍼센트

::= { systemStats 11 }

ssCpuRawUser

Counter32

read-only

Current

사용자 CPU 시간

::= { systemStats 50 }

ssCpuRawNice

Counter32

read-only

Current

nice CPU 시간

::= { systemStats 51 }

ssCpuRawSystem

Counter32

read-only

Current

시스템 CPU 시간

::= { systemStats 52 }

ssCpuRawIdle

Counter32

read-only

Current

idle CPU 시간

::= { systemStats 53 }

ssCpuRawWait

Counter32

read-only

Current

iowait CPU 시간

::= { systemStats 54 }

ssCpuRawKernel

Counter32

read-only

Current

커널 CPU 시간

::= { systemStats 55 }

ssCpuRawInterrupt

Counter32

read-only

Current

interruptlevel CPU 시간

::= { systemStats 56 }

위의 표를 보면 대충 어떤 MIB값을 사용해야하는 가를 알 수 있을 것이다.

위의 표 "설명"부분을 참조하여 CPU의 어떤사용률에 대한 분석을 하거픈가를 확인하면 된다.

참고로 이책에서 실습대상으로 하는 MIB값은 위의 표중에서 "ssCpuRawUser"와 ssCpuRawIdle"이다.

, 사용자 프로세스가 사용한 CPU사용시간과 CPU가 한가하게 놀았던 시간(idle time)에 대한 분석이될 것이다.

 

다음표는 UCD-SNMP-MIB.txt파일내용중 MEMORY와 관련된 MIB값들이다.

. MEMORY관련 MIB값

객체

구문

접근권한

Status

설명

비고

memIndex

Integer32

read-only

current

Bogus Index, 항상 0 리턴

::= { memory 1 }

memErrorName

DisplayString

read-only

current

Bogus Name, 항상 'swap'문자리턴

::= { memory 2 }

memTotalSwap

Integer32

read-only

current

전체 swap공간

::= { memory 3 }

memAvailSwap

Integer32

read-only

current

사용가능한 swap 공간

::= { memory 4 }

memTotalReal

Integer32

read-only

current

전체 물리적인(RAM) 공간

::= { memory 5 }

memAvailReal

Integer32

read-only

current

사용가능한 물리적인 공간

::= { memory 6 }

memTotalSwapTXT

Integer32

read-only

current

사용된 가상메모리공간

::= { memory 7 }

memAvailSwapTXT

Integer32

read-only

current

사용중인 가상메모리공간

::= { memory 8 }

memTotalRealTXT

Integer32

read-only

current

사용된 전체 물리적인 메모리공간

::= { memory 9 }

memAvailRealTXT

Integer32

read-only

current

사용중인 실제메모리공간

::= { memory 10 }

memTotalFree

Integer32

read-only

current

전체사용가능한 메모리

::= { memory 11 }

memMinimumSwap

Integer32

read-only

current

비워질 수 있는 swap공간의 최소크기를 리턴하거나 memErrorSwap이 1로 셋팅되어 있을 경우 memSwapErrorMsg에 에러문자리턴

::= { memory 12 }

memShared

Integer32

read-only

current

전체공유메모리 크기

::= { memory 13 }

memBuffer

Integer32

read-only

current

버퍼링된 메모리크기

::= { memory 14 }

memCached

Integer32

read-only

current

캐싱된 메모리크기

::= { memory 15 }

memSwapError

Integer32

read-only

current

Error Flag 리턴. Flag가 1일 경우 여유swap공간이 거의 없음을 의미함.


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=533


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.