LibreNMS je open source monitorovací nástroj založený na PHP/MYSQL/SNMP. Je to systém pro monitorování sítě, který poskytuje podporu pro širokou škálu síťového hardwaru a operačních systémů včetně FreeBSD, Cisco, Linux, HP atd.
V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat open source monitorovací nástroj „LibreNMS“ pomocí Nginx jako webového serveru, MariaDB jako databáze a serveru Ubuntu 16.04 jako našeho hlavního serveru. Provedeme vás krok za krokem, jak nainstalovat a nakonfigurovat 'LibreNMS' na serveru Ubuntu 16.04 Xenial Xerus.
Co uděláme
- Instalovat balíčky
- Nainstalujte webový server Nginx
- Nainstalujte a nakonfigurujte PHP-FPM
- Nainstalujte a nakonfigurujte MariaDB
- Stáhněte si a nakonfigurujte LibreNMS
- Webový instalační program LibreNMS
- Konečná konfigurace
Předpoklady
- Server Ubuntu 16.04
- Kořenová oprávnění
Krok 1 – Instalace balíčků
Prvním krokem, který musíme udělat pro instalaci LibreNMS Monitoring Tools, je nainstalovat na server nějaké potřebné balíčky. Připojte se ke svému serveru a aktualizujte úložiště.
ssh [email protected]
sudo apt update
Nainstalujte všechny požadované balíčky pro LibreNMS z úložiště Ubuntu pomocí následujícího příkazu.
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
Po dokončení instalace přejděte k dalšímu kroku.
Krok 2 – Instalace webového serveru Nginx
V tomto tutoriálu budeme provozovat LibreNMS pod webovým serverem Nginx. Nginx je výkonný webový server, který je dostupný v úložištích Ubuntu.
Nainstalujte nginx pomocí příkazu apt z úložiště následujícím způsobem.
apt install nginx
Až budete hotovi, spusťte službu a povolte její automatické spuštění při každém spouštění systému.
systemctl start nginx
systemctl enable nginx
Webový server Nginx běží pod výchozím portem 80. Můžeme zkontrolovat port pomocí příkazu netstat a zkontrolovat Nginx pomocí příkazu curl, abychom získali stavový kód HTTP, jak je uvedeno níže.
netstat -plntu | grep 80
curl -I localhost
Instalace Nginx byla dokončena.
Krok 3 – Instalace a konfigurace PHP-FPM
LibreNMS je nástroj pro monitorování webových aplikací založený na PHP. Nabízí podporu pro novou verzi PHP 7.0 a my ji budeme používat v této příručce.
Nainstalujte PHP, PHP-FPM a všechna rozšíření/moduly potřebné pro instalaci LibreNMS pomocí příkazu apt níže.
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
Dále musíme přidat nějakou konfiguraci do souborů php.ini. Musíme definovat výchozí časové pásmo v souboru php.ini a ujistit se, že časové pásmo odpovídá aktuálnímu časovému pásmu používanému systémem.
Zkontrolujte aktuální časové pásmo používané systémem pomocí následujícího příkazu.
timedatectl
Měli byste získat výsledek podobný následujícímu.
Můžete vidět, že server používá 'Evropa/Paříž ' časové pásmo.
Nyní přejděte do konfiguračního adresáře PHP a upravte soubory php.ini pro konfiguraci cli a fpm.
cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini
Odkomentujte 'date.time ' a změňte hodnotu podle našeho časového pásma systému 'Evropa/Paříž '.
date.time = Europe/Paris
Níže odkomentujte konfiguraci cgi, změňte hodnotu na 0.
cgi.fix_pathinfo = 0
Uložte a ukončete.
Veškerá konfigurace je dokončena. Nyní spusťte službu a povolte její spuštění při každém spuštění systému pomocí následujících příkazů systemctl.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM nyní běží na ubuntu serveru - běží pod sock souborem. Zkontrolujte to pomocí příkazu netstat.
netstat -pl | grep php
Krok 4 – Instalace a konfigurace MariaDB
V tomto kroku nainstalujeme mariadb-server pro databázi LibreNMS. Nainstalujeme, nakonfigurujeme a vytvoříme novou databázi a nového uživatele pro instalaci LibreNMS.
Nainstalujte mariadb-server z úložiště ubuntu pomocí příkazu apt níže.
apt install mariadb-server mariadb-client mariadb
Až budete hotovi, spusťte službu a povolte její automatické spouštění při spouštění systému, což můžete provést pomocí následujících příkazů systemctl.
systemctl start mysql
systemctl enable mysql
Databázový server mariadb je nyní spuštěn. Dále musíme nakonfigurovat heslo uživatele root pro mariadb. Ke konfiguraci hesla uživatele root můžeme použít příkaz 'mysql_secure_installation' níže.
mysql_secure_installation
Budete dotázáni na nové heslo root - zadejte své heslo a pokračujte stisknutím klávesy 'Enter'.
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
Heslo uživatele root pro mariadb bylo nakonfigurováno.
Dále musíme vytvořit novou databázi a uživatele pro LibreNMS. Vytvoříme novou databázi s názvem 'librenms', nového uživatele s názvem 'librenms' s heslem 'hakase-labs123'.
Přihlaste se do prostředí mariadb pomocí následujícího příkazu.
mysql -u root -p
Type the ROOT Password:
Spuštěním dotazů mariadb níže vytvořte novou databázi a uživatele a udělte veškerá oprávnění k databázi novému uživateli.
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;
Byla vytvořena nová databáze a uživatel pro LibreNMS.
Pro instalaci LibreNMS musíme do konfiguračního souboru přidat nějakou konfiguraci. Přejděte do adresáře '/etc/mysql/' a upravte konfigurační soubor mariadb.
cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf
Vložte konfiguraci níže pod '[mysqld] '.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Uložte a ukončete.
Nyní použijte novou konfiguraci restartováním služby.
systemctl restart mysql
Konfigurace databáze mariadb byla dokončena.
Krok 5 – Stažení a konfigurace LibreNMS
V tomto kroku nakonfigurujeme systém pro instalaci LibreNMS.
- Přidat nového uživatele a stáhnout LibreNMS
Vytvořte nového systémového uživatele s názvem 'librenms', definujte '/opt/librenms' jako výchozí domovský adresář pro uživatele a přiřaďte nového uživatele 'librenms' do skupiny www-data.
Vše provedete spuštěním následujícího příkazu.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
Nyní přejděte do adresáře '/opt/' a stáhněte si zdrojový kód LibreNMS pomocí příkazu git.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Dále vytvořte nový adresář pro soubory protokolu libreNMS a soubory rrd.
mkdir -p /opt/librenms/{logs,rrd}
Změňte oprávnění vlastnictví pro adresář 'rrd' na '775' a změňte vlastníka adresáře 'librenms' na uživatele a skupinu 'librenms'.
chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/
Byly vytvořeny nové „librenmy“ a byl stažen zdrojový kód LibreNMS.
– Konfigurace virtuálního hostitele LibreNMS
Přejděte do konfiguračního adresáře 'nginx' a vytvořte nový soubor virtuálního hostitele 'librenms' pomocí vim
cd /etc/nginx/
vim sites-available/librenms
Zde vložte následující konfiguraci virtuálního hostitele LibreNMS.
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;
}
}
Uložit a odejít. Nyní aktivujte virtuálního hostitele.
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě. Poté restartujte službu.
nginx -t
systemctl restart nginx
– Konfigurace brány UFW Firewall
Přidejte nové porty do brány firewall. Přidejte nové ssh, http, https a port používaný typem snmpd 161 udp do brány firewall ufw.
Spusťte následující příkazy ufw.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp
Spusťte ufw firewall pomocí příkazu ufw enable, jak je znázorněno níže.
ufw enable
Napište „y“ a potvrďte stisknutím „Enter“. Spusťte a povolte jeho spuštění při každém spuštění systému.
Pokud chcete vidět stav brány firewall, spusťte příkaz 'ufw status'.
ufw status
Získáte stav brány firewall – aktivní nebo neaktivní – a seznam portů a služeb přidaných do brány firewall.
Krok 6 – Webový instalační program LibreNMS
Po dokončení všech výše uvedených kroků musíme nainstalovat LibreNMS prostřednictvím webového prohlížeče. Otevřete webový prohlížeč, do adresního řádku zadejte název domény LibreNMS „librenms.hakase-labs.co“ a stiskněte Enter.
– Kontrola modulů PHP
Budete přesměrováni na stránku install.php s výsledkem kontrol podpory modulů PHP. Ujistěte se, že všechny stavy jsou zelené, jak je znázorněno níže.
Klikněte na 'Další fáze ' pokračovat.
- Konfigurace databáze
Vyplňte všechny databázové informace vlastním db.
- Uživatel DB:librenms
- DB Pass:hakase-labs123
- Název DB:librenms
A klikněte na 'Další fáze '.
- Import databáze MySQL
Počkejte, až instalační skript importuje ukázku databáze do naší databáze – během tohoto procesu nezavírejte kartu prohlížeče.
Po importu všech db klikněte na 'Přejít na přidání uživatele '.
- Přidat administrátora
Zde zadejte svého administrátora, e-mail a heslo.
Klikněte na 'Přidat uživatele '.
- Generovat LibreNMS Config
Klikněte na 'Generate Config '.
A získáte konfigurační soubor podobný tomu, který je zobrazen níže.
Zkopírujte konfigurační skript php a vraťte se do ssh relace. Přejděte do adresáře '/opt/librenms' a ručně vytvořte soubor 'config.php' pomocí vim.
cd /etc/librenms/
vim config.php
Vložte tam konfiguraci a změňte vlastnictví souboru na librenms user and group.
chown librenms:librenms config.php
Vraťte se do webového prohlížeče a klikněte na 'Dokončit instalaci '.
Nyní se dostanete na poslední stránku webového instalačního programu librenms – viz níže.
Krok 7 – Konečná konfigurace
Po dokončení instalace prostřednictvím webového prohlížeče musíme provést několik dalších kroků.
– Konfigurace SNMP
Zálohujte výchozí konfigurační soubor a zkopírujte ukázkovou konfiguraci do adresáře '/etc/snmp/'.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Upravte novou konfiguraci pomocí vim.
vim /etc/snmp/snmpd.conf
Nahraďte řádek „RANDOMSTRINGGOESHERE“ svým vlastním názvem komunity „hakaselabs“, jak je znázorněno níže.
com2sec readonly default hakaselabs
Uložte a ukončete.
Dále si musíme stáhnout skript detekce distribuce. Stáhněte si jej pomocí curl, poté vytvořte spustitelný skript a nakonec restartujte službu snmp.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
– Konfigurace Crontab a Logrotate
Přejděte do adresáře librenms a zkopírujte ukázkovou konfiguraci pro Crontab a Logrotate.
cd /opt/librenms/
Zkopírujte konfiguraci.
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms
Nyní restartujte službu cron a znovu načtěte konfiguraci logrotate.
systemctl restart cron
logrotate -f /etc/logrotate.conf
- Ověřit konfiguraci
Počkejte nějakou dobu, než se v systému spustí skript cron. Jakmile to uděláte, ověřte pomocí skriptu 'validate.php'.
Přejděte do adresáře librenms a spusťte validační skript.
cd /opt/librenms/
./validate.php
Pokud je vaše instalace správná, dostanete výsledek, jak je znázorněno níže.
Instalace LibreNMS s webovým serverem Nginx na Ubuntu 16.04 je dokončena.