OpenNMS adalah gratis, sumber terbuka, dan salah satu platform pemantauan jaringan dan manajemen jaringan paling kuat yang digunakan untuk memantau perangkat jarak jauh dari lokasi pusat. Ini mendukung banyak fungsi termasuk, Penyediaan, Pemantauan Layanan, Pengelolaan acara, dukungan bagan, dan banyak lagi. OpenNMS menggunakan SNMP dan JMX dan mengumpulkan informasi dari sistem jarak jauh. Ini berjalan di sistem operasi Linux dan Windows dan menyediakan antarmuka berbasis web untuk pemantauan yang mudah.
Dalam tutorial ini, saya akan menunjukkan cara menginstal OpenNMS di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11.
- Nama domain valid yang ditunjukkan dengan IP server Anda.
- Kata sandi root dikonfigurasi di server.
Instal Java di Debian 11
OpenNMS adalah aplikasi berbasis Java. Jadi Java harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan menjalankan perintah berikut:
apt-get install default-jdk -y
Setelah Java diinstal, verifikasi versi Java menggunakan perintah di bawah ini:
java --version
Anda akan mendapatkan versi Java di output berikut:
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)
Instal OpenNMS di Debian 11
Secara default, OpenNMS tidak disertakan dalam repositori utama Debian 11. Jadi, Anda perlu menambahkan repositori resmi OpenNMS ke APT.
Pertama, instal semua dependensi yang diperlukan menggunakan perintah berikut:
apt-get install curl gnupg2 wget -y
Setelah semua paket terinstal, buat file repositori OpenNMS menggunakan perintah di bawah ini:
nano /etc/apt/sources.list.d/opennms.list
Tambahkan baris berikut:
deb https://debian.opennms.org stable main deb-src https://debian.opennms.org stable main
Simpan dan tutup file kemudian impor kunci GPG dengan perintah berikut:
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
Anda akan mendapatkan output berikut:
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
Selanjutnya, perbarui cache repositori dan instal OpenNMS dengan perintah berikut:
apt-get update -y
apt-get install opennms -y
Anda akan mendapatkan kesalahan berikut selama instalasi:
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.
Untuk mengatasi kesalahan ini, Anda perlu membuat database dan pengguna untuk OpenNMS di PostgreSQL.
Buat Database di PostgreSQL
Server PostgreSQL diinstal secara otomatis selama proses instalasi OpenNMS.
Pertama, mulai layanan PostgreSQL menggunakan perintah berikut:
systemctl start postgresql
Selanjutnya, sambungkan ke instance PostgreSQL menggunakan perintah berikut:
su - postgres
Setelah Anda terhubung, buat pengguna untuk OpenNMS dan atur kata sandi menggunakan perintah berikut:
createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"
Selanjutnya, buat database untuk OpenNMS dan atur kata sandi untuk pengguna postgres:
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"
Selanjutnya, keluar dari shell PostgreSQL dengan perintah berikut:
exit
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi OpenNMS
Selanjutnya, Anda perlu mengedit file sumber data OpenNMS dan menentukan kredensial database Anda:
nano /usr/share/opennms/etc/opennms-datasources.xml
Tentukan kredensial database Anda seperti yang ditunjukkan di bawah ini:
<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" /> </datasource-configuration>
Simpan dan tutup file setelah Anda selesai kemudian jalankan perintah berikut untuk mendeteksi lingkungan Java:
sudo -u opennms /usr/share/opennms/bin/runjava -s
Anda akan mendapatkan output berikut:
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.
Selanjutnya, jalankan perintah berikut untuk menyelesaikan penyiapan OpenNMS:
sudo -u opennms /usr/share/opennms/bin/install -dis
Anda akan mendapatkan output berikut:
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!
Mulai Layanan OpenNMS
Setelah mengatur OpenNMS, mulai layanan OpenNMS dan aktifkan untuk memulai saat reboot sistem menggunakan perintah berikut:
systemctl start opennms
systemctl enable opennms
Anda dapat memverifikasi status OpenNMS menggunakan perintah berikut:
systemctl status opennms
Anda akan mendapatkan output berikut:
? 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.VersionNov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final
Pada titik ini, OpenNMS dimulai dan mendengarkan pada port 8980. Anda dapat memeriksanya dengan perintah berikut:
ss -antpl | grep 8980
Anda akan mendapatkan output berikut:
LISTEN 0 50 *:8980 *:* users:(("java",pid=24106,fd=1046))
Konfigurasikan Nginx sebagai Proxy Terbalik untuk OpenNMS
Selanjutnya, disarankan untuk menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk OpenNMS. Pertama, instal server Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah Nginx diinstal, buat file konfigurasi virtual host Nginx:
nano /etc/nginx/conf.d/opennms.conf
Tambahkan konfigurasi berikut:
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; } }
Simpan dan tutup file, lalu verifikasi Nginx untuk menemukan kesalahan konfigurasi sintaks:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Untuk memeriksa status menjalankan Nginx, jalankan perintah berikut:
systemctl status nginx
Anda akan melihat output berikut:
? 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.
Mengakses Dasbor OpenNMS
Sekarang, buka browser web Anda dan akses antarmuka web OpenNMS menggunakan URL http://opennms.example.com . Anda akan melihat halaman login OpenNMS:
Berikan nama pengguna dan kata sandi default sebagai admin dan klik Masuk tombol. Anda akan melihat dasbor OpenNMS pada layar berikut:
Sekarang, klik admin> Ubah Kata Sandi untuk mengubah kata sandi admin default seperti yang ditunjukkan di bawah ini:
Ubah sandi default Anda dan klik Kirim tombol. Anda akan melihat layar berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal OpenNMS dengan Nginx sebagai proxy terbalik di server Debian 11. Anda sekarang dapat menambahkan perangkat jarak jauh ke OpenNMS dan mulai memantaunya dari browser web. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.