OpenNMS adalah platform manajemen jaringan dan pemantauan jaringan sumber terbuka dan gratis yang digunakan untuk mengelola jaringan perusahaan di seluruh dunia. Ini didasarkan pada Java dan dirancang untuk mengelola ribuan perangkat dari lokasi pusat. Ia memiliki kemampuan untuk menemukan dan memantau layanan atau node secara otomatis di jaringan Anda.
Fitur
- Mendukung SNMP, JMX, WMI, NPRE, NSCLient++ dan XMP
- Arsitektur Berbasis Peristiwa
- Mendukung pemantauan perangkat dan aplikasi
- Penemuan Tipologi dan Penghentian Jalur
- Konfigurasikan dan Jalankan Monitor Layanan
- Mendukung Topologi Jaringan Layer 2 dan Layer 3
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi OpenNMS di server CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Sandi root dikonfigurasi untuk server.
Memulai
OpenNMS adalah aplikasi berbasis Java. Jadi, Anda perlu menginstal Java di sistem Anda. Anda dapat menginstalnya dengan paket lain yang diperlukan dengan menjalankan perintah berikut:
dnf install java-11-openjdk-devel curl unzip -y
Setelah menginstal Java, Anda dapat memverifikasi versi java dengan perintah berikut:
java -version
Anda akan mendapatkan output berikut:
openjdk version "11.0.9" 2020-10-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal OpenNMS
Secara default, OpenNMS tidak tersedia di repositori default CentOS 8. Jadi, Anda perlu menambahkan repositori OpenNMS ke sistem Anda.
Pertama, tambahkan kunci GPG dengan perintah berikut:
rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
Setelah kunci GPG ditambahkan, jalankan perintah berikut untuk menambahkan repo OpenNMS.
dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
Selanjutnya, Anda dapat menginstal OpenNMS dengan menjalankan perintah berikut:
dnf install opennms -y
Ini akan menginstal OpenNMS, PostgreSQL, dan paket lainnya di server Anda.
Konfigurasi PostgreSQL
OpenNMS menggunakan PostgreSQL sebagai backend database. Anda dapat menginisialisasi database PostgreSQL dengan perintah berikut:
postgresql-setup --initdb --unit postgresql
Anda akan mendapatkan output berikut:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Selanjutnya, mulai layanan PostgreSQL dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:
systemctl enable postgresql
systemctl start postgresql
Selanjutnya, Anda perlu membuat database dan pengguna untuk PostgreSQL.
Pertama, masuk ke PostgreSQL dengan perintah berikut:
su - postgres
Setelah login, buat pengguna dengan perintah berikut:
[[email protected] ~]$ createuser -P opennms
Anda akan diminta untuk mengatur kata sandi seperti yang ditunjukkan di bawah ini:
Enter password for new role: Enter it again:
Selanjutnya buat database dengan perintah berikut:
[[email protected] ~]$ createdb -O opennms opennms
Selanjutnya, atur kata sandi untuk pengguna PostgreSQL dengan perintah berikut;
[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"
Selanjutnya, keluar dari shell PostgreSQL dengan perintah berikut:
[[email protected] ~]$ exit;
Selanjutnya, Anda perlu mengubah kebijakan akses untuk PostgreSQL. Anda dapat melakukannya dengan mengedit file /var/lib/pgsql/data/pg_hba.conf:
nano /var/lib/pgsql/data/pg_hba.conf
Temukan baris berikut:
# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident
Dan, ganti dengan baris berikut:
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
Simpan dan tutup file kemudian restart layanan PostgreSQL untuk menerapkan perubahan:
systemctl restart postgresql
Selanjutnya, Anda perlu mendefinisikan database Anda di file /opt/opennms/etc/opennms-datasources.xml.
nano /opt/opennms/etc/opennms-datasources.xml
Ubah baris berikut yang sesuai dengan database Anda:
<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="password" />
Simpan dan tutup file setelah Anda selesai.
Inisialisasi dan Mulai OpenNMS
Selanjutnya, Anda perlu menginisialisasi OpenNMS. Pertama, tambahkan pengaturan Java dengan perintah berikut:
/opt/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-11.0.9.11-0.el8_2.x86_64/bin/java". runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.
Selanjutnya, inisialisasi database dengan menjalankan perintah berikut:
/opt/opennms/bin/install -dis
Selanjutnya, aktifkan OpenNMS untuk memulai pada sistem reboot dengan perintah berikut:
systemctl enable --now opennms
Anda akan mendapatkan output berikut:
Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable opennms Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service → /usr/lib/systemd/system/opennms.service.
Sekarang, Anda dapat memeriksa status layanan OpenNMS dengan perintah berikut:
systemctl status opennms
Anda akan mendapatkan output berikut:
? opennms.service - OpenNMS server Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS) Main PID: 27928 (java) Tasks: 67 (limit: 12523) Memory: 555.6M CGroup: /system.slice/opennms.service ??27927 bash /etc/init.d/opennms -s start ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java> Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so. Attempting to load ji> Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library. Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so. Attempting to load > Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
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=27928,fd=988))
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi SELinux dan Firewall
Secara default, SELinux diaktifkan di server CentOS 8. Jadi, Anda harus menonaktifkannya terlebih dahulu. Anda dapat menonaktifkannya dengan mengedit file /etc/selinux/config:
nano /etc/selinux/config
Temukan baris berikut:
SELINUX=enforcing
Dan, ganti dengan baris berikut:
SELINUX=permissive
Simpan dan tutup file, lalu reboot sistem untuk menerapkan perubahan.
Selanjutnya, izinkan port 8980 melalui firewalld dengan perintah berikut:
firewall-cmd --permanent --add-port=8980/tcp
Selanjutnya, muat ulang firewalld untuk menerapkan perubahan:
firewall-cmd --reload
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Akses Antarmuka Web OpenNMS
Sekarang, buka browser web Anda dan akses antarmuka web OpenNMS menggunakan URL http://your-server-ip:8980/opennms . Anda akan diarahkan ke halaman login OpenNMS:
Berikan username admin default sebagai admin dan password sebagai admin kemudian klik Login tombol. Anda akan melihat halaman berikut:
Klik Keikutsertaan untuk mengirim statistik penggunaan anonim ke OpenNMS. Anda akan melihat dasbor OpenNMS di halaman berikut:
Klik Admin => Ubah kata sandi untuk mengubah kata sandi default. Anda akan melihat halaman berikut:
Ubah sandi default Anda dan klik Kirim tombol. Anda akan melihat halaman berikut:
Klik pada + ikon untuk menambahkan host baru. Anda akan melihat halaman berikut:
Berikan nama permintaan baru dan klik OK tombol. Anda akan melihat halaman berikut:
Berikan detail host jarak jauh Anda dan klik Penyediaan tombol. Setelah host ditambahkan, Anda akan melihat halaman berikut:
Sekarang, klik Info => Node . Anda harus mendapatkan informasi detail dari remote host di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal OpenNMS di server CentOS 8. Sekarang Anda dapat menambahkan host dan perangkat jaringan tanpa batas ke OpenNMS dan mulai memantau dari lokasi pusat.