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.
- Tiskopri awtomatikament netwerk sħiħ billi tuża dawn il-protokolli: CDP, FDP, LLDP, OSPF, BGP, SNMP u ARP.
- Għandha UI tal-Web faċli għall-mowbajl, b'dashboards personalizzabbli.
- Jappoġġja aġent Unix.
- Jappoġġja l-iskala orizzontali biex tespandi man-netwerk tiegħek.
- Jappoġġja sistema ta' twissija flessibbli ħafna u personalizzabbli; jibgħat notifiki permezz ta' email, irc, slack u aktar.
- Jappoġġja API għall-ġestjoni, il-grafika u l-irkupru tad-dejta mis-sistema tiegħek.
- Toffri sistema ta' kontijiet tat-traffiku.
- Jappoġġja wkoll apps Android u iOS li joffru funzjonalitajiet ewlenin.
- Jappoġġja l-integrazzjoni ma' NfSen, collectd, SmokePing, RANCID u Oxidized.
- Jappoġġja diversi metodi ta' awtentikazzjoni bħal MySQL, HTTP, LDAP, Radius u Active Directory.
- 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
- Ubuntu 16.04 b'LEMP Stack
- 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.