웹사이트 검색

Debian 11에 OpenNMS 네트워크 모니터링 솔루션을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 필수 종속성 설치\n
  3. OpenNMS 저장소 추가
  4. Debian 11에 OpenNMS 설치
  5. OpenNMS용 데이터베이스 및 사용자 생성
  6. OpenNMS 구성
  7. OpenNMS 초기화 및 시작\n
  8. OpenNMS 웹 인터페이스 액세스
  9. 결론

OpenNMS는 Java로 작성된 무료 오픈 소스 개방형 네트워크 관리 시스템입니다. SNMP 프로토콜을 사용하여 로컬 및 네트워크 호스트에서 중요한 정보를 수집하는 네트워크 모니터링 응용 프로그램입니다. Linux 및 Windows 운영 체제에 설치할 수 있으며 웹 브라우저를 통해 네트워크 트래픽을 모니터링하는 웹 기반 인터페이스를 제공합니다. 프로비저닝, 서비스 모니터링, 이벤트 관리, 차트 지원 및 성능 측정을 포함한 다양한 기능을 제공합니다.

이 게시물에서는 Debian 11에 OpenNMS를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

필수 종속성 설치

먼저 다음 명령을 사용하여 시스템 패키지를 최신 버전으로 업데이트합니다.

apt-get update -y

모든 패키지가 업데이트되면 서버에 Java 및 기타 필수 종속 항목도 설치해야 합니다. 다음 명령을 실행하여 모두 설치할 수 있습니다.

apt-get install default-jdk gnupg2 curl wget -y

모든 패키지가 설치되면 다음 명령을 사용하여 Java 버전을 확인할 수 있습니다.

java -version

다음 출력에 Java 버전이 표시되어야 합니다.

openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)

완료되면 다음 단계로 진행할 수 있습니다.

OpenNMS 저장소 추가

기본적으로 OpenNMS 패키지는 Debian 11 기본 저장소에 포함되어 있지 않습니다. 따라서 OpenNMS 저장소를 APT에 추가해야 합니다. 다음 명령으로 추가할 수 있습니다.

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 -

리포지토리와 키가 추가되면 다음 명령을 사용하여 리포지토리 캐시를 업데이트합니다.

apt-get update -y

완료되면 다음 단계로 진행할 수 있습니다.

데비안 11에 OpenNMS 설치

이제 다음 명령을 실행하여 시스템에 OpenNMS 패키지를 설치하십시오.

apt-get install opennms -y

OpenNMS가 설치되면 다음 출력이 표시됩니다.

 *** Installation complete.  You must still run the installer at
 *** $OPENNMS_HOME/bin/install to be sure your database is up
 *** to date before you start OpenNMS.  See the install guide at
 *** http://www.opennms.org/wiki/Installation:Debian and the
 *** release notes for details.

Setting up opennms-webapp-jetty (28.1.1-1) ...
Setting up opennms-source (28.1.1-1) ...
Setting up opennms (28.1.1-1) ...
Setting up liblwp-protocol-https-perl (6.10-1) ...
Setting up libwww-perl (6.52-1) ...
Setting up libxml-parser-perl:amd64 (2.46-2) ...
Setting up libxml-twig-perl (1:3.52-1) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13) ...

위의 명령은 PostgreSQL 서버 패키지도 자동으로 설치합니다. 다음 명령을 사용하여 시작할 수 있습니다.

systemctl start postgresql

다음으로 다음 명령을 사용하여 PostgreSQL의 상태를 확인합니다.

systemctl status postgresql

다음과 같은 결과가 나타납니다.,/p>

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sun 2021-10-24 04:56:37 UTC; 1min 9s ago
   Main PID: 17627 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4679)
     Memory: 0B
        CPU: 0
     CGroup: /system.slice/postgresql.service

Oct 24 04:56:37 debian11 systemd[1]: Starting PostgreSQL RDBMS...
Oct 24 04:56:37 debian11 systemd[1]: Finished PostgreSQL RDBMS.

완료되면 다음 단계로 진행할 수 있습니다.

OpenNMS용 데이터베이스 및 사용자 생성

다음으로 OpenNMS용 데이터베이스와 사용자를 생성해야 합니다. 먼저 다음 명령을 사용하여 PostgreSQL에 로그인합니다.

su - postgres

로그인한 후 다음 명령을 사용하여 사용자를 만듭니다.

createuser opennms

그런 다음 다음 명령을 사용하여 opennms 사용자의 암호를 설정합니다.

psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"

다음으로 다음 명령을 사용하여 OpenNMS용 데이터베이스를 생성합니다.

createdb -O opennms opennms

그런 다음 다음 명령을 사용하여 Postgres 사용자의 비밀번호를 설정하십시오.

psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"

그런 다음 다음 명령을 사용하여 PostgreSQL 셸을 종료합니다.

exit

완료되면 다음 단계로 진행할 수 있습니다.

OpenNMS 구성

다음으로 OpenNMS 데이터 소스 파일을 편집하고 데이터베이스 설정을 정의해야 합니다.

nano /usr/share/opennms/etc/opennms-datasources.xml

데이터베이스 설정에 따라 다음 행을 변경하십시오.

<jdbc-data-source name="opennms"
                    database-name="opennms"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/opennms"
                    user-name="opennms"
                    password="opennms” />
<jdbc-data-source name="opennms-admin"
                    database-name="template1"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/template1"
                    user-name="postgres"
                    password="securepassword" />

완료되면 파일을 저장하고 닫습니다.

OpenNMS 초기화 및 시작

먼저 OpenNMS를 Java와 통합해야 합니다. 다음 명령을 실행하여 수행할 수 있습니다.

/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.

다음으로 다음 명령을 사용하여 데이터베이스를 초기화하고 시스템 라이브러리를 감지합니다.

/usr/share/opennms/bin/install -dis

다음과 같은 결과가 표시됩니다.

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를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.

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-10-24 05:00:11 UTC; 3s ago
    Process: 22231 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
   Main PID: 23326 (java)
      Tasks: 43 (limit: 4679)
     Memory: 212.8M
        CPU: 21.168s
     CGroup: /system.slice/opennms.service
             ??23325 bash /usr/share/opennms/bin/opennms -s start
             ??23326 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.ins>

Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to load>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to load>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to lo>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp6 library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to load>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to lo>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp6 library.

이 시점에서 OpenNMS가 시작되고 포트 8980에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -antpl | grep 8980

다음과 같은 결과가 표시됩니다.

LISTEN 0      50                      *:8980             *:*    users:(("java",pid=23326,fd=815)) 

OpenNMS 웹 인터페이스에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip:8980/opennms를 사용하여 OpenNMS 웹 콘솔에 액세스하십시오. OpenNMS 로그인 페이지가 표시되어야 합니다.

기본 관리자 사용자 이름과 암호를 admin/admin으로 입력하고 로그인 버튼을 클릭합니다. 다음 페이지에 OpenNMS 대시보드가 표시되어야 합니다.

이제 + 아이콘을 클릭하여 새 호스트를 추가하십시오. 다음 페이지가 표시됩니다.

요청 이름을 제공하고 확인을 클릭하십시오. 다음 페이지가 표시됩니다.

원격 호스트 이름, IP, 사용자 이름, 비밀번호, 액세스 방법을 제공하고 프로비저닝 버튼을 클릭합니다. 호스트가 추가되면 다음 화면이 표시됩니다.

확인 버튼을 클릭합니다. 다음 화면에 새로 추가된 호스트가 표시되어야 합니다.

결론

축하합니다! Debian 11에 OpenNMS를 성공적으로 설치하고 구성했습니다. 이제 OpenNMS에 더 많은 호스트를 추가하고 웹 기반 인터페이스에서 모니터링을 시작할 수 있습니다.