LibreNMS - Għodda ta' Monitoraġġ tan-Netwerk Dehru Sħiħ għal Linux


LibreNMS huwa sors miftuħ, b'saħħtu u b'ħafna karatteristiċi li jiskopri awtomatikament sistema ta 'monitoraġġ tan-netwerk ibbażata fuq PHP li tuża l-protokoll SNMP. Jappoġġja firxa wiesgħa ta 'sistemi operattivi inklużi Linux, FreeBSD, kif ukoll tagħmir tan-netwerk inklużi Cisco, Juniper, Brocade, Foundry, HP u ħafna aktar.

  1. Tiskopri awtomatikament netwerk sħiħ billi tuża dawn il-protokolli: CDP, FDP, LLDP, OSPF, BGP, SNMP u ARP.
  2. Għandha UI tal-Web faċli għall-mowbajl, b'dashboards personalizzabbli.
  3. Jappoġġja aġent Unix.
  4. Jappoġġja l-iskala orizzontali biex tespandi man-netwerk tiegħek.
  5. Jappoġġja sistema ta' twissija flessibbli ħafna u personalizzabbli; jibgħat notifiki permezz ta' email, irc, slack u aktar.
  6. Jappoġġja API għall-ġestjoni, il-grafika u l-irkupru tad-dejta mis-sistema tiegħek.
  7. Toffri sistema ta' kontijiet tat-traffiku.
  8. Jappoġġja wkoll apps Android u iOS li joffru funzjonalitajiet ewlenin.
  9. Jappoġġja l-integrazzjoni ma' NfSen, collectd, SmokePing, RANCID u Oxidized.
  10. Jappoġġja diversi metodi ta' awtentikazzjoni bħal MySQL, HTTP, LDAP, Radius u Active Directory.
  11. Tippermetti għal aġġornament awtomatiku u ħafna karatteristiċi oħra.

Demo online hija disponibbli għalik biex tipprova qabel tinstalla LibreNMS fuq sistemi Linux.

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

  1. Ubuntu 16.04 b'LEMP Stack
  2. CentOS 7 b'LEMP Stack

F'dan it-tutorja ser nitgħallmu kif ninstallaw l-Għodda ta' Monitoraġġ tan-Netwerk LibreNMS fuq Ubuntu jew CentOS Linux li għadhom kif ġew installati (l-istess istruzzjonijiet jaħdmu wkoll fuq distribuzzjonijiet ibbażati fuq Debian u RHEL).

NOTA: Dawn l-istruzzjonijiet kollha f'dan l-artikolu għandhom jitmexxew bħala l-utent root, jekk m'intix, uża l-kmand sudo biex tikseb privileġġi tal-utent root.

Pass 1: Installa Pakketti Meħtieġa

1. L-ewwel ibda billi tinstalla l-pakketti kollha meħtieġa billi tuża l-maniġer tal-pakkett default kif muri.

$ 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. Ladarba l-pakketti kollha jkunu installati, is-servizzi nginx, php-fpm, mariadb u snmp se jinbdew u jkunu jistgħu jibdew awtomatikament fil-ħin tal-ibbutjar (dan normalment ikun il-każ ma 'Ubuntu), inkella, tista' tmexxi l-kmandi hawn taħt biex jibdew u jippermettulhom.

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

Pass 2: Installa l-Għodda ta’ Monitoraġġ LibreNMS

3. Sussegwentement, oħloq utent tas-sistema msejjaħ librenms, bil-kmand useradd; fejn il-marka -M tiddiżattiva l-ħolqien tad-direttorju tad-dar tal-utent, u -r tippermetti l-ħolqien ta’ kont tas-sistema. Imbagħad żid l-utent tal-librenms mal-grupp www-data (fuq Ubuntu) jew nginx (fuq CentOS) kif ġej.

------------ 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. Imbagħad installa LibreNMS permezz tal-kmand tal-kompożitur kif muri.

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

Pass 3: Oħloq Database LibreNMS

5. Qabel ma tista 'tibda tuża s-server MariaDB, għandek bżonn tiżgura l-installazzjoni tiegħek, mexxi l-iskrittura tas-sigurtà pprovduta fil-pakkett binarju. Hija se titlobek tissettja password ta 'l-għeruq, neħħi utenti anonimi, tiddiżattiva l-login ta' l-għeruq mill-bogħod u neħħi d-database tat-test.

Tista' tniedi l-iskrittura billi toħroġ il-kmand hawn taħt u twieġeb il-mistoqsijiet kollha b'iva/y.

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

6. Imbagħad idħol fid-database MariaDB biex toħloq database għal LibreNMS (ftakar li tuża password b'saħħitha/sigura f'ambjent ta 'produzzjoni).

$ 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. Wara, iddiżattiva l-modalità stretta MySQL għalissa (il-kompatibilità mal-modalità stretta MySQL għad trid tiġi miżjuda).

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

Fi ħdan it-taqsima [mysqld] jekk jogħġbok żid.

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

Imbagħad erġa ibda s-server tad-database biex iwettaq il-bidliet.

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

Pass 4: Ikkonfigura u Ibda PHP-FPM

8. Sussegwentement, issettja d-data.timezone tiegħek fil-php.ini għaż-żona tal-ħin attwali tiegħek, pereżempju \Afrika/Kampala, kif muri fil-screenshot li ġej.

------------ 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. Sussegwentement ippermetti l-modulu PHP mcrypt f'Ubuntu u jerġa 'jibda php-fpm kif muri.

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

10. Fuq CentOS/RHEL trid tagħmel il-bidliet li ġejjin fil-fajl tal-konfigurazzjoni php-fpm.

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

Agħmel il-bidliet li ġejjin.

;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. Ibda mill-ġdid is-servizz php-fpm kif muri.

# systemctl restart php-fpm

Pass 5: Ikkonfigura Nginx għal LibreNMS

12. F'dan il-pass, għandek bżonn tikkonfigura blokka server Nginx għal librenms sabiex taċċessa l-UI tal-web. Oħloq fajl .conf għalih kif muri.

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

Żid il-konfigurazzjoni li ġejja, editja server_name kif meħtieġ.

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. Imbagħad issalva u oħroġ mill-fajl. Neħħi wkoll il-konfigurazzjoni default tal-blokk tas-server u erġa ibda s-server Nginx.

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

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

NOTA: Fuq CentOS/RHEL, ser ikollok bżonn tiddiżattiva t-taqsima default tas-sit, jekk dan huwa l-uniku sit li qed tospita. Ħassar is-sezzjoni tas-server mill-fajl /etc/nginx/nginx.conf.

14. Ukoll fuq CentOS/RHEL, għandek bżonn tinstalla l-għodda tal-politika għal SELinux u Ikkonfigura l-kuntesti meħtieġa minn LibreNMS billi tuża l-kmandi li ġejjin.

------------ 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. Ħalli fping billi toħloq il-fajl http_fping.tt bil-kontenut li ġej.

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. Imbagħad mexxi dawn il-kmandi.

------------ 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. Jekk qed tuża Firewall fuq CentOS/RHEL, ppermetti aċċess HTTP/HTTPS permezz tal-firewall.

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

Pass 6: Ikkonfigura SNMPD għal LibreNMS

18. Issa uża l-kampjun tal-konfigurazzjoni snmp biex toħloq il-fajl tal-konfigurazzjoni tiegħek u tiftaħha għall-editjar, kif ġej.

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

Sib is-sekwenza RANDOMSTRINGGOESHERE u biddelha għall-sekwenza tal-komunità tiegħek kif muri fil-screenshot.

19. Sussegwentement, niżżel script shell fuq is-sistema tiegħek, li tgħin biex tiskopri liema OS u jekk hija Linux allura se tiskopri liema distribuzzjoni Linux, qed tuża:

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

Pass 7: Oħloq Cron u Ikkonfigura Logrotate

20. Issa mexxi l-kmand hawn taħt biex twaqqaf xogħol cron għal LibreNMS.

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

21. Sussegwentement, ir-zkuk kollha tal-LibreNMS huma rreġistrati f'/opt/librenms/logs, jista 'jkollok bżonn tikkonfigura dawn ir-zkuk biex jiġu mdawra awtomatikament, billi tuża l-fajl tal-konfigurazzjoni logrotate provdut, bħal dan.

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

Imbagħad issettja l-permessi xierqa fuq id-direttorju tal-għeruq tal-installazzjoni tal-LibreNMS u l-fajls tal-log.

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

Pass 8: Aċċessa għall-Installatur tal-Web LibreNMS

22. Sussegwentement, uża l-URL li ġej biex taċċessa l-installatur tal-web u segwi l-istruzzjonijiet fuq l-iskrin.

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

Biex dan l-indirizz jaħdem fuq magna lokali, għandek bżonn tissettja DNS lokali billi tuża l-fajl hosts (/etc/hosts), għal riżoluzzjoni tad-dominju lokali jew skopijiet ta’ ttestjar qabel ma titħaddem.

192.168.43.31 tecmint.lan
192.168.43.31 librenms.tecmint.lan

23. Se tara l-paġna ta 'merħba ta' l-installazzjoni kif muri fil-screenshot li ġej, ikklikkja l-Istadju li jmiss biex tkompli.

24. Imbagħad daħħal is-settings (host tal-bażi tad-dejta, port, isem tal-utent u password tal-utent) għad-database LibreNMS u kklikkja Stadju Li jmiss biex tipproċedi.

25. L-installatur tal-web issa se jibda jimporta d-database MySQL, dan jieħu xi żmien. Innota li l-proċess se jipprova jieqaf f'ċerti punti, sempliċi ikklikkja fuq Ipprova mill-ġdid biex tkompli bil-proċess ta 'importazzjoni.

26. Ladarba l-importazzjoni tad-database titlesta, għandek tara l-messaġġ \Database hija aġġornata!, kif muri fil-screenshot hawn taħt. Imbagħad ikklikkja fuq Mur Żid Utent biex tipproċedi.

27. Sussegwentement, żid utent LibreNMS, speċifika l-isem tal-utent, il-password u l-email, imbagħad ikklikkja fuq Żid Utent biex tagħmel il-bidliet.

28. Issa kklikkja fuq toħloq il-konfigurazzjoni LibreNMS għas-sistema tiegħek, billi tikklikkja Iġġenera Konfigurazzjoni.

29. Ladarba l-konfigurazzjoni tiġi ġġenerata, kif muri fl-iskrin ta 'qabel, ikkopjaha u ssejvjaha fid-direttorju tal-għeruq tal-installazzjoni tiegħek, f'fajl imsejjaħ /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. Issejvja u agħlaq il-fajl. Imbagħad lura lill-installatur tal-web biex tkompli bil-proċess ta 'installazzjoni, billi tikklikkja Finish Install.

31. Issa l-installazzjoni ta' LibreNMS tiegħek hija kompluta, tista' tikklikkja fuq \valida l-installazzjoni tiegħek u ssolvi kwalunkwe kwistjoni, għandha tidher il-paġna tal-login.

32. Sussegwentement, daħħal il-kredenzjali tal-utent tiegħek biex taċċessa l-paġna tal-validazzjoni.

33. Mill-proċess ta 'validazzjoni ta' l-installazzjoni, LibreNMS skopra żewġ kwistjonijiet, waħda hija li l-apparati ma ġewx miżjuda (din hija twissija għalissa), u t-tieni, ma waqqafniex il-permess xieraq fuq il-fajl tal-konfigurazzjoni (/opt/librenms /config.php) li ġiet miżjuda manwalment, kif muri fl-iscreen shot hawn taħt.

Issa mexxi l-kmand li ġej biex tissettja l-permess korrett fuq il-fajl tal-konfigurazzjoni.

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

34. Biex iżżid apparati, mur fuq: http://librenms.tecmint.lan/addhost. Wara li żżid apparati, tista 'tmur fil-paġna ewlenija u żżid diversi dashboards.

Dak hu! Tista' ssib aktar informazzjoni, inkluż l-installazzjoni u s-setup fuq id-Dokumentazzjoni ta' LibreNMS fuq https://docs.librenms.org/.

LibreNMS hija sistema ta' monitoraġġ tan-netwerk li tidher bis-sħiħ li tappoġġja varjetà ta' hardware tan-netwerk. Nittamaw li din kienet gwida ta 'installazzjoni lucida, jekk għandek xi mistoqsijiet, ikkuntattjana permezz tal-formola ta' feedback hawn taħt.