Weboldal keresés

LibreNMS – Teljes funkcionalitású hálózati megfigyelő eszköz Linuxhoz


A LibreNMS egy nyílt forráskódú, hatékony és funkciókban gazdag, automatikusan felfedező PHP alapú hálózatfigyelő rendszer, amely az SNMP protokollt használja. Támogatja az operációs rendszerek széles skáláját, beleértve a Linuxot, a FreeBSD-t, valamint a hálózati eszközöket, mint például a Cisco, a Juniper, a Brocade, a Foundry, a HP és még sok más.

A LibreNMS jellemzői:

  1. Ezekkel a protokollokkal automatikusan felfedez egy teljes hálózatot: CDP, FDP, LLDP, OSPF, BGP, SNMP és ARP.
  2. Mobilbarát webes felhasználói felülettel rendelkezik, testreszabható irányítópultokkal.
  3. Támogatja a Unix ügynököt.
  4. Támogatja a vízszintes méretezést a hálózattal való bővítéshez.
  5. Támogatja a rendkívül rugalmas és testreszabható riasztási rendszert; értesítéseket küld e-mailen, irc-en, slack-en és egyebeken keresztül.
  6. Támogat egy API-t az adatok kezeléséhez, grafikonjainak megjelenítéséhez és a rendszerből való lekéréséhez.
  7. Forgalomszámlázási rendszert kínál.
  8. Támogatja az Android és iOS alkalmazásokat is, amelyek alapvető funkciókat kínálnak.
  9. Támogatja az NfSen, gyűjtött, SmokePing, RANCID és Oxidized integrációját.
  10. Több hitelesítési módszert támogat, például a MySQL, HTTP, LDAP, Radius és Active Directory.
  11. Lehetővé teszi az automatikus frissítést és sok más funkciót.

A LibreNMS Linux rendszerekre történő telepítése előtt kipróbálhatja az online bemutatót.

Demo URL: https://demo.librenms.org/
Username: demo
Password: demo

Tesztkörnyezet:

  1. Ubuntu 16.04 LEMP Stack-el
  2. CentOS 7 LEMP Stack-el

Ebben az oktatóanyagban megtudjuk, hogyan kell telepíteni a LibreNMS Network Monitoring Tool eszközt egy frissen telepített Ubuntu vagy CentOS Linuxra (ugyanez az utasítás működik on is >Debian és RHEL alapú disztribúciók).

MEGJEGYZÉS: A cikkben található összes utasítást root felhasználóként kell futtatni, ha nem, akkor a sudo paranccsal szerezze be a root felhasználót. felhasználói jogosultságokat.

1. lépés: Telepítse a szükséges csomagokat

1. Először is kezdje az összes szükséges csomag telepítésével az alapértelmezett csomagkezelő használatával, az ábra szerint.

Ubuntu/Debian alatt

sudo apt install composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.0-cli php7.0-curl php7.0-fpm php7.0-gd php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois

CentOS/RHEL rendszeren

yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install composer cronie fping git ImageMagick jwhois mariadb mariadb-server mtr MySQL-python net-snmp net-snmp-utils nginx nmap php72w php72w-cli php72w-common php72w-curl php72w-fpm php72w-gd php72w-mysql php72w-process php72w-snmp php72w-xml php72w-zip python-memcached rrdtool

2. Az összes csomag telepítése után az nginx, a php-fpm, a mariadb és az snmp< A szolgáltatások elindulnak, és engedélyezik az automatikus indítást rendszerindításkor (ez általában az Ubuntu esetében történik), ellenkező esetben az alábbi parancsok futtatásával indíthatja el és engedélyezheti őket.

------------ On Debian/Ubuntu ------------ 
sudo systemctl nginx start php7.0-fpm mysql snmp 
sudo systemctl enable nginx php7.0-fpm mysql snmp

------------ On CentOS/RHEL ------------ 
systemctl nginx start php-fpm mariadb snmpd 
systemctl enable nginx php-fpm mariadb snmpd

2. lépés: Telepítse a LibreNMS Monitoring Tool eszközt

3. Ezután hozzon létre egy librenms nevű rendszerfelhasználót a useradd paranccsal; ahol a -M jelző letiltja a felhasználó saját könyvtárának létrehozását, a -r pedig lehetővé teszi a rendszerfiók létrehozását. Ezután adja hozzá a librenms felhasználót a www-data csoporthoz (Ubuntu esetén) vagy nginx csoporthoz ( CentOS) az alábbiak szerint.

------------ On Debian/Ubuntu ------------ 
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms www-data   

------------ On CentOS/RHEL ------------ 
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx           

4. Ezután telepítse a LibreNMS-t a composer paranccsal az ábra szerint.

------------ On Debian/Ubuntu ------------ 
cd /opt
sudo composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master

------------ On CentOS/RHEL ------------ 
cd /opt
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master

3. lépés: Hozzon létre LibreNMS adatbázist

5. Mielőtt elkezdené használni a MariaDB szervert, biztonságossá kell tennie a telepítést, futtassa a bináris csomagban található biztonsági szkriptet. Kérni fogja, hogy állítson be root jelszót, távolítsa el az anonim felhasználókat, távolítsa el a root bejelentkezést, és távolítsa el a tesztadatbázist.

A szkriptet az alábbi parancs kiadásával indíthatja el, és minden kérdésre a yes/y-val válaszolhat.

sudo mysql_secure_installation   [On Debian/Ubuntu]
mysql_secure_installation        [On CentOS/RHEL]

6. Ezután jelentkezzen be a MariaDB adatbázisba, hogy létrehozzon egy adatbázist a LibreNMS számára (ne felejtsen el erős/biztonságos jelszót használni éles környezetben).

sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY '=@!#@%$libre';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

7. Ezt követően egyelőre tiltsa le a MySQL szigorú módot (a MySQL szigorú móddal való kompatibilitása még nem adható hozzá).

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf    [On Debian/Ubuntu]
vi /etc/my.cnf        [On CentOS/RHEL]

Kérjük, adja hozzá a [mysqld] szakaszhoz.

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Ezután indítsa újra az adatbázis-kiszolgálót a módosítások végrehajtásához.

sudo systemctl restart mysql     [On Debian/Ubuntu]
systemctl restart mariadb        [On CentOS/RHEL]

4. lépés: Konfigurálja és indítsa el a PHP-FPM-et

8. Ezután állítsa be a date.timezone értéket a php.ini fájlban az aktuális időzónára, például “Afrika/Kampala ”, ahogy az a következő képernyőképen látható.

------------ On Debian/Ubuntu ------------ 
sudo vim /etc/php/7.0/fpm/php.ini
sudo vim /etc/php/7.0/cli/php.ini

------------ On CentOS/RHEL ------------ 
vi /etc/php.ini

9. Ezután engedélyezze az mcrypt PHP modult az Ubuntu-ban, és indítsa újra a php-fpm elemet az ábrán látható módon.

------------ On Debian/Ubuntu ------------ 
sudo phpenmod mcrypt
sudo systemctl restart php7.0-fpm

10. A CentOS/RHEL rendszeren a következő módosításokat kell végrehajtania a php-fpm konfigurációs fájlban.

vi /etc/php-fpm.d/www.conf

Végezze el a következő módosításokat.

;user = apache
user = nginx

group = apache   ; keep group as apache

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php7.2-fpm.sock

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

11. Indítsa újra a php-fpm szolgáltatást az ábra szerint.

systemctl restart php-fpm

5. lépés: Az Nginx konfigurálása a LibreNMS-hez

12. Ebben a lépésben be kell állítania egy Nginx szerverblokkot a librenms számára a webes felhasználói felület eléréséhez. Hozzon létre hozzá egy .conf fájlt az ábra szerint.

sudo vim /etc/nginx/conf.d/librenms.conf     [On Debian/Ubuntu]
vi /etc/nginx/conf.d/librenms.conf           [On CentOS/RHEL]         

Adja hozzá a következő config-ot, és szükség szerint szerkessze a server_name-t.

server {
 listen      80;
 server_name librenms.example.com;
 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 /api/v0 {
  try_files $uri $uri/ /api_v0.php?$query_string;
 }
 location ~ \.php {
  include fastcgi.conf;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
 }
 location ~ /\.ht {
  deny all;
 }
}

13. Ezután mentse el, és lépjen ki a fájlból. Távolítsa el az alapértelmezett szerverblokk-konfigurációt is, és indítsa újra az Nginx szervert.

------------ On Debian/Ubuntu ------------ 
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl restart nginx

------------ On CentOS/RHEL ------------ 
systemctl restart nginx

MEGJEGYZÉS: A CentOS/RHEL rendszeren le kell tiltania az alapértelmezett webhely szakaszt, ha ez a csak az Ön által üzemeltetett webhely. Törölje a szerver részt az /etc/nginx/nginx.conf fájlból.

14. A CentOS/RHEL rendszeren is telepítenie kell a házirend eszközt a SELinux rendszerhez, és konfigurálnia kell a >kontextusokra, amelyekre a LibreNMS-nek szüksége van a következő parancsok használatával.

------------ On CentOS/RHEL ------------ 
yum install policycoreutils-python
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?'
restorecon -RFvv /opt/librenms/logs/
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/rrd(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/rrd(/.*)?'
restorecon -RFvv /opt/librenms/rrd/
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1

15. Engedélyezze az fping szolgáltatást a következő tartalommal rendelkező http_fping.tt fájl létrehozásával.

module http_fping 1.0;

require {
type httpd_t;
class capability net_raw;
class rawip_socket { getopt create setopt write read };
}

#============= httpd_t ==============
allow httpd_t self:capability net_raw;
allow httpd_t self:rawip_socket { getopt create setopt write read };

16. Ezután futtassa ezeket a parancsokat.

------------ On CentOS/RHEL ------------ 
checkmodule -M -m -o http_fping.mod http_fping.tt
semodule_package -o http_fping.pp -m http_fping.mod
semodule -i http_fping.pp

17. Ha tűzfalat használ a CentOS/RHEL rendszeren, engedélyezze a HTTP/HTTPS hozzáférést a tűzfalon keresztül.

------------ On CentOS/RHEL ------------ 
firewall-cmd --zone public --add-service http
firewall-cmd --permanent --zone public --add-service http
firewall-cmd --zone public --add-service https
firewall-cmd --permanent --zone public --add-service https

6. lépés: Az SNMPD konfigurálása a LibreNMS-hez

18. Most használja a minta snmp konfigurációt a konfigurációs fájl létrehozásához, és nyissa meg szerkesztésre az alábbiak szerint.

------------ On Debian/Ubuntu ------------ 
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo vim /etc/snmp/snmpd.conf

------------ On CentOS/RHEL ------------ 
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf

Keresse meg a RANDOMSTRINGGOESHERE karakterláncot, és módosítsa a saját közösségi karakterláncára, ahogy a képernyőképen látható.

19. Ezután töltsön le egy shell szkriptet a rendszerére, amely segít felismerni, hogy melyik operációs rendszer, és ha Linuxról van szó, akkor felismeri, hogy melyik Linux disztribúciót használja:

------------ On Debian/Ubuntu ------------ 
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
sudo systemctl restart snmpd

------------ On CentOS/RHEL ------------ 
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd

7. lépés: A Cron létrehozása és a Logrotate konfigurálása

20. Most futtassa az alábbi parancsot a LibreNMS cron-feladat beállításához.

cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

21. Ezután minden LibreNMS napló rögzítésre kerül a /opt/librenms/logs mappában, és be kell állítania ezeket a naplókat úgy, hogy azok automatikusan elforduljanak. , a megadott logrotate konfigurációs fájl használatával, így.

cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Ezután állítsa be a megfelelő engedélyeket a LibreNMS telepítési gyökérkönyvtárában és a naplófájlokban.

------------ On Debian/Ubuntu ------------
sudo chown -R librenms:librenms  /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs

------------ On CentOS/RHEL ------------ 
chown -R librenms:librenms /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs

8. lépés: Nyissa meg a LibreNMS Web Installer programot

22. Ezután használja a következő URL-t a webes telepítő eléréséhez, és kövesse a képernyőn megjelenő utasításokat.

http://librenms.tecmint.lan/install.php

Ahhoz, hogy ez a cím működjön egy helyi gépen, be kell állítania egy helyi DNS-t a hosts fájl (/etc/hosts) segítségével, helyi tartományfeloldás vagy tesztelés céljából, mielőtt élesíteni kezd.

192.168.43.31 tecmint.lan
192.168.43.31 librenms.tecmint.lan

23. A következő képernyőképen látható módon megjelenik a telepítés üdvözlő oldala, a folytatáshoz kattintson a Következő szakasz gombra.

24. Ezután adja meg a LibreNMS adatbázis beállításait (adatbázis gazdagép, port, felhasználónév és felhasználói jelszó), majd kattintson a Next Stage gombra a folytatáshoz.

25. A webes telepítő most elkezdi importálni a MySQL adatbázist, ez eltart egy ideig. Vegye figyelembe, hogy a folyamat bizonyos pontokon megkísérli leállni, egyszerűen kattintson az Újra gombra az importálási folyamat folytatásához.

26. Ha az adatbázis importálása befejeződött, az alábbi képernyőképen látható módon az „Az adatbázis naprakész!” üzenetnek kell megjelennie. Ezután kattintson a Utas felhasználó hozzáadása lehetőségre a folytatáshoz.

27. Ezután adjon hozzá egy LibreNMS felhasználót, adja meg a felhasználónevet, a jelszót és az e-mail címet, majd kattintson a Felhasználó hozzáadása gombra a módosítások végrehajtásához.

28. Most kattintson a LibreNMS konfiguráció létrehozására a rendszerhez a Konfiguráció létrehozása lehetőségre kattintva.

29. Miután a konfiguráció létrejött, ahogy az az előző képernyőképen is látható, másolja ki, és mentse el a telepítés gyökérkönyvtárába, a /opt/librenms/config.php nevű fájlba. .

vi /opt/librenms/config.php
<?php
## Have a look in defaults.inc.php for examples of settings you can set here. DO NOT EDIT defaults.inc.php!

### Database config
$config['db_host'] = 'localhost';
$config['db_port'] = '3306';
$config['db_user'] = 'librenms';
$config['db_pass'] = '=@!#@%$libre';
$config['db_name'] = 'librenms';
$config['db_socket'] = '';

// This is the user LibreNMS will run as
//Please ensure this user is created and has the correct permissions to your install
$config['user'] = 'librenms';

### Locations - it is recommended to keep the default
#$config['install_dir']  = "/opt/librenms";

### This should *only* be set if you want to *force* a particular hostname/port
### It will prevent the web interface being usable form any other hostname
#$config['base_url']        = "http://librenms.company.com";

### Enable this to use rrdcached. Be sure rrd_dir is within the rrdcached dir
### and that your web server has permission to talk to rrdcached.
#$config['rrdcached']    = "unix:/var/run/rrdcached.sock";

### Default community
$config['snmp']['community'] = array("public");

### Authentication Model
$config['auth_mechanism'] = "mysql"; # default, other options: ldap, http-auth
#$config['http_auth_guest'] = "guest"; # remember to configure this user if you use http-auth

### List of RFC1918 networks to allow scanning-based discovery
#$config['nets'][] = "10.0.0.0/8";
#$config['nets'][] = "172.16.0.0/12";
#$config['nets'][] = "192.168.0.0/16";

Update configuration
#$config['update_channel'] = 'release';  # uncomment to follow the monthly release channel
#$config['update'] = 0;  # uncomment to completely disable updates

30. Mentse és zárja be a fájlt. Ezután térjen vissza a webes telepítőhöz a telepítési folyamat folytatásához a Telepítés befejezése gombra kattintva.

31. A LibreNMS telepítése befejeződött, kattintson a „Telepítés ellenőrzése és a problémák kijavítása” lehetőségre. A bejelentkezési oldalnak meg kell jelennie.

32. Ezután adja meg felhasználói hitelesítő adatait az érvényesítési oldal eléréséhez.

33. A telepítés ellenőrzési folyamata során a LibreNMS két problémát fedezett fel, az egyik az, hogy nem adtak hozzá eszközöket (ez egyelőre figyelmeztetés), másodszor pedig nem állítja be a megfelelő engedélyt a manuálisan hozzáadott konfigurációs fájlhoz (/opt/librenms/config.php), amint az az alábbi képernyőképen látható.

Most futtassa a következő parancsot a megfelelő engedélyek beállításához a konfigurációs fájlban.

sudo chown -R librenms:librenms /opt/librenms/config.php 

34. Eszközök hozzáadásához látogasson el a következő oldalra: http://librenms.tecmint.lan/addhost. Az eszközök hozzáadása után a kezdőlapra léphet, és különféle irányítópultokat vehet fel.

Ez az! További információkat találhat, beleértve a telepítést és beállítást, a LibreNMS dokumentációjában a https://docs.librenms.org/ címen.

A LibreNMS egy teljes értékű hálózatfigyelő rendszer, amely számos hálózati hardvert támogat. Reméljük, hogy ez egy áttekinthető telepítési útmutató volt. Ha bármilyen kérdése van, forduljon hozzánk az alábbi visszajelzési űrlapon keresztül.