LibreNMS adalah alat pemantauan sumber terbuka berdasarkan PHP/MYSQL/SNMP. Ini adalah sistem pemantauan jaringan berfitur lengkap yang menyediakan dukungan untuk berbagai perangkat keras jaringan dan sistem operasi termasuk, FreeBSD, Cisco, Linux, HP, dan banyak lagi.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi LibreNMS menggunakan Nginx sebagai server web dan MariaDB sebagai database. Kami akan menggunakan server CentOS 7 sebagai server utama kami.
Apa yang akan kami lakukan
- Instal paket yang diperlukan
- Instal server Web Nginx
- Instal dan konfigurasikan PHP-FPM
- Instal dan konfigurasikan MariaDB
- Unduh dan konfigurasikan LibreNMS
- Instalasi berbasis web LibreNMS
- Konfigurasi akhir
Prasyarat
- Server CentOS 7
- Hak istimewa root
Langkah 1 - Instal paket yang diperlukan
Sebelum menginstal LibreNMS di server, kita perlu menginstal beberapa paket, termasuk ImageMagick , rrdtool , SNMP , git , dan banyak lagi. Perintah berikut harus melakukan yang diperlukan:
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git
Jika semuanya berjalan dengan baik, lanjutkan ke langkah berikutnya.
Langkah 2 - Instal server Web Nginx
Pada langkah ini, kita akan menginstal epel-repository untuk instalasi server web nginx. Repositori EPEL (Extra Packages for Enterprise Linux) adalah repositori tambahan untuk OS berbasis rpm termasuk CentOS 7.
Instal repositori EPEL menggunakan yum perintah di bawah ini.
yum -y install epel-release
Sekarang instal nginx.
yum -y install nginx
Setelah instalasi nginx, mulai layanan dan aktifkan untuk berjalan secara otomatis saat boot menggunakan systemctl berikut perintah.
systemctl start nginx
systemctl enable nginx
Jadi server web Nginx telah diinstal pada sistem dari repositori EPEL.
Langkah 3 - Instal dan konfigurasikan PHP-FPM
Sebelum kita melanjutkan, berikut adalah beberapa informasi yang layak dibagikan:
Kami akan menggunakan PHP-FPM versi 7 untuk instalasi LibreNMS. Semua paket PHP 7 untuk CentOS 7 tersedia di repositori pihak ketiga, dan kami akan menggunakan versi PHP 7 dari repositori 'webtatic'.
Jadi mari kita mulai.
Tambahkan repositori webtatic PHP 7 ke sistem menggunakan perintah rpm berikut.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instal PHP 7 dan semua ekstensi yang diperlukan dari repositori basah menggunakan yum.
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt
Sekarang perbarui repositori PEAR dan instal beberapa ekstensi PEAR (PHP Extension and Application Repository) menggunakan pear perintah.
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
Jadi dengan cara ini Anda dapat menginstal semua paket PHP yang diperlukan.
Selanjutnya, konfigurasikan PHP-FPM untuk instalasi LibreNMS. Kita perlu menentukan zona waktu default di file php.ini dan memastikan zona waktu sesuai dengan zona waktu saat ini yang digunakan oleh sistem. Anda dapat memeriksa zona waktu saat ini yang digunakan oleh sistem Anda melalui perintah berikut.
timedatectl
Tangkapan layar berikut menunjukkan perintah di atas beraksi:
Jadi kami menggunakan 'Eropa/Paris ' zona waktu.
Sekarang, edit file '/etc/php.ini' menggunakan vim.
vim /etc/php.ini
Selanjutnya, batalkan komentar pada baris 'date.timezone' dan beri nilai dengan zona waktu server 'Europe/Paris'.
data.timezone = Europe/Paris
Demikian pula, batalkan komentar pada baris cgi dan ubah nilainya menjadi '0 '.
cgi.fix_pathinfo=0
Itu dia. Sekarang simpan perubahan dan keluar dari editor.
Selanjutnya, kita perlu mendefinisikan bagaimana PHP-FPM berjalan pada sistem. Dalam kasus kami, PHP-FPM akan berjalan di bawah file 'sock' alih-alih port server.
Edit file 'www.conf' dengan vim untuk mengkonfigurasi PHP-FPM.
vim /etc/php-fpm.d/www.conf
Ubah baris port 'listen' menjadi sock file seperti di bawah ini.
listen = /var/run/php-fpm/php7.0-fpm.sock
Batalkan komentar pada baris 'dengarkan' untuk pemilik, grup, dan izin file kaus kaki sebagai konfigurasi di bawah ini.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Itu dia. Sekarang simpan perubahan dan keluar dari editor.
Jadi konfigurasi PHP-FPM sudah selesai. Mulai layanan dan aktifkan untuk berjalan secara otomatis pada saat boot menggunakan perintah berikut.
systemctl start php-fpm
systemctl enable php-fpm
Sekarang PHP-FPM berjalan di bawah file kaus kaki. Anda dapat memeriksanya dengan perintah netstat.
netstat -pl | grep php
Pastikan Anda memiliki hasil dari file '/var/run/php-fpm/php7.0-fpm.sock'.
Langkah 4 - Instal dan konfigurasikan MariaDB
LibreNMS menggunakan database MySQL untuk menyimpan semua data. Untuk panduan ini, kami akan menggunakan versi database MariaDB. Ini tersedia di repositori, dan kita perlu menginstal dan menambahkan beberapa konfigurasi untuk instalasi LibreNMS, termasuk menambahkan database dan pengguna untuk LibreNMS.
Instal MariaDB menggunakan perintah yum di bawah ini.
yum -y install mariadb mariadb-server
Mulai layanan MariaDB dan aktifkan untuk memulai secara otomatis saat boot.
systemctl start mariadb
systemctl enable mariadb
Sekarang konfigurasikan sandi root MariaDB menggunakan perintah 'mysql_secure_installation' di bawah.
mysql_secure_installation
Anda akan ditanya tentang kata sandi root baru untuk database MariaDB bersama dengan beberapa pertanyaan lainnya.
Ketik 'Y' dan tekan Enter untuk mengonfirmasi.
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
Jadi MariaDB telah diinstal. Sekarang kita perlu membuat database baru dan pengguna baru untuk LibreNMS. Masuk ke baris perintah shell mysql menggunakan klien mysql dan dengan kata sandi baru Anda.
mysql -u root -p
Buat database baru bernama 'librenms ', pengguna baru 'librenms ' dengan sandi 'hakase-labs123 '.
Buat semuanya menggunakan kueri MySQL di bawah ini.
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;
Pengguna dan database baru untuk instalasi LibreNMS telah dibuat.
Sekarang Anda perlu mengedit file my.cnf untuk menambahkan konfigurasi mysql baru. Edit file '/etc/my.cnf' menggunakan vim.
vim /etc/my.cnf
Tempelkan konfigurasi tambahan berikut di bawah '[mysqld] bagian '.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Simpan dan keluar dari vim, lalu mulai ulang server mariadb.
systemctl restart mariadb
Langkah 5 - Unduh dan konfigurasikan LibreNMS
Pada langkah ini, kita akan mengkonfigurasi sistem untuk instalasi LibreNMS.
- Tambahkan pengguna dan unduh kode sumber LibreNMS
Buat pengguna sistem baru bernama 'librenms', lalu tentukan direktori home untuk pengguna di direktori '/opt/librenms', dan terakhir tambahkan pengguna 'librenms' ke grup 'nginx'.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx
Buka direktori '/opt/' dan unduh kode sumber LibreNMS menggunakan git clone perintah seperti di bawah ini.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Buat direktori baru untuk log LibreNMS dan file rrd.
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/
Sekarang ubah kepemilikan semua file dan direktori di bawah direktori '/opt/librenms' menjadi pengguna dan grup 'librenms'.
chown -R librenms:librenms /opt/librenms/
- Konfigurasikan host virtual LibreNMS
LibreNMS adalah aplikasi berbasis Web dan kami menggunakan server web Nginx untuk menghostingnya.
Buat file host virtual baru 'librenms.conf' di bawah direktori nginx 'conf.d'.
vim /etc/nginx/conf.d/librenms.conf
Tempelkan konfigurasi di bawah.
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:/var/run/php-fpm/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Itu dia. Sekarang simpan dan keluar dari Vim.
Uji konfigurasi nginx dan pastikan tidak ada kesalahan. Kemudian restart server web.
nginx -t
systemctl restart nginx
- Konfigurasi Firewalld
Pastikan firewalld paket diinstal pada sistem Anda. Jika tidak, Anda dapat menginstal firewalld menggunakan perintah yum berikut.
yum -y install firewalld
Mulai firewall dan aktifkan untuk dijalankan saat boot menggunakan perintah systemctl berikut.
systemctl start firewalld
systemctl enable firewalld
Buka HTTP baru, HTTPS, dan port SNMP 161/udp menggunakan perintah firewall-cmd seperti yang ditunjukkan di bawah ini.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanent
Terapkan konfigurasi dengan memuat ulang firewalld, dan periksa semua layanan.
firewall-cmd --reload
firewall-cmd --list-all
Pastikan layanan HTTP dan HTTPS ada dalam daftar.
Langkah 6 - instalasi berbasis web LibreNMS
Buka browser web Anda dan ketik URL LibreNMS di bilah alamat.
http://librenms.hakase-labs.me/
Anda akan diarahkan ke halaman instalasi 'install.php'.
- Periksa dukungan Modul PHP
Pastikan semua modul dan ekstensi php yang diperlukan telah terinstal di sistem.
Kemudian klik 'Tahap Berikutnya' untuk melanjutkan.
- Konfigurasi Basis Data
Ketik detail database di bawah ini:
- Pengguna DB:'librenms '
- Nama DB:'librenms '
- Kartu DB:'hakase-labs123 '
Dan klik 'Tahap Berikutnya' untuk melanjutkan.
- Impor Database MySQL
Jangan tutup halaman instalasi karena akan menampilkan impor database. Pastikan tidak ada kesalahan.
Setelah proses selesai, klik 'Goto Add User' untuk menambahkan pengguna admin baru.
- Tambahkan Pengguna Admin
Ketikkan pengguna admin, email, dan kata sandi Anda.
Klik 'Tambah Pengguna' untuk melanjutkan penginstalan.
- Buat file konfigurasi
Klik tombol 'Generate Config', dan Anda akan melihat halaman seperti berikut.
Salin kode php yang ada di dalam kotak, dan buat file 'config.php' baru di direktori '/opt/librenms/'.
cd /opt/librenms/
vim config.php
Rekatkan di file baru kode yang baru saja Anda salin, lalu simpan dan dan keluar dari editor. Sekarang ubah izin kepemilikan file config.php menjadi pengguna dan grup 'librenms'.
chown librenms:librenms config.php
Kembali ke browser Anda dan klik tombol 'Finish Install' yang ada di bagian bawah halaman. Anda akan melihat pesan selamat datang yang mirip dengan berikut ini.
Pada tahap ini, kita selesai dengan instalasi berbasis web. Kembali ke terminal/shell dan tambahkan konfigurasi lainnya.
Langkah 7 - Konfigurasi akhir
Pada langkah ini, kami akan menambahkan beberapa konfigurasi untuk instalasi LibreNMS kami.
- Tentukan Perintah fping
Tentukan perintah 'fping' dengan mengedit file konfigurasi LibreNMS. Buka direktori '/opt/librenms/' dan edit file config.php menggunakan editor vim.
cd /opt/librenms/
vim config.php
Tambahkan baris berikut ke bagian bawah file.
$config['fping'] = "/usr/sbin/fping";
Simpan dan keluar dari editor.
- Konfigurasi SNMP
Cadangkan file snmp.conf default pada direktori '/etc/snmp/' dan salin yang baru dari direktori librenms.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Edit konfigurasi baru.
vim /etc/snmp/snmpd.conf
Ubah teks 'RANDOMSTRINGGOESHERE' dengan nama komunitas Anda sendiri seperti di bawah ini.
com2sec readonly default hakaselabs
Itu dia. Simpan dan keluar dari Vim.
Selanjutnya, unduh librenms-agent skrip untuk mendeteksi sistem operasi mana yang telah Anda tambahkan. Jika Anda menambahkan OS Linux, skrip juga akan mendeteksi distribusi Linux tertentu.
Unduh skrip menggunakan curl dan buat agar dapat dieksekusi.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
Sekarang restart layanan SNMP menggunakan perintah systemctl berikut.
systemctl restart snmpd
- Konfigurasi Logrotate untuk LibreNMS
LibreNMS menyediakan konfigurasi untuk konfigurasi logrotate, dan itu ada di direktori '/opt/librenms/misc'.
Salin contoh konfigurasi ke direktori '/etc/logrotate.d'.
cp misc/librenms.logrotate /etc/logrotate.d/librenms
- Konfigurasi cronjob LibreNMS
Buka direktori 'opt/librenms' dan salin file skrip crontab 'librenms.nonroot.cron' ke direktori 'cron.d'.
cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenms
Tunggu beberapa menit hingga skrip berjalan secara otomatis.
- Validasi Konfigurasi LibreNMS
Untuk memverifikasi instalasi, gunakan validate.php naskah. Buka direktori '/opt/librenms/' dan jalankan skripnya.
cd /opt/librenms/
./validate.php
Dengan asumsi Anda tidak menemukan kesalahan, Anda akan melihat output yang mirip dengan berikut:
Jadi ini menyelesaikan Instalasi LibreNMS dengan server web Nginx di CentOS 7.