Konfigurasi Instalasi LibreNMS Pada Linux Debian

Konfigurasi ini membahas implementasi dan instalasi sistem Network Monitoring System (NMS) menggunakan LibreNMS pada sistem operasi Debian 12. LibreNMS digunakan untuk memantau berbagai perangkat jaringan dan server secara terpusat, seperti router, switch, access point, server fisik, mesin virtual, serta perangkat yang mendukung protokol SNMP. Melalui antarmuka web yang mudah diakses, administrator dapat memantau performa dan status perangkat secara real-time, sehingga mempermudah identifikasi gangguan serta pengelolaan infrastruktur jaringan dan server secara efisien, terstruktur, dan berkelanjutan.

Langkah Konfigurasi

1

Persiapan Awal

Sebelum memulai konfigurasi, pastikan alat dan bahan berikut sudah dipersiapkan :

  • Server dengan sistem operasi linux debian
  • Akses root atau user dengan privilege sudo
  • Penyimpanan kosong minimal 3 GB
Gambar 1.1: Linux Debian
Gambar 1.2: LibreNMS
2

Update & Upgrade Sistem

Langkah pertama adalah update & upgrade sistem agar repository menjadi paling update :

Gambar 2.1: Update Sistem

Commands :

apt update && apt upgrade -y
3

Instal Paket Yang Diperlukan

Langkah selanjutnya adalah menginstal paket yang diperlukan untuk librenms :

Gambar 3.1: Instal Paket Yang Diperlukan

Commands :

apt install -y acl curl fping git graphviz imagemagick mariadb-server mariadb-client mtr-tiny nginx-full 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 unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-psutil python3-systemd python3-pip whois traceroute composer libcap2-bin
4

Membuat User Sistem & Klon Source Code Dari GitHub

Langkah selanjutnya adalah membuat user sistem untuk librenms & klon source code dari github :

Gambar 4.1: Membuat User Sistem & Klon Kode Sumber Dari GitHub

Commands :

useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
cd /opt
git clone https://github.com/librenms/librenms.git
chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms
Gambar 4.2: Memberikan ACL Akses Tulis

Commands :

setfacl -d -m g::rwx /opt/librenms/{rrd,logs,bootstrap/cache,storage}
setfacl -R -m g::rwx /opt/librenms/{rrd,logs,bootstrap/cache,storage}
5

Menginstal Dependensi PHP

Langkah selanjutnya adalah menginstal dependensi php dengan composer :

Gambar 5.1: Menginstal Dependensi PHP

Commands :

su - librenms
./scripts/composer_wrapper.php install --no-dev
Gambar 5.2: Exit

Commands :

exit
6

Mengatur Zona Waktu Untuk PHP & Sistem

Langkah selanjutnya adalah Mengatur zona waktu untuk php dan sistem :

Gambar 6.1: Mengatur Zona Waktu Untuk PHP & Sistem

Commands :

sed -i 's|^;*date.timezone =.*|date.timezone = Asia/Jakarta|' /etc/php/8.2/fpm/php.ini
sed -i 's|^;*date.timezone =.*|date.timezone = Asia/Jakarta|' /etc/php/8.2/cli/php.ini
timedatectl set-timezone Asia/Jakarta
systemctl restart php8.2-fpm
7

Konfigurasi MariaDB

Langkah selanjutnya adalah konfigurasi mariadb :

Gambar 7.1: Konfigurasi MariaDB

Commands :

nano /etc/mysql/mariadb.conf.d/50-server.cnf
# Tambahkan tepat dibawah mysql

innodb_file_per_table=1
lower_case_table_names=0
Gambar 7.2: Enable & Restart MariaDB

Commands :

systemctl enable mariadb
systemctl restart mariadb
Gambar 7.3: Membuat Database & User Untuk LibreNMS

Commands :

# User & Password bisa di ganti sesuai kebutuhan

mysql -u root <<'SQL'
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'Tobias123!';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
SQL
8

Membuat Konfigurasi Pool PHP-FPM Terpisah

Langkah selanjutnya adalah membuat konfigurasi pool php-fpm terpisah untuk librenms :

Gambar 8.1: Membuat Konfigurasi Pool PHP-FPM Terpisah

Commands :

cat >/etc/php/8.2/fpm/pool.d/librenms.conf <<'EOF'
[librenms]
user = librenms
group = librenms
listen = /run/php/php8.2-fpm-librenms.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 20
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 5
php_admin_flag[log_errors] = on
php_admin_value[error_log] = /var/log/php8.2-fpm-librenms.log
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
EOF
php-fpm8.2 -t
systemctl restart php8.2-fpm
ls -l /run/php/php8.2-fpm-librenms.sock
9

Konfigurasi Nginx

Langkah selanjutnya adalah membuat konfigurasi virtual host nginx untuk librenms. pada bagian /etc/nginx/conf.d/librenms.conf server name bisa di sesuaikan dengan yang dibutuhkan :

Gambar 9.1: Konfigurasi Nginx

Commands :

nano /etc/nginx/conf.d/librenms.conf
server {
        listen 80;
        server_name 192.168.10.8;
        root /opt/librenms/html;
        index index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_pass unix:/run/php/php8.2-fpm-librenms.sock;
                include fastcgi.conf;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

        location ~ /\.(?!well-known).* {
                deny all;
        }
}
Gambar 9.2: Konfigurasi Nginx

Commands :

nginx -t
systemctl restart nginx
10

Konfigurasi SNMP

Langkah selanjutnya adalah konfigurasi snmp yang digunakan oleh librenms untuk mengumpulkan data dari perangkat jaringan :

Gambar 10.1: Konfigurasi SNMP

Commands :

cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sed -i 's/RANDOMSTRINGGOESHERE/public/' /etc/snmp/snmpd.conf
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl enable snmpd
systemctl restart snmpd
snmpwalk -v2c -c public localhost .1.3.6.1.2.1.1
11

Konfigurasi Akhir LibreNMS

Langkah selanjutnya adalah konfigurasi akhir librenms seperti setting command shortcuts, cron jobs, scheduler, dan fping permissions :

Gambar 11.1: Konfigurasi Akhir LibreNMS

Commands :

ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
systemctl enable librenms-scheduler.timer
systemctl start librenms-scheduler.timer
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
12

Membuat User Dashboard LibreNMS

Langkah selanjutnya adalah membuat user librenms di dashboard librenms website dengan menggunakan ip server http://ip-server pada browser lalu ikuti petunjuk berikut ini :

Gambar 12.1: Setelah Masuk Dashboard Website LibreNMS, Klik Ikon Ke Dua
Gambar 12.2: Masukan User Dan Password Yang Telah Dibuat Pada Langkah Nomor 7
Gambar 12.3: Membuat User Dan Password Untuk Dashboard Admin
Gambar 12.4: Finish Instal
Gambar 12.5: Klik Dashboard
13

Menambahkan Device Ke LibreNMS

Langkah selanjutnya adalah menambahkan device ke librenms. jika menambahkan mikrotik atau device lainnya, pastikan sudah disetting snmpnya :

Gambar 13.1: Login Ke Dashboard LibreNMS
Gambar 13.2: Menambahkan Devices Pada Menu Device -> Add Device
Gambar 13.3: Mengisi IP Dari Device Dan Community
Gambar 13.4: Pastikan Tidak Ada Eror Setelah Menambahkan Device
14

Pengujian

Langkah selanjutnya adalah menguji apakah monitoring librenms sudah berjalan dengan optimal. karena sudah ada 2 device yang ditambahkan, maka bisa dipilih salah satu device dengan klik ip device untuk melihat lebih lengkap data dari device tersebut :

Gambar 14.1: Pilih Salah Satu Device
Gambar 14.2: Data Lengkap Dari Device Mikrotik

Kesimpulan

Berdasarkan konfigurasi yang telah dilakukan, LibreNMS berhasil berjalan pada Debian 12 dan mampu melakukan pemantauan perangkat jaringan serta server secara terpusat dan real-time. Implementasi ini memudahkan administrator dalam memonitor kondisi infrastruktur, mendeteksi gangguan, dan mengelola sumber daya jaringan secara lebih efektif dan efisien.

Back