LibreNMS je open source monitorovací nástroj založený na PHP/MYSQL/SNMP. Je to plně vybavený systém 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 a dalších.
V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat LibreNMS pomocí Nginx jako webového serveru a MariaDB jako databáze. Jako náš hlavní server budeme používat server CentOS 7.
Co uděláme
- Nainstalujte požadované balíčky
- Nainstalujte webový server Nginx
- Nainstalujte a nakonfigurujte PHP-FPM
- Nainstalujte a nakonfigurujte MariaDB
- Stáhněte si a nakonfigurujte LibreNMS
- Webová instalace LibreNMS
- Konečná konfigurace
Předpoklad
- Server CentOS 7
- Oprávnění uživatele root
Krok 1 – Instalace požadovaných balíčků
Před instalací LibreNMS na server musíme nainstalovat některé balíčky, včetně ImageMagick , rrdtool , SNMP , git , a více. Následující příkaz by měl provést potřebné:
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git
Pokud je vše v pořádku, pokračujte dalším krokem.
Krok 2 – Instalace webového serveru Nginx
V tomto kroku nainstalujeme epel-repository pro instalaci webového serveru nginx. Úložiště EPEL (Extra Packages for Enterprise Linux) je dalším úložištěm pro OS založené na rpm včetně CentOS 7.
Nainstalujte úložiště EPEL pomocí yum příkaz níže.
yum -y install epel-release
Nyní nainstalujte nginx.
yum -y install nginx
Po instalaci nginx spusťte službu a povolte její automatické spouštění při spouštění pomocí následujícího systemctl příkazy.
systemctl start nginx
systemctl enable nginx
Takže webový server Nginx byl nainstalován do systému z úložiště EPEL.
Krok 3 – Instalace a konfigurace PHP-FPM
Než budeme pokračovat, zde je několik informací, které stojí za to sdílet:
Pro instalaci LibreNMS budeme používat PHP-FPM verze 7. Všechny balíčky PHP 7 pro CentOS 7 jsou dostupné v úložišti třetích stran a my budeme používat verzi PHP 7 z úložiště „webtatic“.
Takže začneme.
Přidejte PHP 7 webtatic repository do systému pomocí následujícího příkazu rpm.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Nainstalujte PHP 7 a všechna potřebná rozšíření z weatic repository pomocí yum.
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt
Nyní aktualizujte úložiště PEAR a nainstalujte některá rozšíření PEAR (PHP Extension and Application Repository) pomocí pear příkaz.
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
Takže tímto způsobem můžete nainstalovat všechny požadované balíčky PHP.
Dále nakonfigurujte PHP-FPM pro instalaci LibreNMS. 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. Aktuální časové pásmo používané vaším systémem můžete zkontrolovat pomocí následujícího příkazu.
timedatectl
Následující snímek obrazovky ukazuje výše uvedený příkaz v akci:
Takže používáme 'Evropa/Paříž ' časové pásmo.
Nyní upravte soubor '/etc/php.ini' pomocí vim.
vim /etc/php.ini
Dále odkomentujte řádek 'date.timezone' a zadejte hodnotu s časovým pásmem serveru 'Europe/Paris'.
data.timezone = Europe/Paris
Podobně odkomentujte řádek cgi a změňte hodnotu na '0 '.
cgi.fix_pathinfo=0
A je to. Nyní uložte změny a ukončete editor.
Dále musíme definovat, jak PHP-FPM běží v systému. V našem případě bude PHP-FPM běžet pod souborem 'sock' namísto portu serveru.
Upravte soubor 'www.conf' pomocí vim pro konfiguraci PHP-FPM.
vim /etc/php-fpm.d/www.conf
Změňte řádek portu 'naslouchat' na soubor ponožky, jak je uvedeno níže.
listen = /var/run/php-fpm/php7.0-fpm.sock
Odkomentujte řádek 'poslouchat' pro vlastníka, skupinu a oprávnění souboru ponožky podle konfigurace níže.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
A je to. Nyní uložte změny a ukončete editor.
Konfigurace PHP-FPM je nyní dokončena. Spusťte službu a povolte její automatické spouštění při spouštění pomocí následujících příkazů.
systemctl start php-fpm
systemctl enable php-fpm
Nyní PHP-FPM běží pod sock souborem. Můžete to zkontrolovat pomocí příkazu netstat.
netstat -pl | grep php
Ujistěte se, že máte výsledek souboru '/var/run/php-fpm/php7.0-fpm.sock'.
Krok 4 – Instalace a konfigurace MariaDB
LibreNMS používá k ukládání všech dat databázi MySQL. V této příručce budeme používat verzi databáze MariaDB. Je k dispozici v úložišti a my potřebujeme nainstalovat a přidat nějakou konfiguraci pro instalaci LibreNMS, včetně přidání databáze a uživatele pro LibreNMS.
Nainstalujte MariaDB pomocí příkazu yum níže.
yum -y install mariadb mariadb-server
Spusťte službu MariaDB a povolte její automatické spouštění při spouštění.
systemctl start mariadb
systemctl enable mariadb
Nyní nakonfigurujte kořenové heslo MariaDB pomocí příkazu 'mysql_secure_installation' níže.
mysql_secure_installation
Budete dotázáni na nové heslo uživatele root pro databázi MariaDB spolu s dalšími otázkami.
Napište „Y“ a potvrďte 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
MariaDB byla tedy nainstalována. Nyní potřebujeme vytvořit novou databázi a nového uživatele pro LibreNMS. Přihlaste se do příkazového řádku mysql shell pomocí klienta mysql a pomocí svého nového hesla.
mysql -u root -p
Vytvořte novou databázi s názvem 'librenms ', nový uživatel 'librenms s heslem 'hakase-labs123 '.
Vytvořte vše pomocí dotazů MySQL níže.
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;
Byl vytvořen nový uživatel a databáze pro instalaci LibreNMS.
Nyní musíte upravit soubor my.cnf a přidat novou konfiguraci mysql. Upravte soubor '/etc/my.cnf' pomocí vim.
vim /etc/my.cnf
Vložte následující další konfiguraci pod '[mysqld] '.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Uložte a ukončete vim a poté restartujte server mariadb.
systemctl restart mariadb
Krok 5 – Stažení a konfigurace LibreNMS
V tomto kroku nakonfigurujeme systém pro instalaci LibreNMS.
- Přidat uživatele a stáhnout zdrojový kód LibreNMS
Vytvořte nového systémového uživatele s názvem 'librenms', poté definujte domovský adresář pro uživatele v adresáři '/opt/librenms' a nakonec přidejte uživatele 'librenms' do skupiny 'nginx'.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx
Přejděte do adresáře '/opt/' a stáhněte si zdrojový kód LibreNMS pomocí git clone příkaz jako níže.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Vytvořte nový adresář pro protokoly LibreNMS a soubory rrd.
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/
Nyní změňte vlastnictví všech souborů a adresářů v adresáři '/opt/librenms' na uživatele a skupinu 'librenms'.
chown -R librenms:librenms /opt/librenms/
– Konfigurace virtuálního hostitele LibreNMS
LibreNMS je webová aplikace a k jejímu hostování používáme webový server Nginx.
Vytvořte nový soubor virtuálního hostitele 'librenms.conf' v adresáři nginx 'conf.d'.
vim /etc/nginx/conf.d/librenms.conf
Vložte konfiguraci níže.
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;
}
}
A je to. Nyní uložte a ukončete Vim.
Otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě. Poté restartujte webový server.
nginx -t
systemctl restart nginx
– Konfigurace brány firewall
Zkontrolujte, zda je firewalld balíčky jsou nainstalovány ve vašem systému. Pokud ne, můžete firewall nainstalovat pomocí následujícího příkazu yum.
yum -y install firewalld
Spusťte firewall a povolte jeho spuštění při spouštění pomocí následujících příkazů systemctl.
systemctl start firewalld
systemctl enable firewalld
Otevřete nový HTTP, HTTPS a port SNMP 161/udp pomocí příkazu firewall-cmd, jak je uvedeno níže.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanent
Použijte konfiguraci znovu načtením firewallu a zkontrolujte všechny služby.
firewall-cmd --reload
firewall-cmd --list-all
Ujistěte se, že jsou na seznamu služby HTTP a HTTPS.
Krok 6 – webová instalace LibreNMS
Otevřete webový prohlížeč a do adresního řádku zadejte LibreNMS URL.
http://librenms.hakase-labs.me/
Budete přesměrováni na instalační stránku 'install.php'.
– Zkontrolujte podporu modulů PHP
Ujistěte se, že jsou v systému nainstalovány všechny požadované php moduly a rozšíření.
Poté pokračujte kliknutím na 'Další fáze'.
– Konfigurace databáze
Níže zadejte podrobnosti o databázi:
- Uživatel DB:'librenms '
- Název DB:'librenms '
- DB Pass:'hakase-labs123 '
A pokračujte kliknutím na 'Další fáze'.
– Import databáze MySQL
Nezavírejte instalační stránku, protože zobrazí import databáze. Ujistěte se, že nejsou žádné chyby.
Po dokončení procesu klikněte na „Přejít na Přidat uživatele“ a přidejte nového uživatele admin.
– Přidat administrátora
Zadejte svého administrátora, e-mail a heslo.
Klikněte na 'Add User' pro pokračování v instalaci.
– Vygenerovat konfigurační soubor
Klikněte na tlačítko 'Generate Config' a zobrazí se stránka podobná následující.
Zkopírujte php kód, který je v krabici, a vytvořte nový soubor 'config.php' v adresáři '/opt/librenms/'.
cd /opt/librenms/
vim config.php
Vložte do nového souboru kód, který jste právě zkopírovali, a poté uložte a ukončete editor. Nyní změňte oprávnění k vlastnictví souboru config.php na uživatele a skupinu 'librenms'.
chown librenms:librenms config.php
Vraťte se do prohlížeče a klikněte na tlačítko 'Dokončit instalaci' ve spodní části stránky. Zobrazí se uvítací zpráva podobná následující.
V této fázi jsme hotovi s webovou instalací. Vraťte se do terminálu/shell a přidejte další konfiguraci.
Krok 7 – Konečná konfigurace
V tomto kroku přidáme nějakou konfiguraci pro naši instalaci LibreNMS.
– Definice příkazu fping
Definujte příkaz 'fping' úpravou konfiguračního souboru LibreNMS. Přejděte do adresáře '/opt/librenms/' a upravte soubor config.php pomocí editoru vim.
cd /opt/librenms/
vim config.php
Přidejte následující řádek na konec souboru.
$config['fping'] = "/usr/sbin/fping";
Uložte a ukončete editor.
– Konfigurace SNMP
Zálohujte výchozí soubor snmp.conf do adresáře '/etc/snmp/' a zkopírujte nový z adresáře librenms.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Upravte novou konfiguraci.
vim /etc/snmp/snmpd.conf
Změňte text „RANDOMSTRINGGOESHERE“ svým vlastním názvem komunity, jak je uvedeno níže.
com2sec readonly default hakaselabs
A je to. Uložte a ukončete Vim.
Dále si stáhněte librenms-agent skript pro zjištění, který operační systém jste přidali. Pokud přidáte OS Linux, skript také zjistí konkrétní distribuci Linuxu.
Stáhněte skript pomocí curl a vytvořte jej spustitelný.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
Nyní restartujte službu SNMP pomocí následujícího příkazu systemctl.
systemctl restart snmpd
- Konfigurace Logrotate pro LibreNMS
LibreNMS poskytuje konfiguraci pro konfiguraci logrotate a je v adresáři '/opt/librenms/misc'.
Zkopírujte ukázku konfigurace do adresáře '/etc/logrotate.d'.
cp misc/librenms.logrotate /etc/logrotate.d/librenms
– Konfigurace cronjob LibreNMS
Přejděte do adresáře 'opt/librenms' a zkopírujte skript crontab 'librenms.nonroot.cron' do adresáře 'cron.d'.
cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenms
Počkejte několik minut, než se skript spustí automaticky.
- Ověřte konfiguraci LibreNMS
Pro ověření instalace použijte validate.php skript. Přejděte do adresáře '/opt/librenms/' a spusťte skript.
cd /opt/librenms/
./validate.php
Za předpokladu, že nenarazíte na žádné chyby, měli byste vidět výstup podobný následujícímu:
Tím je instalace LibreNMS s webovým serverem Nginx na CentOS 7 dokončena.