Cara Install Librenms di Ubuntu 22.04

LibreNMS merupakan software atau aplikasi untuk memonitoring perangkat jaringan komputer.

Kita dapat melihat performa perangkat jaringan, melihat log perangkat, hingga memvisualisasikannya dalam bentuk grafik.

LibreNMS memonitoring perangkat jaringan melalui protokol SNMP, ICMP, HTTP, dan lainnya.

LibreNMS bersifat open soure dan gratis, sehingga kita dapat bebas menginstall aplikasi tersebut pada perangkat server kita.

Pada artikel ini, kita akan membahas tentang cara install Librenms di Ubuntu 22.04.

Konfigurasi DNS

Sebelum kita mulai install librenms, kita lakukan konfigurasi DNS terlebih dahulu.

Kita buat subdomain librenms untuk virtualhost yang akan kita konfigurasi pada webserver nantinya.

Buka file raintekno.db, dan tambahkan record CNAME untuk librenms.

sudo nano /etc/bind/raintekno.db

Tambahkan record yang ditandai teks warna merah.

Restart service bind9.

sudo systemctl restart bind9

Instalasi Paket

Lakukan instalasi beberapa paket yang dibutuhkan di bawah ini.

sudo apt install apache2 libapache2-mod-php8.1 acl curl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip

Membuat user

Buat user baru dengan username librenms dengan /opt/librenms sebagai home direktori.

sudo useradd librenms -d /opt/librenms -M -r

Keterangan

  • -d : untuk menentukan home direktori dari user yang dibuat
  • -M : opsi agar tidak dibuatkan home direktori secara default
  • -r : agar user yang dibuat tidak dapat login ke sistem server.

Kita tambahkan user www-data ke dalam grup librenms dengan perintah berikut ini.

sudo usermod -a -G librenms www-data

Install LibreNMS

Kita akan melakukan instalasi Librenms dengan mendownload dari repositori Github LibreNMS menggunakan aplikasi Git.

Sebelumnya kita pindah direktori dulu ke /opt

cd /opt
sudo git clone https://github.com/librenms/librenms.git

Setting Permission

Setelah selesai mendownload paket librenms. Kita atur kepemilikan direktori /opt/librenms menjadi milik user librenms dan user yang berada pada grup librenms.

sudo chown -R librenms:librenms /opt/librenms

Kita ubah hak akses pada direktori /opt/librenms menjadi dapat dibaca, ditulis, dan dieksekusi hanya oleh user librenms dan user yang berada pada grup librenms.

sudo chmod 770 /opt/librenms

Atur juga hak akses untuk beberapa folder berikut ini.

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

Instal Dependensi PHP

Login menggunakan username librenms, kemudian install paket dependensi PHP yang dibutuhkan dengan perintah berikut ini.

su - librenms
./scripts/composer_wrapper.php install --no-dev

Tunggu hingga proses download selesai. Lama tidaknya tergantung koneksi internet ya.

Keluar dari user librenms dengan mengetikan perintah exit.

Konfigurasi Waktu

Lakukan konfigurasi zona waktu pada PHP dengan perintah berikut ini.

sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.1/cli/php.ini

Pada bagian ;date.timezone =, hapus tanda ; dan tambahkan "Asia/Jakarta". Silakan ganti dengan zona waktu lainnya dengan melihat zona waktu pada https://www.php.net/manual/en/timezones.php.

Kemudian konfigurasi juga zona waktu pada Ubuntu 22.04 kita dengan perintah berikut ini.

sudo timedatectl set-timezone "Asia/Jakarta"

Konfigurasi Database

Restart terlebih dahulu service mysql dengan perintah berikut ini.

sudo systemctl restart mysql

Login ke dalam database menggunakan user root. Tapi sebelum itu, kita konfigurasi terlebih dahulu password root untuk login ke dalam mysql.

sudo mysql_secure_installation

Setelah selesai konfigurasi password user root untuk login ke mysql. Selanjutnya kita login ke dalam mysql.

sudo mysql -u root -p

Kita buat database dengan nama librenms.

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Buat user baru dalam mysql dan kita konfigurasi juga passwordnya.

CREATE USER 'librenms'@'localhost' IDENTIFIED BY '123';

Ganti tulisan berwarna merah dengan password yang aman.

Beri izin untuk user librenms agar dapat melakukan semuanya pada database librenms di komputer localhost.

GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';

Refresh table privileges dengan perintah berikut ini.

FLUSH PRIVILEGES;

Keluar dari database dengan perintah exit.

Edit file /etc/mysql/mariadb.conf.d/50-server.cnf kemudian tambahkan konfigurasi berikut ini setelah [mysql].

innodb_file_per_table=1
lower_case_table_names=0
default-time-zone='+07:00'

Keterangan

  • innodb_file_per_table=1 : Opsi innodb_file_per_table=1 artinya setiap tabel InnoDB akan disimpan dalam file terpisah. Sehingga etika sebuah tabel InnoDB dihapus, file terkait juga akan dihapus dan dapat membebaskan ruang disk yang tidak lagi digunakan.
  • lower_case_table_names=0 : Penamaan tabel dan database akan case-sensitive, artinya huruf besar-kecil akan berpengaruh.

Restart service mysql dengan perintah berikut ini.

sudo systemctl restart mysql

Konfigurasi PHP-FPM

PHP-FPM (FastCGI Process Manager) berfungsi untuk mengelola eksekusi script PHP pada server web.

Salin file konfigurasi www.conf ke file librenms.conf dengan perintah berikut ini.

sudo cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/librenms.conf

Kemudian edit file /etc/php/8.1/fpm/pool.d/librenms.conf.

Pada bagian [www] diganti dengan [librenms].

[librenms]

Kemudian pada bagian user dan group diubah menjadi seperti berikut ini.

user = librenms
group = librenms

Konfigurasi Apache

Buat virtualhost pada file /etc/apache2/sites-available/librenms.conf dengan menambahkan konfigurasi berikut.

sudo nano /etc/apache2/sites-available/librenms.conf

Sesuaikan ServerName dengan subdomain atau domain yang sudah konfigurasi.

Jangan lupa simpan file konfigurasi tersebut, ya.

Selanjutnya, kita ketikan perintah berikut ini.

sudo a2ensite librenms.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Keterangan

  • a2ensite librenms.conf : mengaktifkan konfigurasi virtual host librenms.
  • a2enmod rewrite : mengaktifkan modul rewrite. Modul tersebut agar Apache dapat melakukan pengubahan pada URL yang diminta oleh client sebelum dikirim ke server.
  • systemctl restart apache2 : perintah untuk melakukan restart service apache2.

Konfigurasi perintah lmns

Perintah berikut ini berfungsi agar ketika kita mengetik perintah atau argumen, ubuntu akan memberikan saran atau menyelesaikan otomatis berdasarkan riwayat perintah yang tersimpan.

sudo ln -s /opt/librenms/lnms /usr/bin/lnms
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

Konfigurasi SNMPD

Snmpd digunakan untuk mengambil informasi dari perangkat yang sedang dimonitor melalui protokol SNMP pada Librenms.

Copy file snmpd.conf.example ke /etc/snmp/snmpd.conf.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Kemudian buka file /etc/snmp/snmpd.conf dan edit pada bagian RANDOMSTRINGGOESHERE. Ubah menjadi nama community yang kamu gunakan. Pada tutorial ini kita akan ubah community nya menjadi raintekno.

sudo nano /etc/snmp/snmpd.conf
# Change RANDOMSTRINGGOESHERE to your preferred SNMP community string
com2sec readonly default   raintekno

Kemudian masukan perintah berikut ini.

sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
sudo ystemctl restart snmpd

Konfigurasi Cronjob

Cronjob digunakan untuk menjalankan beberapa tugas rutin seperti pembaruan data polling, pembersihan data lama, dan tugas-tugas lainnya pada Librenms.

Salin file /opt/librenms/librenms.nonroot.cron ke /etc/cron.d/librenms.

sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

Konfigurasi Logrotate

ogrotate digunakan untuk mengatur rotasi pada file log yang dihasilkan oleh aplikasi LibreNMS, seperti access log dan error log.

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Instalasi Librenms

Pada browser komputer klien, ketikan alamat librenms.raintekno.net pada address bar.

Akan muncul tampilan, Pre-Install Check. Klik pada ikon Database.

Selanjunya, kita harus mengisi konfigurasi database. Isi sesuai dengan data pada saat konfigurasi database sebelumnya. Kemudian klik Check Credentials.

Setelah konfigurasi Credentials berhasil, kemudian klik Build Database.

Tunggu hingga proses build database selesai.

Klik icon kunci lalu masukan username, password, dan email yang akan kita tambahkan di Librenms. Kemudian klik Add user.

Setelah selesai, klik icon checklist dan akan muncul Finish Install.

Akan muncul tampilan pop up seperti berikut. Klik Dashboard untuk menuju ke halaman login Librenms.

Masuk menggunakan username dan password yang sudah dibuat sebelumnya.

Kita telah masuk di Dashboard monitoring Librenms. Selanjutnya kita dapat menambahkan perangkat yang akan dimonitoring pada Librenms.

Menambah perangkat di Librenms

Pada tutorial ini, kita akan menambahkan perangkat Mikrotik ke dalam Librenms.

Untuk menambah perangkat, klik pada Menu Device > Add Device. Maka akan muncul tampilan seperti berikut ini.

Isi sesuai dengan informasi perangkat yang akan ditambahkan kemudian klik Add Device.

Maka akan muncul tampilan bahwa kita telah menambahkan perangkat Mikrotik pada Librenms.

Berikut tampilan perangkat yang sudah dapat kita monitoring pada Librenms.

Kesimpulan

LibreNMS merupakan software atau aplikasi untuk memonitoring perangkat jaringan komputer. Kita dapat melihat performa CPU, Memory, Traffic, uptime dan lainnya dalam bentuk grafik.

Kita telah berhasil melakukan install Librenms di Ubuntu 22.04 menggunakan Apache2 dan menambahkan satu perangkat ke dalam Librenms.

Semoga artikel ini dapat dimengerti dan bermanfaat.

Situs yang antusias berbagi informasi teknologi terkini.

Post a Comment