LibreNMS - täisfunktsionaalne võrgu jälgimise tööriist Linuxile


LibreNMS on avatud lähtekoodiga, võimas ja funktsiooniderikas PHP-põhine võrgu jälgimissüsteem, mis kasutab SNMP-protokolli. See toetab laias valikus operatsioonisüsteeme, sealhulgas Linux, FreeBSD, aga ka võrguseadmeid, sealhulgas Cisco, Juniper, Brocade, Foundry, HP ja palju muud.

  1. See avastab automaatselt kogu võrgu nende protokollide abil: CDP, FDP, LLDP, OSPF, BGP, SNMP ja ARP.
  2. Sellel on mobiilisõbralik veebiliides koos kohandatavate juhtpaneelidega.
  3. Toetab Unixi agenti.
  4. Võrgu laiendamiseks toetab horisontaalset skaleerimist.
  5. toetab väga paindlikku ja kohandatavat hoiatussüsteemi; saadab märguandeid e-posti, irc, lõtvuse ja muu kaudu.
  6. Toetab API-d andmete haldamiseks, graafikute koostamiseks ja süsteemist toomiseks.
  7. Pakub liikluse arveldussüsteemi.
  8. Toetab ka Androidi ja iOS-i rakendusi, mis pakuvad põhifunktsioone.
  9. Toetab integreerimist NfSeniga, collectd, SmokePing, RANCID ja Oxidized.
  10. Toetab mitut autentimismeetodit, nagu MySQL, HTTP, LDAP, Radius ja Active Directory.
  11. Lubab automaatset värskendamist ja paljusid muid funktsioone.

Enne LibreNMS-i installimist Linuxi süsteemidesse saate proovida veebidemot.

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

  1. Ubuntu 16.04 koos LEMP-i virnaga
  2. CentOS 7 koos LEMP-i virnaga

Selles õpetuses õpime, kuidas installida LibreNMSi võrguseire tööriist värskelt installitud Ubuntu või CentOS Linuxi (samad juhised töötavad ka Debiani ja RHEL-i põhistes jaotustes).

MÄRKUS. Kõik need selle artikli juhised tuleks käivitada juurkasutajana, kui te seda ei tee, kasutage juurkasutajaõiguste saamiseks käsku sudo.

1. samm: installige vajalikud paketid

1. Kõigepealt alustage kõigi vajalike pakettide installimisega vaikepaketi halduri abil, nagu näidatud.

$ 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
# 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. Kui kõik paketid on installitud, käivitatakse nginx, php-fpm, mariadb ja snmp teenused ning lubatakse need automaatselt käivitada alglaadimise ajal (see on tavaliselt Ubuntu puhul), vastasel juhul võite käivitada allolevad käsud neid käivitada ja lubada.

------------ 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. samm: installige LibreNMS-i jälgimistööriist

3. Seejärel looge käsuga useradd süsteemikasutaja nimega librenms; kus lipp -M keelab kasutaja kodukataloogi loomise ja -r võimaldab luua süsteemikonto. Seejärel lisage librenmsi kasutaja gruppi www-data (Ubuntu) või nginx (CentOS) järgmiselt.

------------ 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. Seejärel installige LibreNMS helilooja käsuga, nagu näidatud.

------------ 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. samm: looge LibreNMS-i andmebaas

5. Enne kui hakkate MariaDB serverit kasutama, peate oma installi turvama, käivitama binaarpaketis toodud turbeskripti. See palub teil määrata root parooli, eemaldada anonüümsed kasutajad, keelata juur sisselogimise eemalt ja eemaldada testi andmebaas.

Skripti saate käivitada, väljastades alloleva käsu ja vastates kõikidele küsimustele käsuga yes/y .

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

6. Seejärel logige LibreNMS-i andmebaasi loomiseks sisse MariaDB andmebaasi (ärge unustage tootmiskeskkonnas kasutada tugevat/turvalist parooli).

$ 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 '[email !#@%$libre';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

7. Pärast seda keelake MySQL range režiim praegu (ühilduvus MySQL range režiimiga on veel lisamata).

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

Lisage jaotises [mysqld] .

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

Seejärel taaskäivitage muudatuste tegemiseks andmebaasiserver.

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

4. samm: seadistage ja käivitage PHP-FPM

8. Seejärel määrake php.ini -is oma date.timezone oma praegusele ajavööndile, näiteks\"Africa/Kampala», nagu on näidatud järgmisel ekraanipildil.

------------ 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. Järgmisena lubage mcrypt PHP moodul Ubuntu ja taaskäivitage php-fpm, nagu näidatud.

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

10. CentOS/RHEL-is peate php-fpm konfiguratsioonifailis tegema järgmised muudatused.

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

Tehke järgmised muudatused.

;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. Taaskäivitage teenus php-fpm, nagu näidatud.

# systemctl restart php-fpm

5. samm: konfigureerige LibreNMS-i jaoks Nginx

12. Selles etapis peate veebiliidese juurde pääsemiseks konfigureerima Nginxi serveriploki librenmide jaoks. Looge sellele .conf fail, nagu näidatud.

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

Lisage järgmine konfiguratsioon, muutke server_name vastavalt vajadusele.

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. Seejärel salvestage ja väljuge failist. Eemaldage ka serveriploki vaikekonfiguratsioon ja taaskäivitage Nginxi server.

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

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

MÄRKUS. CentOS/RHEL-is peate keelama saidi vaikesektsiooni, kui see on ainus sait, mida hostite. Kustutage serveri sektsioon failist /etc/nginx/nginx.conf.

14. Samuti peate CentOS/RHEL-i installima SELinuksi poliitikatööriista ja konfigureerima LibreNMSi jaoks vajalikud kontekstid järgmiste käskude abil.

------------ 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. Luba fping, luues järgmise sisuga fail http_fping.tt .

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. Seejärel käivitage need käsud.

------------ 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. Kui kasutate tulemüüri CentOS/RHEL-il, lubage HTTP/HTTPS-i juurdepääs tulemüüri kaudu.

------------ 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. samm: konfigureerige SNMPD LibreNMS-i jaoks

18. Nüüd kasutage snmp-i konfiguratsiooni näidist, et luua oma konfiguratsioonifail ja avada see redigeerimiseks järgmiselt.

------------ 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

Leidke string RANDOMSTRINGGOESHERE ja muutke see oma kogukonna stringiks, nagu ekraanipildil näidatud.

19. Järgmisena laadige oma süsteemi alla shelliskript, mis aitab tuvastada millist operatsioonisüsteemi ja kui see on Linux, tuvastab see teie kasutatava Linuxi jaotuse:

------------ 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. samm: looge Cron ja konfigureerige Logrotate

20. Nüüd käivitage LibreNMS-i croni töö seadistamiseks allolev käsk.

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

21. Järgmisena salvestatakse kõik LibreNMS-i logid kataloogis/opt/librenms/logs, peate need logid konfigureerima automaatselt pööratavaks, kasutades selleks ettenähtud logrotate-konfiguratsioonifaili.

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

Seejärel määrake LibreNMS-i installimise juurkataloogis ja logifailides sobivad õigused.

------------ 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. samm: pöörduge LibreNMS-i veebiinstalleri poole

22. Järgmisena kasutage veebiinstallerile juurdepääsu saamiseks järgmist URL-i ja järgige ekraanil kuvatavaid juhiseid.

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

Selleks, et see aadress kohalikus masinas töötaks, peate enne otseülekande seadistamist kohaliku domeeni lahutamiseks või testimiseks seadistama kohaliku DNS-i hostifaili (/etc/hosts ) abil.

192.168.43.31 tecmint.lan
192.168.43.31 librenms.tecmint.lan

23. Näete installimise tervituslehte, nagu on näidatud järgmisel ekraanipildil, jätkamiseks klõpsake nuppu Järgmine etapp.

24. Seejärel sisestage LibreNMS-i andmebaasi seaded (andmebaasi hosti, port, kasutajanimi ja kasutaja parool) ning jätkamiseks klõpsake nuppu Järgmine etapp.

25. Veebidisainer hakkab nüüd MySQL-i andmebaasi importima, see võtab aega. Pange tähele, et protsess proovib teatud punktides peatada. Impordiprotsessi jätkamiseks klõpsake lihtsalt nupul Uuesti.

26. Kui andmebaasi importimine on lõpule jõudnud, peaksite nägema sõnumit\"Andmebaas on ajakohane!", Nagu on näidatud alloleval ekraanipildil. Seejärel klõpsake jätkamiseks käsul Lisa kasutaja.

27. Seejärel lisage LibreNMS-i kasutaja, määrake kasutajanimi, parool ja e-posti aadress, seejärel klõpsake muudatuste tegemiseks nuppu Lisa kasutaja.

28. Nüüd klõpsake nuppu Loo oma süsteemile LibreNMS-i konfiguratsioon, klõpsates nuppu Loo konfiguratsioon.

29. Kui konfiguratsioon on loodud, nagu eelmises ekraanipildis näidatud, kopeerige see ja salvestage see oma installi juurkataloogi faili nimega /opt/librenms/config.php.

# 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'] = '[email !#@%$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. Salvestage ja sulgege fail. Seejärel naaske installimisprotsessi jätkamiseks veebi installiprogrammi, klõpsates nuppu Lõpeta install.

31. Nüüd on teie LibreNMS-i installimine lõpule jõudnud, võite klõpsata nupul\"valideerige oma install ja lahendage kõik probleemid", peaks ilmuma sisselogimisleht.

32. Järgmisena sisestage valideerimislehele juurdepääsemiseks oma kasutajaandmed.

33. Installimise valideerimise käigus on LibreNMS avastanud kaks probleemi, üks on see, et seadmeid pole lisatud (see on praegu hoiatus), ja teiseks ei ole me seadistustefailile (/ opt/librenms /config.php), mis lisati käsitsi, nagu on näidatud alloleval ekraanipildil.

Nüüd käivitage järgmine käsk, et seadistada konfiguratsioonifailile õige luba.

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

34. Seadmete lisamiseks minge aadressile: http://librenms.tecmint.lan/addhost. Pärast seadmete lisamist saate minna avalehele ja lisada erinevaid armatuurlaudu.

See on kõik! Lisateavet, sealhulgas installimist ja seadistamist leiate LibreNMSi dokumentatsioonist aadressilt https://docs.librenms.org/.

LibreNMS on täisfunktsionaalne võrgu jälgimissüsteem, mis toetab mitmesugust võrguriistvara. Loodame, et see oli selge paigaldusjuhend. Kui teil on küsimusi, võtke meiega ühendust allpool oleva tagasisidevormi kaudu.