메뉴 닫기

MRTG 설치 및 설정

MRTG(Mutli Router Traffic Grapher)

리눅스 트래픽 모니터링 툴로써 MRTG 라는 프로그램이 존재한다.

웹페이지를 구성하여 장치 정보를 그래프 형태로 실시간 모니터링이 가능하며 트래픽, 용량 등 설정에 따라 다양한 정보를 확인할 수 있다.

SNMP(Simple Network Management Protocol)

간이 망 관리 프로토콜(SNMP)은 서버 내 정보를 수집, 관리할 수 있고 

장치 동작을 변경할 수 있는 프로토콜.

snmp를 사용하여 각 서버에서 정기적으로 관리 정보를 자동으로 수집하거나 실시간으로 모니터링 및 설정할 수 있으나 관련 프로그램을 연동해야 실시간 상태를 수집할 수 있으며 프로그램을 사용할 수 있는 하나의 연결 고리라고 생각하면 된다.

관련 프로그램같은 경우 이번 MRTG를 예를 들 수 있다.

MRTG 전 설치 환경 및 구성

설치 환경

centos7

apm설치 및 필수 라이브러리 설치

-APM(Apache, Php, Mysql)
#rpm -qa | egrep “(httpd|php|mysql)” //설치 되어있는지 확인
#yum install httpd php php-mysql //아파치, php 설치
#yum install mysql-community-server mysql mysql-libs mysql-devel mysql-server //mysql 설치
필수 라이브러리 설치(freetype-devel gd-devel libjpeg-devel libpng-devel)
# rpm -qa libjpeg* libpng* freetype* gd-* //설치 되어있는지 확인
# yum install libjpeg* libpng* freetype* gd-* //라이브 러리 YUM설치

2.MRTG 설치

2-1.snmp 설치 및 설정

#yum -y install net-snmp* snmp*
vi /etc/snmp/snmpd.conf // 및줄 처리된 명령어 추가
[root@techsmile-141452 ~]# vi /etc/snmp/snmpd.conf
# sec.name source community
#com2sec notConfigUser default public // 주석 처리
com2sec snmp정보를 받아갈 수 있는 네트워크와 해당 통신에 사용되는 커뮤니티 이름을 지정
com2sec local localhost public
//com2sec snmp정보를 받아갈 수 있는 네트워크와 해당 통신에 사용되는 커뮤니티 이름을 지정
com2sec network localhost public
# groupName securityModel securityName
#group notConfigGroup v1 notConfigUser // 주석 처리
#group notConfigGroup v2c notConfigUser // 주석 처리
그룹설정 그룹 그룹이름 / snmp보안모듈 접속허용할IP 또는 com2sec이름
group rwgroup v1 local
group rwgroup v2c local
group rwgroup v1 network
group rwgroup v2c network
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
#view systemview included .1.3.6.1.2.1.1
#view systemview included .1.3.6.1.2.1.25.1.1
OID 값을 볼수 있는 권한 부여 .1 밑의 모든 하위정보를 볼수 있도록 설정
view all included .1 80
####
# Finally, grant the group read-only access to the systemview view. # group context sec.model sec.level prefix read write notif
#access notConfigGroup “” any noauth exact systemview none none
그룹 별로 MIB 정보를 읽고쓰는 권한을 부여
access rwgroup “” any noauth exact all all all
access rwgroup “” any noauth exact systemview none none

수정 후 저장 snmp 재시작

#/etc/init.d/snmpd restart

-OID값 확인

OID(Object IDentifier)란 장치에 대한 고유 번호, 숫자로 표현된 값

#snmpwalk -v2c -c public localhost -On ifDescr

→ .1.3.6.1.2.1.2.2.1.2.1 = STRING: lo

.1.3.6.1.2.1.2.2.1.2.2 = STRING: eth0 //이값을 mrtg.cfg파일에 넣어줘야함.

5

MRTG 설치 및 설정

MRTG 설치 후 cfgmaker명령어로 mrtg.cfg파일을 생성

#yum -y install mrtg*

#cfgmaker –global ‘WorkDir: /var/www/mrtg/’ –global ‘Language: korean’ –global ‘Options[_]: bits,growright’ -output /var/www/mrtg/mrtg.cfg public@IP (또는IP 대신 localhost)

mrtg.cfg 설정파일 수정

#vi /var/www/mrtg/mrtg.cfg

EnableIPv6: no
WorkDir: /var/www/mrtg/
Language:korean //언어 지정
Options[_]: bits,growright
##### TRAFFIC #####
Target[traffic]:.1.3.6.1.2.1.2.2.1.2.2:public@localhost
( // snmpwalk로 확인한 OID값 작성 //OID:public@localhost )
MaxBytes[traffic]: 125000000 //항목에대한 최대 수치
ThreshMaxI[traffic]: 125000000 //인바운드 트래픽 수집 기준 값 설정
ThreshMaxO[traffic]: 125000000 //아웃바운드 트래픽 수집 기준 값 설정
Title[traffic]: >>Traffic<< // 페이지 타이틀 표시
SetEnv[traffic]: MRTG_INT_IP=”localhost” MRTG_INT_DESCR=”eth0″

PageTop[traffic]: <h1> Traffic </h1> //페이지 상단에 제목 설정 (h1~6 지정하여 사용 시 폰트 크기 조절 가능)

 내용 저장

Indexmaker 명령어로 index파일 생성.

#indexmaker –title “MRTG” –output /var/www/mrtg/index.html /var/www/mrtg/mrtg.cfg

mrtg 적용 및 MRTG SNMP 재시작

# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg mrtg /etc/mrtg/mrtg.cfg
#systemctl restart snmpd
#systemctl restart mrtg

아파치 설정

#vi /etc/httpd/conf/httpd.conf //아래 내용 추가
<VirtualHost *:80>
DocumentRoot “/var/www/mrtg”
ServerName localhost
ErrorLog “logs/mrtg.com-acc”
CustomLog “logs/mrtg.com-err” common
</VirtualHost>
#systemctl restart httpd //설정 파일 적용

crontab 설정

#crontab -e
*/1 * * * * env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg

Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
123bb
123bb
9 months ago

# 주석인지 아닌지 햇갈림

123bb
123bb
9 months ago

샵이 기본적으로 들어가 있어서 보기가 빡세네요

2
0
Would love your thoughts, please comment.x
()
x