LibreNMS adalah alat pemantauan sumber terbuka berdasarkan PHP/MYSQL/SNMP. Ini adalah sistem pemantauan jaringan unggulan yang menyediakan dukungan untuk berbagai perangkat keras jaringan dan sistem operasi termasuk, FreeBSD, Cisco, Linux, HP, dll.
Dalam tutorial ini, saya akan menunjukkan cara menginstal dan mengonfigurasi alat pemantauan sumber terbuka 'LibreNMS' menggunakan Nginx sebagai server web, MariaDB sebagai database, dan server Ubuntu 16.04 sebagai server utama kami. Kami akan memandu Anda langkah demi langkah tentang cara menginstal dan mengkonfigurasi 'LibreNMS' di server Ubuntu 16.04 Xenial Xerus.
Apa yang akan kami lakukan
- Instal Paket
- Instal Server Web Nginx
- Instal dan Konfigurasi PHP-FPM
- Instal dan Konfigurasi MariaDB
- Unduh dan Konfigurasikan LibreNMS
- Pemasang Web LibreNMS
- Konfigurasi akhir
Prasyarat
- Server Ubuntu 16.04
- Keistimewaan Root
Langkah 1 - Instal Paket
Langkah pertama yang harus kita lakukan untuk menginstal LibreNMS Monitoring Tools adalah menginstal beberapa paket yang diperlukan di server. Hubungkan ke server Anda dan perbarui repositori.
ssh [email protected]
sudo apt update
Instal semua paket yang diperlukan untuk LibreNMS dari repositori Ubuntu menggunakan perintah berikut.
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
Setelah penginstalan selesai, lanjutkan ke langkah berikutnya.
Langkah 2 - Instal Nginx Webserver
Dalam tutorial ini, kita akan menjalankan LibreNMS di bawah server web Nginx. Nginx adalah server web yang kuat yang tersedia di repositori Ubuntu.
Instal nginx menggunakan perintah apt dari repositori dengan cara berikut.
apt install nginx
Setelah selesai, mulai layanan dan aktifkan untuk berjalan secara otomatis setiap kali sistem boot.
systemctl start nginx
systemctl enable nginx
Server web Nginx berjalan di bawah port default 80. Kita dapat memeriksa port menggunakan perintah netstat, dan memeriksa Nginx menggunakan perintah curl untuk mendapatkan kode status HTTP, seperti yang ditunjukkan di bawah ini.
netstat -plntu | grep 80
curl -I localhost
Instalasi Nginx telah selesai.
Langkah 3 - Instal dan Konfigurasi PHP-FPM
LibreNMS adalah alat pemantauan aplikasi web berbasis PHP. Ini menawarkan dukungan untuk PHP versi 7.0 baru, dan kami akan menggunakannya untuk panduan ini.
Instal PHP, PHP-FPM, dan semua ekstensi/modul yang diperlukan untuk instalasi LibreNMS menggunakan perintah apt di bawah ini.
apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6
Selanjutnya, kita perlu menambahkan beberapa konfigurasi ke file php.ini. Kita perlu menentukan zona waktu default di file php.ini dan memastikan zona waktu cocok dengan zona waktu saat ini yang digunakan oleh sistem.
Periksa zona waktu saat ini yang digunakan oleh sistem dengan perintah berikut.
timedatectl
Anda akan mendapatkan hasil yang mirip dengan berikut ini.
Anda dapat melihat server menggunakan 'Europe/Paris ' zona waktu.
Sekarang buka direktori konfigurasi PHP dan edit file php.ini untuk konfigurasi cli dan fpm.
cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini
Batalkan komentar pada 'tanggal.waktu ' baris dan ubah nilainya dengan zona waktu sistem kami 'Eropa/Paris '.
date.time = Europe/Paris
Uncomment konfigurasi cgi di bawah, ubah nilainya menjadi 0.
cgi.fix_pathinfo = 0
Simpan dan keluar.
Semua konfigurasi selesai. Sekarang mulai layanan dan aktifkan untuk diluncurkan setiap kali sistem boot menggunakan perintah systemctl berikut.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM sekarang berjalan di server ubuntu - itu berjalan di bawah file kaus kaki. Periksa dengan perintah netstat.
netstat -pl | grep php
Langkah 4 - Instal dan Konfigurasi MariaDB
Pada langkah ini, kita akan menginstal server mariadb untuk database LibreNMS. Kami akan menginstal, mengkonfigurasi dan membuat database baru dan pengguna baru untuk instalasi LibreNMS.
Instal mariadb-server dari repositori ubuntu menggunakan perintah apt di bawah ini.
apt install mariadb-server mariadb-client mariadb
Setelah selesai, mulai layanan, dan aktifkan untuk berjalan secara otomatis saat boot sistem, sesuatu yang dapat Anda lakukan menggunakan perintah systemctl berikut.
systemctl start mysql
systemctl enable mysql
Server database mariadb sekarang sedang berjalan. Selanjutnya kita perlu mengkonfigurasi kata sandi root untuk mariadb. Kita dapat menggunakan perintah 'mysql_secure_installation' di bawah ini untuk mengkonfigurasi kata sandi root.
mysql_secure_installation
Anda akan ditanya tentang kata sandi root baru - ketik kata sandi Anda dan tekan 'Enter' untuk melanjutkan.
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Kata sandi root untuk mariadb telah dikonfigurasi.
Selanjutnya, kita harus membuat database dan pengguna baru untuk LibreNMS. Kami akan membuat database baru bernama 'librenms', pengguna baru bernama 'librenms' dengan kata sandi 'hakase-labs123'.
Masuk ke shell mariadb menggunakan perintah berikut.
mysql -u root -p
Type the ROOT Password:
Jalankan kueri mariadb di bawah ini untuk membuat database dan pengguna baru, dan berikan semua hak istimewa pada database kepada pengguna baru.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
Database dan pengguna baru untuk LibreNMS telah dibuat.
Untuk instalasi LibreNMS, kita perlu menambahkan beberapa konfigurasi ke file konfigurasi. Buka direktori '/etc/mysql/' dan edit file konfigurasi mariadb.
cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf
Tempelkan konfigurasi di bawah di bawah '[mysqld] bagian '.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Simpan dan keluar.
Sekarang terapkan konfigurasi baru dengan memulai ulang layanan.
systemctl restart mysql
Konfigurasi database mariadb telah selesai.
Langkah 5 - Unduh dan Konfigurasikan LibreNMS
Pada langkah ini, kita akan mengkonfigurasi sistem untuk instalasi LibreNMS.
- Tambahkan Pengguna Baru dan Unduh LibreNMS
Buat pengguna sistem baru bernama 'librenms', tentukan '/opt/librenms' sebagai direktori home default untuk pengguna, dan tetapkan pengguna 'librenms' baru ke grup www-data.
Jalankan perintah berikut untuk melakukan semuanya.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
Sekarang buka direktori '/opt/' dan unduh kode sumber LibreNMS menggunakan perintah git.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Selanjutnya, buat direktori baru untuk file log libreNMS dan file rrd.
mkdir -p /opt/librenms/{logs,rrd}
Ubah izin kepemilikan untuk direktori 'rrd' menjadi '775', dan ubah pemilik direktori 'librenms' menjadi pengguna dan grup 'librenms'.
chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/
'librenms' baru telah dibuat, dan kode sumber LibreNMS telah diunduh.
- Konfigurasikan Virtualhost LibreNMS
Buka direktori konfigurasi 'nginx' dan buat file host virtual baru 'librenms' dengan vim
cd /etc/nginx/
vim sites-available/librenms
Rekatkan konfigurasi Host Virtual LibreNMS berikut di sana.
server {
# Add your own domain name
listen 80;
server_name librenms.irsyadf.me;
# LibreNMS Webroot directory
root /opt/librenms/html;
index index.php;
# LibreNMS logs
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
# Enabling Gzip compression on Nginx
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 /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
# PHP-FPM handle all .php files requests
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Simpan dan keluar. Sekarang, aktifkan virtualhost.
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Uji konfigurasi nginx dan pastikan tidak ada kesalahan. Kemudian restart layanan.
nginx -t
systemctl restart nginx
- Konfigurasikan Firewall UFW
Tambahkan port baru ke firewall. Tambahkan ssh, http, https, dan port baru yang digunakan oleh jenis snmpd 161 udp ke firewall ufw.
Jalankan perintah ufw berikut.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp
Jalankan firewall ufw dengan perintah ufw enable seperti yang ditunjukkan di bawah ini.
ufw enable
Ketik 'y' dan tekan 'Enter' untuk konfirmasi. Mulai dan aktifkan untuk diluncurkan setiap kali sistem boot.
Jika Anda ingin melihat status firewall, jalankan perintah 'ufw status'.
ufw status
Anda akan mendapatkan status firewall - aktif atau tidak aktif - dan daftar port dan layanan yang ditambahkan ke firewall.
Langkah 6 - Penginstal Web LibreNMS
Setelah semua langkah di atas selesai, kita perlu menginstal LibreNMS melalui browser web. Buka browser web Anda, ketik nama domain LibreNMS 'librenms.hakase-labs.co' di bilah alamat dan tekan Enter.
- Memeriksa Modul PHP
Anda akan diarahkan ke halaman install.php yang menunjukkan hasil pemeriksaan dukungan modul PHP. Pastikan semua status berwarna hijau seperti gambar di bawah ini.
Klik 'Tahap Berikutnya ' untuk melanjutkan.
- Konfigurasi Basis Data
Isi semua info database dengan db Anda sendiri.
- Pengguna DB:librenms
- Pass DB:hakase-labs123
- Nama DB:librenms
Dan klik 'Tahap Berikutnya '.
- Mengimpor Database MySQL
Tunggu skrip penginstal untuk mengimpor sampel database ke database kami - jangan tutup tab browser selama proses ini.
Setelah semua db diimpor, klik 'Goto Add User '.
- Tambahkan Pengguna Admin
Di sini, ketik pengguna admin, email, dan kata sandi Anda.
Klik 'Tambahkan Pengguna '.
- Buat Konfigurasi LibreNMS
Klik 'Buat Konfigurasi '.
Dan Anda akan mendapatkan file konfigurasi yang mirip dengan yang ditunjukkan di bawah ini.
Salin skrip konfigurasi php, dan kembali ke sesi ssh Anda. Buka direktori '/opt/librenms' dan buat file 'config.php' secara manual menggunakan vim.
cd /etc/librenms/
vim config.php
Rekatkan konfigurasi di sana, dan ubah kepemilikan file menjadi librenms pengguna dan grup.
chown librenms:librenms config.php
Kembali ke browser web Anda dan klik 'Selesai Instal '.
Sekarang Anda membuka halaman terakhir dari penginstal web librenms - lihat di bawah.
Langkah 7 - Konfigurasi akhir
Setelah penginstalan melalui browser web selesai, kita perlu melakukan beberapa langkah lainnya.
- Konfigurasikan SNMP
Cadangkan file konfigurasi default dan salin contoh konfigurasi ke direktori '/etc/snmp/'.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Edit konfigurasi baru dengan vim.
vim /etc/snmp/snmpd.conf
Ganti baris 'RANDOMSTRINGGOESHERE' dengan nama komunitas Anda sendiri 'hakaselabs', seperti yang ditunjukkan di bawah ini.
com2sec readonly default hakaselabs
Simpan dan keluar.
Selanjutnya, kita perlu mengunduh skrip deteksi distro. Unduh menggunakan curl, lalu buat skrip dapat dieksekusi, lalu terakhir, restart layanan snmp.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
- Konfigurasi Crontab dan Logrotate
Buka direktori librenms dan salin contoh konfigurasi untuk Crontab dan Logrotate.
cd /opt/librenms/
Salin konfigurasinya.
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms
Sekarang restart layanan cron dan muat ulang konfigurasi logrotate.
systemctl restart cron
logrotate -f /etc/logrotate.conf
- Validasi Konfigurasi
Tunggu beberapa saat hingga skrip cron berjalan di sistem. Setelah selesai, validasi dengan skrip 'validate.php'.
Buka direktori librenms dan jalankan skrip validasi.
cd /opt/librenms/
./validate.php
Jika instalasi Anda benar, Anda akan mendapatkan hasil seperti yang ditunjukkan di bawah ini.
Instalasi LibreNMS dengan Nginx Webserver di Ubuntu 16.04 selesai.