네트워크 모니터링 · 6 min read · Dec 07, 2025
Debian 11에 OpenNMS Horizon 네트워크 모니터링 시스템 설치하는 방법

OpenNMS는 중앙 위치에서 원격 장치를 모니터링하는 데 사용되는 무료 오픈 소스이며 가장 강력한 네트워크 모니터링 및 네트워크 관리 플랫폼 중 하나입니다. 프로비저닝, 서비스 모니터링, 이벤트 관리, 차트 지원 등 많은 기능을 지원합니다. OpenNMS는 SNMP 및 JMX를 사용하여 원격 시스템에서 정보를 수집합니다. Linux 및 Windows 운영 체제에서 실행되며 쉽게 모니터링할 수 있는 웹 기반 인터페이스를 제공합니다.
이 튜토리얼에서는 Debian 11에 OpenNMS를 설치하는 방법을 보여드리겠습니다.
전제 조건
- Debian 11이 실행되는 서버.
- 서버 IP를 가리키는 유효한 도메인 이름.
- 서버에 구성된 루트 비밀번호.
Debian 11에 Java 설치하기
OpenNMS는 Java 기반 애플리케이션입니다. 따라서 Java가 서버에 설치되어 있어야 합니다. 설치되지 않은 경우 다음 명령어를 실행하여 설치할 수 있습니다:
apt-get install default-jdk -yJava가 설치되면 아래 명령어를 사용하여 Java 버전을 확인합니다:
java --version다음 출력에서 Java 버전을 확인할 수 있습니다:
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)Debian 11에 OpenNMS 설치하기
기본적으로 OpenNMS는 Debian 11의 기본 저장소에 포함되어 있지 않습니다. 따라서 OpenNMS 공식 저장소를 APT에 추가해야 합니다.
먼저, 다음 명령어를 사용하여 필요한 모든 종속성을 설치합니다:
apt-get install curl gnupg2 wget -y모든 패키지가 설치되면 아래 명령어를 사용하여 OpenNMS 저장소 파일을 생성합니다:
nano /etc/apt/sources.list.d/opennms.list다음 줄을 추가합니다:
deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main파일을 저장하고 닫은 후, 다음 명령어로 GPG 키를 가져옵니다:
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -다음과 같은 출력을 받게 됩니다:
Connecting to debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1335 (1.3K)
Saving to: ‘STDOUT’
- 100%[=================================================================>] 1.30K --.-KB/s in 0s
2021-11-28 07:58:07 (16.0 MB/s) - written to stdout [1335/1335]
OK다음으로, 저장소 캐시를 업데이트하고 다음 명령어로 OpenNMS를 설치합니다:
apt-get update -y
apt-get install opennms -y설치 중 다음과 같은 오류가 발생할 수 있습니다:
Failed to install iplike into the template1 or opennms databases. See /tmp/install_iplike.log for details. To skip this step and install manually, set the
environment variable SKIP_IPLIKE_INSTALL before installing this package. To install iplike into your database, use the /usr/sbin/install_iplike.sh script. See
`install_iplike.sh -h` for more details.이 오류를 해결하려면 PostgreSQL에서 OpenNMS용 데이터베이스와 사용자를 생성해야 합니다.
PostgreSQL에서 데이터베이스 생성하기
PostgreSQL 서버는 OpenNMS 설치 과정에서 자동으로 설치됩니다.
먼저, 다음 명령어를 사용하여 PostgreSQL 서비스를 시작합니다:
systemctl start postgresql다음으로, 다음 명령어를 사용하여 PostgreSQL 인스턴스에 연결합니다:
su - postgres연결되면 다음 명령어를 사용하여 OpenNMS용 사용자를 생성하고 비밀번호를 설정합니다:
createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"다음으로, OpenNMS용 데이터베이스를 생성하고 postgres 사용자에 대한 비밀번호를 설정합니다:
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"다음으로, 다음 명령어를 사용하여 PostgreSQL 셸에서 나갑니다:
exit작업이 완료되면 다음 단계로 진행할 수 있습니다.
OpenNMS 구성하기
다음으로, OpenNMS 데이터 소스 파일을 편집하고 데이터베이스 자격 증명을 정의해야 합니다:
nano /usr/share/opennms/etc/opennms-datasources.xml다음과 같이 데이터베이스 자격 증명을 정의합니다:
작업이 완료되면 파일을 저장하고 닫은 후, 다음 명령어를 실행하여 Java 환경을 감지합니다:
sudo -u opennms /usr/share/opennms/bin/runjava -s다음과 같은 출력을 받게 됩니다:
runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.다음으로, OpenNMS 설정을 완료하기 위해 다음 명령어를 실행합니다:
sudo -u opennms /usr/share/opennms/bin/install -dis다음과 같은 출력을 받게 됩니다:
Finished in 0 seconds
Processing RemotePollerServiceConfigMigratorOffline: Remove deprecated RemotePoller service entry from service-configuration.xml, see NMS-12684
- Running pre-execution phase
Creating backup of /usr/share/opennms/etc/service-configuration.xml
Zipping /usr/share/opennms/etc/service-configuration.xml
- Running execution phase
Current configuration: 32 services.
A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase
Removing backup /usr/share/opennms/etc/service-configuration.xml.zip
Finished in 0 seconds
Upgrade completed successfully!OpenNMS 서비스 시작하기
OpenNMS 설정 후, OpenNMS 서비스를 시작하고 시스템 재부팅 시 자동으로 시작되도록 설정합니다:
systemctl start opennms
systemctl enable opennms다음 명령어를 사용하여 OpenNMS 상태를 확인할 수 있습니다:
systemctl status opennms다음과 같은 출력을 받게 됩니다:
? opennms.service - OpenNMS server
Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2021-11-28 08:10:51 UTC; 16s ago
Process: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
Main PID: 24106 (java)
Tasks: 68 (limit: 4679)
Memory: 559.2M
CPU: 48.083s
CGroup: /system.slice/opennms.service
??24105 bash /usr/share/opennms/bin/opennms -s start
??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:07 debian11 opennms[24106]: Nov 28, 2021 8:11:07 AM org.hibernate.validator.internal.util.Version
Nov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final이 시점에서 OpenNMS가 시작되었으며 포트 8980에서 수신 대기 중입니다. 다음 명령어로 확인할 수 있습니다:
ss -antpl | grep 8980다음과 같은 출력을 받게 됩니다:
LISTEN 0 50 *:8980 *:* users:(("java",pid=24106,fd=1046)) OpenNMS를 위한 Nginx를 리버스 프록시로 구성하기
다음으로, OpenNMS를 위한 리버스 프록시로 Nginx를 설치하고 구성하는 것이 좋습니다. 먼저, 다음 명령어로 Nginx 서버를 설치합니다:
apt-get install nginx -yNginx가 설치되면 Nginx 가상 호스트 구성 파일을 생성합니다:
nano /etc/nginx/conf.d/opennms.conf다음 구성을 추가합니다:
server {
listen 80;
server_name opennms.example.com;
access_log /var/log/nginx/opennms.access.log;
error_log /var/log/nginx/opennms.error.log;
location /
{
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-OpenNMS-Server-URL https://nms.hacc.edu/;
proxy_pass http://server-ip:8980;
}
}파일을 저장하고 닫은 후, 다음 명령어로 Nginx의 구문 구성 오류를 확인합니다:
ginx -t다음과 같은 출력을 받게 됩니다:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
ginx: configuration file /etc/nginx/nginx.conf test is successful다음으로, 변경 사항을 적용하기 위해 Nginx 서비스를 재시작합니다:
systemctl restart nginxNginx 실행 상태를 확인하려면 다음 명령어를 실행합니다:
systemctl status nginx다음과 같은 출력을 확인할 수 있습니다:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-11-28 08:17:14 UTC; 6s ago
Docs: man:nginx(8)
Process: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 25967 (nginx)
Tasks: 3 (limit: 4679)
Memory: 3.2M
CPU: 53ms
CGroup: /system.slice/nginx.service
??25967 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??25968 nginx: worker process
??25969 nginx: worker process
Nov 28 08:17:14 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 28 08:17:14 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.OpenNMS 대시보드에 접근하기
이제 웹 브라우저를 열고 URL http://opennms.example.com을 사용하여 OpenNMS 웹 인터페이스에 접근합니다. OpenNMS 로그인 페이지가 표시됩니다:

기본 사용자 이름과 비밀번호를 admin으로 입력하고 로그인 버튼을 클릭합니다. 다음 화면에서 OpenNMS 대시보드를 확인할 수 있습니다:

이제 admin > 비밀번호 변경을 클릭하여 기본 admin 비밀번호를 변경합니다:

기본 비밀번호를 변경하고 제출 버튼을 클릭합니다. 다음 화면이 표시됩니다:

결론
축하합니다! Debian 11 서버에 Nginx를 리버스 프록시로 사용하여 OpenNMS를 성공적으로 설치했습니다. 이제 원격 장치를 OpenNMS에 추가하고 웹 브라우저에서 모니터링을 시작할 수 있습니다. 질문이 있으면 언제든지 문의해 주세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.