OpenNMS 구성 · 4 min read · Dec 17, 2025

OpenNMS 단계별 구성

OpenNMS

소개

OpenNMS는 오픈 소스 기업 네트워크 관리 도구입니다. 네트워크 관리자가 원격 머신에서 중요한 서비스를 모니터링하고 SNMP를 사용하여 원격 노드의 정보를 수집하는 데 도움을 줍니다. OpenNMS는 매우 활발한 커뮤니티를 가지고 있으며, 여기에서 문제를 논의하기 위해 등록할 수 있습니다. 일반적으로 OpenNMS 설치 및 구성에는 시간이 걸리지만, 설치 및 구성 부분을 몇 단계로 다루어 보았습니다.

OpenNMS는 다음과 같은 기능을 제공합니다.

  • ICMP 자동 검색
  • SNMP 기능 확인
  • 인터페이스 가용성을 위한 ICMP 폴링
  • 서비스 가용성을 위한 HTTP, SMTP, DNS 및 FTP 폴링
  • 완전 분산 클라이언트 서버 아키텍처
  • 네트워크의 순간적인 상태를 허용하는 JAVA 실시간 콘솔
  • XML을 사용한 XSL 스타일 웹 접근 및 보고
  • 정책 및 규칙을 사용한 네트워크의 비즈니스 뷰 파티셔닝
  • 그래픽 드래그/드롭 관계를 구축할 수 있는 그래픽 규칙 빌더
  • JAVA 구성 패널
  • 중복 및 겹치는 폴러 및 마스터 스테이션
  • 예정된 다운타임을 위한 반복 및 일회성 캘린더링

OpenNMS의 소스 코드는 sourceforge.net에서 다운로드할 수 있습니다. 프로덕션 릴리스(안정적)와 개발 릴리스(불안정)가 있으며, 이 설명서에서는 1.2.7 안정 릴리스를 사용했습니다. Redhat/Fedora, Suse, Slackware, Debian에서 이 구성을 테스트했으며 원활하게 작동합니다. 독자들이 이미 리눅스 배경을 가지고 있다고 가정합니다. 다른 배포판에서도 다음 구성을 사용할 수 있습니다. OpenNMS 설치를 시작하기 전에 다음 패키지를 설치해야 합니다:

  • jdk1.5*
  • tomcat 4.*
  • postgres 8.*
  • rrdtool1.2*

jdk1.5*

www.sun.com에서 jdk1.5*를 다운로드하고 다음 명령으로 압축을 풉니다.

./jdk1.5*.bin

압축을 푼 후 jdk1.5*라는 이름의 디렉토리가 생성됩니다. 이를 java 디렉토리로 이름을 바꾸고 /usr/lib로 이동합니다.

예시
mv jdk.* java
mv java /usr/lib/

자바 홈을 위한 환경 변수를 설정합니다. /etc/profile에 다음 항목을 삽입합니다.

JAVA_HOME="/usr/lib/java"  
export JAVA_HOME

파일을 저장한 후 종료하고 /etc/profile을 읽기 위해 명령을 실행합니다.

source /etc/profile

Tomcat 4.*

tomcat.apache.org에서 tomcat 4.*를 다운로드하고 zip/tar.gz 아카이브에서 추출합니다.

tomcat.*을 tomcat으로 이름을 바꾸고 /opt 폴더로 이동합니다.

mv tomcat.* /opt/tomcat

tomcat 홈을 위한 환경 변수를 설정합니다. /etc/profile에 다음 항목을 삽입합니다.

CATALINA_HOME="/opt/tomcat"  
export CATALINA_HOME 

파일을 저장한 후 종료하고 /etc/profile을 읽기 위해 명령을 실행합니다.

source /etc/profile

Postgres 8.*

www.postgresql.org에서 PostgreSQL의 안정 버전을 다운로드하고 bz2/tar.gz 아카이브에서 추출합니다.

postgresql* 디렉토리로 들어가서 다음 스크립트를 실행합니다.

./configure --prefix=/opt/pgsql

우리의 설치에서 /opt/pgsql은 PostgreSQL 설치를 위한 대상 디렉토리입니다.

이제 다음 명령으로 PostgreSQL 설치를 시작합니다.

make install

이 과정 후에 PostgreSQL을 관리할 사용자를 추가하고 이 사용자에 대한 홈 디렉토리 /opt/pqsql/을 정의합니다.

adduser postgres

/opt/pqsql에 “data”라는 디렉토리를 생성해야 하며, 여기에서 데이터를 저장하고 다음 권한을 부여합니다.

mkdir /opt/pgsql/data   
chown postgres /opt/pgsql/data 

사용자를 postgres로 전환합니다.

su - postgres

이제 PostgreSQL 데이터베이스를 초기화해야 합니다.

$bin/initdb -D data/

Postgres 홈을 위한 환경 변수를 설정합니다. /etc/profile에 다음 항목을 삽입합니다.

POSTGRES_HOME="/opt/pgsql"  
export POSTGRES_HOME

파일을 저장한 후 종료하고 /etc/profile을 읽기 위해 명령을 실행합니다.

source /etc/profile

Rrdtool-1.2*

http://rrdtool.paracoda.com/download.en.html에서 rrdtool을 다운로드할 수 있습니다. tarball에서 파일의 압축을 풉니다. 그리고 다음 명령을 실행합니다.

tar xzvf rrdtool1.2*.tar.gz   
cd rrdtool*  
./configure --prefix=/usr/local/rrdtool ; make ; make install

configure 스크립트를 실행할 때 cgilib 설치를 요청할 수 있습니다. 시스템에 cgilib가 없는 경우 sourceforge.net에서 cgilib를 다운로드하여 설치합니다.

그런 다음 위의 명령을 다시 실행하여 rrdtool을 설치합니다.

rrdtool 홈을 위한 환경 변수를 설정합니다. /etc/profile에 다음 항목을 삽입합니다.

RRDTOOL_HOME="/usr/local/rrdtool"  
export RRDTOOL_HOME

파일을 저장한 후 종료하고 /etc/profile을 읽기 위해 명령을 실행합니다.

source /etc/profile

OpenNMS-1.2.*

이제 OpenNMS를 설치하겠습니다.

www.opennms.org에서 OpenNMS 1.2.* 소스 코드를 다운로드합니다(구성 중 1.2.7 버전을 사용했습니다). 압축을 풉니다.

tar xzvf opennms-source-1.2.*.tar.gz

opennms-1.2.*을 opennms 디렉토리로 이름을 바꿉니다.

mv opennms-1.2.* opennms

OpenNMS 디렉토리로 들어가서 build.properties라는 파일을 생성합니다.

build.properties 파일에 다음 줄을 추가합니다.

install.dir=/opt/opennms  
build.postgresql.include.dir=/opt/pgsql/include/server 

파일을 저장하고 종료합니다.

이제 다음 명령을 실행하여 opennms를 설치할 수 있습니다.

sh build.sh install

설치 과정에서 오류가 발생하고 rrdtool의 경로를 정의하라는 메시지가 표시되면, build.properties 파일에 다음 항목을 추가해야 합니다.

build.rrdtool.include.dir="여기에 rrdtool의 include 디렉토리 경로를 추가하세요(따옴표 없이)"  
build.rrdtool.lib.dir="여기에 rrdtool의 lib 디렉토리 경로를 추가하세요(따옴표 없이)"  
build.rrdtool.bin="여기에 rrdtool의 바이너리 경로를 추가하세요(따옴표 없이)"

파일을 저장하고 종료합니다.

다시 다음 명령을 실행합니다.

sh build.sh install

설치 과정이 완료되는 데 시간이 걸립니다.

OpenNMS 홈을 위한 환경 변수를 설정합니다. /etc/profile에 다음 항목을 삽입합니다.

OPENNMS_HOME="/opt/opennms"  
export OPENNMS_HOME

파일을 저장한 후 종료하고 /etc/profile을 읽기 위해 명령을 실행합니다.

source /etc/profile

perl 모듈 확인

/opt/opennms/bin 디렉토리로 들어가서 모든 .pl 스크립트를 perl 명령으로 실행하여 누락된 모듈을 확인합니다. 이러한 .pl 스크립트 중 하나라도 누락된 모듈에 대한 오류를 반환하면 cpan으로 해당 모듈을 설치합니다.

OpenNMS 구성

OpenNMS를 구성하기 위해 다음 명령을 실행합니다.

$OPENNMS_HOME/bin/runjava -s  #이 명령은 jre를 검색합니다.  
$OPENNMS_HOME/bin/runjava -S "따옴표 없이 JRE의 경로를 정의하세요" #JRE의 경로를 정의합니다.

이제 다음 명령을 실행하여 OpenNMS 데이터베이스를 생성하고 postgres 서비스가 실행 중인지 확인합니다.

$OPENNMS_HOME/bin/install -disU  #이 명령은 opennms를 위한 postgresql 데이터베이스를 설정합니다.
$OPENNMS_HOME/bin/install -y -w $CATALINA_HOME/webapps -W \ $CATALINA_HOME/server/lib #이 명령은 웹 애플리케이션을 설정합니다.

자동 검색 구성

다음 디렉토리로 들어가서 discovery-configuration.xml을 vi로 열고 시작 및 종료 태그에 IP 범위를 추가합니다.

cd $OPENNMS_HOME/etc/   
 vi discovery-configuration.xml

파일을 저장하고 종료합니다.

최종 단계

서비스를 시작하기 위해 다음 명령을 실행합니다.

sudo -u postgres /opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l /opt/pgsql/logfile\ start  
$CATALINA_HOME/bin/startup.sh  
$OPENNMS_HOME/bin/opennms start

이제 브라우저에서 OpenNMS의 메인 페이지에 로그인할 수 있습니다.

http://machine-ip:8080/opennms

사용자 이름 “admin”과 비밀번호 “admin”을 사용하여 메인 페이지에 로그인합니다.

작성자: Saad Khan

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.