Kif Tinstalla l-Għodda ta’ Monitoraġġ LibreNMS fuq Debian 11/10


LibreNMS hija għodda ta' monitoraġġ tan-netwerking open-source u b'mod sħiħ li tipprovdi firxa wiesgħa ta' karatteristiċi u kapaċitajiet ta' monitoraġġ għat-tagħmir tan-netwerk tiegħek.

Il-karatteristiċi ewlenin jinkludu:

  • Skoperta awtomatika tan-netwerk kollu tiegħek billi tuża protokolli ARP, SNMP, BGP, OSPF, LLDP, u FDP.
  • Sistema ta' twissija li hija personalizzabbli ħafna u tista' tiġi rranġata biex tibgħat twissijiet permezz ta' email, Slack, u kanali oħra.
  • Dashboard sempliċi, u faċilment customizable.
  • API kompletament estensiva għall-ġestjoni u l-grafika tad-dejta mis-server ta' monitoraġġ tiegħek.
  • Appoġġ estensiv għall-apparat – Jappoġġja firxa wiesgħa ta' bejjiegħa ta' ħardwer bħal Cisco, Juniper, HP, u ħafna aktar.
  • Aġġornamenti awtomatiċi u bug fixes.
  • Awtentikazzjoni b'ħafna fatturi.
  • Appoġġ nattiv għall-Apps Android u iOS.
  • u ħafna aktar.

F'din il-gwida, se ninstallaw l-għodda ta 'monitoraġġ LibreNMS fuq Debian 11/10.

Pass 1: Installa Nginx, MariaDB u PHP

Biex tibda, aġġorna r-repożitorji u installa l-pakketti tal-prerekwiżiti kif ġej:

$ sudo apt update
$ sudo apt install software-properties-common wget apt-transport-https

Il-pass li jmiss huwa li tinstalla Nginx u pakketti addizzjonali bħal pakketti curl, git, SNMP, u python li se jkunu meħtieġa mill-għodda ta 'monitoraġġ LibreNMS.

Allura, mexxi l-kmand:

$ sudo apt install nginx-full curl acl fping graphviz composer git imagemagick mtr-tiny nmap python3-pip python3-memcache python3-mysqldb python3-dotenv python3-pymysql rrdtool snmp snmpd whois python3-redis python3-systemd python3-setuptools python3-systemd

Sussegwentement, installa s-server tad-database MariaDB, PHP, u estensjonijiet PHP addizzjonali li huma meħtieġa mill-għodda ta 'monitoraġġ LibreNMS.

$ sudo apt install mariadb-server php php-fpm php-cli php-xml php-common php-gd php-json php-snmp php-pdo php-mysql php-zip php-curl php-mbstring php-pear php-bcmath

Ladarba tkun installata, kun żgur li tattiva s-servizzi Nginx, php-fpm, MariaDB, u SNMP kif muri.

$ sudo systemctl enable --now nginx
$ sudo systemctl enable --now php7.4-fpm
$ sudo systemctl enable --now mariadb
$ sudo systemctl enable --now snmpd.service

Pass 2: Ikkonfigura TimeZone għal PHP

Il-pass li jmiss jeħtieġ li nikkonfiguraw jew nissettjaw iż-żona tal-ħin PHP. Dan isir fil-fajl php.ini li huwa l-fajl tal-konfigurazzjoni PHP default.

Aċċessa l-fajls tal-konfigurazzjoni php.ini fil-mogħdijiet li ġejjin billi tuża l-editur favorit tiegħek.

$ sudo nano /etc/php/7.4/fpm/php.ini
$ sudo nano /etc/php/7.4/cli/php.ini

Innaviga lejn il-parametru date.timezone u issettjah għaż-żona tal-ħin tiegħek. Biex tikseb lista komprensiva taż-Żona tal-Ħin kollha appoġġjata, immur fuq is-sit uffiċjali tal-PHP.

F'dan l-eżempju, qed nissettjaw iż-żona tal-ħin għal UTC.

date.timezone = UTC

Imbagħad issalva l-bidliet u oħroġ mill-fajls.

Pass 3: Oħloq Database għal LibreNMS

F'dan il-pass, se noħolqu database għall-installazzjoni ta' LibreNMS. Imma l-ewwel, ejjew niżguraw id-database sigura billi nħaddmu l-iskrittura li ġejja:

$ sudo mysql_secure_installation

Segwi l-promptijiet dettaljati li jiggwidawk dwar kif toħloq il-password tal-għeruq MariaDB, neħħi utenti anonimi u ttestja d-database u finalment ma tħallix il-login tal-għeruq mill-bogħod.

Sussegwentement, idħol f'MariaDB:

$ sudo mysql -u root -p

Imbagħad mexxi l-kmandi li ġejjin biex toħloq utent tad-database u tad-database u tassenja l-privileġġi kollha lill-utent tad-database.

CREATE DATABASE librenms_db CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY '[email '; 
GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';

Imbagħad issalva l-bidliet u oħroġ mill-pront ta 'MariaDB.

FLUSH PRIVILEGES;
EXIT;

Huwa meħtieġ xi rfinar tad-database. Allura tiftaħ il-fajl tal-konfigurazzjoni MariaDB muri:

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Imbagħad waħħal il-linji ta 'kodiċi li ġejjin fit-taqsima 'mysqld'.

innodb_file_per_table=1
lower_case_table_names=0

Issejvja l-bidliet u oħroġ mill-fajl. Biex tapplika l-bidliet, ibda mill-ġdid is-server tad-database.

$ sudo systemctl restart mariadb

Pass 4: Żid Utent LibreNMS

Trid ukoll toħloq utent ġdid ta' LibreNMS. Dan huwa l-utent li LibreNMS se jkun qed jaħdem taħtu. F'dan l-eżempju, qed noħolqu utent imsejjaħ librenms bl-attributi li ġejjin.

$ sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash
$ sudo usermod -aG librenms www-data

  • L-għażla -d tistabbilixxi d-direttorju tad-dar għall-utent tal-librenms għad-direttorju /opt/librenms.
  • L-għażla -r tikkonfigura l-utent tal-librenms bħala l-utent tas-sistema.
  • L-għażla -M taqbeż il-ħolqien ta' direttorju tad-dar għall-utent peress li diġà ġiet definita bl-użu tal-għażla -d.
  • L-għażla -s tispeċifika t-tip ta' qoxra, f'dan il-każ, bash.

Pass 5: Iklona LibreNMS Git Repository

Nibdlu l-gerijiet, issa se nikklonu r-repożitorju tal-git LibreNMS biex nibdew inwaqqfu.

Mexxi l-kmandi li ġejjin biex tikklona r-repożitorju Git

$ cd /opt
$ sudo git clone https://github.com/librenms/librenms.git

Imbagħad aqleb lura għad-direttorju tad-dar.

$ cd  ~

Sussegwentement, irridu nassenjaw il-pussess tad-direttorju u l-permessi lid-direttorju tad-dar ta’ Librenms. Biex tikseb dan, mexxi l-kmandi li ġejjin:

$ sudo chown -R librenms:librenms /opt/librenms
$ sudo chmod 771 /opt/librenms

Barra minn hekk, immodifika l-listi tal-kontroll tal-aċċess għad-direttorju tad-dar ta’ Librenms billi tuża l-kmand setfacl. Dan jagħti lill-grupp Librenms permess biex jaqra u jikteb fuq is-subdirettorji fid-direttorju tad-dar.

$ sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
$ sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

Pass 6: Installa Dipendenzi PHP

Xi dipendenzi huma meħtieġa mill-PHP waqt is-setup tal-għodda ta 'monitoraġġ LibreNMS. Biex tagħmel dan, trid tkun illoggjat bħala l-librenmsuser.

$ sudo su - librenms

Sussegwentement, installa d-dipendenzi kollha tal-PHP kif ġej.

$ ./scripts/composer_wrapper.php install --no-dev

Ladarba l-installazzjoni tad-dipendenzi tkun kompluta, oħroġ mill-utent tal-librenms.

$ exit

Pass 7: Ikkonfigura PHP-FPM għall-Installazzjoni ta' LibreNMS

Nimxu 'l quddiem, irridu nagħmlu ftit bidliet fil-PHP-FPM sabiex nappoġġjaw LibreNMS.

Biex twettaq dan. Ikkopja l-fajl 'www.conf' li huwa l-fajl tal-konfigurazzjoni tal-pool default fil-fajl 'librenms.conf' kif ġej.

$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

Sussegwentement, editja l-fajl 'librenms.conf'.

$ sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

Ibdel il-parametri tal-utent u tal-grupp għal librenms kif muri

user = librenms
group = librenms

Sussegwentement, immodifika l-attribut listen għal /run/php-fpm-librenms.sock kif ġej.

listen = /run/php-fpm-librenms.sock

Issejvja l-bidliet u oħroġ mill-konfigurazzjoni. Kun żgur li terġa 'tibda s-servizz PHP-FPM biex tapplika l-bidliet.

$ sudo systemctl restart php7.4-fpm

Pass 8: Ikkonfigura l-SNMP Daemon

Il-protokoll SNMP huwa protokoll TCP/IP li jiġbor u jorganizza metriċi jew informazzjoni minn apparati ġestiti f'netwerk.

Il-biċċa l-kbira tal-għodod ta 'monitoraġġ bħal Cacti jisfruttaw is-servizz SNMP biex jiġbru informazzjoni minn hosts remoti. U hekk jagħmel LibreNMS.

Biex tikkonfigura s-servizz SNMP, kompli u kkopja l-fajl snmpd.conf.example fil-fajl /etc/snmp/snmpd.conf.

$ sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Sussegwentement, editja l-fajl snmpd.conf.

$ sudo vim /etc/snmp/snmpd.conf

Sib is-sekwenza RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Ibdelha għal librenms.

com2sec readonly  default		  librenms

Issejvja l-bidliet u ħruġ.

Sussegwentement, niżżel il-fajl tad-distro, li huwa fajl li awtomatikament jiskopri l-OS tan-nodi ġestiti u jiddistingwi d-distribuzzjoni tiegħu.

$ sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro

Agħmilha eżekutibbli u erġa ibda s-servizz SNMP.

$ sudo chmod +x /usr/bin/distro
$ sudo systemctl restart snmpd

Pass 9: Ikkonfigura Nginx għal LibreNMS

B'Nginx bħala s-server tal-web preferut tagħna, irridu nagħmlu pass żejjed u kkonfigurawh sabiex isservi LibreNMS.

L-ewwel, aħna se noħolqu blokka server Nginx kif muri.

$ sudo nano /etc/nginx/sites-available/librenms

Paste l-linji ta 'kodiċi li ġejjin. Għall-attribut server_name, ipprovdi l-isem tad-dominju reġistrat tas-server tiegħek jew l-indirizz IP.

server {
  listen      80;
  server_name 23.92.30.144;        
  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/php-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

Issejvja l-bidliet u oħroġ mill-fajl tal-konfigurazzjoni. Sussegwentement, ippermetti l-blokk tas-server Nginx billi toħloq rabta simbolika kif muri.

$ sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

Imbagħad ibda mill-ġdid Nginx biex tapplika l-bidliet li saru fil-konfigurazzjoni.

$ sudo systemctl restart nginx

Barra minn hekk, tista 'tikkonferma li s-settings kollha ta' Nginx huma tajbin billi tħaddem il-kmand:

$ sudo nginx -t

Pass 10: Ikkopja l-Konfigurazzjoni Logrotate u Cron

B'mod awtomatiku, LibreNMS jaħżen ir-zkuk tiegħu fid-direttorju /opt/librenms/logs. Maż-żmien, dan jista 'faċilment jimla u jippreżenta problemi ta' spazju. Biex jiġi evitat dan, rotazzjoni ta 'fajls log qodma hija rakkomandata.

Għalhekk ikkopja l-fajl logrotate fid-direttorju LibreNMS fid-direttorju /etc/logrotate.d/.

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

Daqstant importanti, ikkopja l-fajl tax-xogħol cron kif ġej biex tippermetti polling awtomatiku u skoperta ta 'apparati ġodda

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

Pass 11: Imla s-Setup ta' LibreNMS minn Browser

Biex tlesti s-setup minn browser, immur għall-URL li ġej:

http://server-ip

Dan tieħdok għal-lista ta' kontroll ta' qabel l-installazzjoni murija. Jekk kollox jidher tajjeb, ikklikkja fuq l-ikona 'database' fuq il-lemin.

Kun żgur li timla d-dettalji kollha tad-database u kklikkja ‘Iċċekkja l-Kredenzjali’.

Ladarba d-dettalji tad-database jkunu ġew ivvalidati, ikklikkja fuq ‘Build Database’.

Meta tgħaddi minn dan il-pass, ikklikkja l-ikona li jmiss biex toħloq utent Amministratur. Ipprovdi l-isem tal-utent, il-password, u l-email tal-utent Admin u kklikkja 'Żid utent'.

Fl-aħħarnett, ikklikkja fuq l-aħħar buttuna biex tlesti l-installazzjoni.

Int ser tħabbat wiċċha ma' dan l-iżball billi tinfurmak li l-installatur 'Failed li jikteb il-fajl: /opt/librenms/.env'.

Imma tinkwetax. Sempliċement aġġorna manwalment il-fajl /opt/librenms/.env mill-ġdid bid-dettalji tad-database pprovduti. Dawn id-dettalji se jvarjaw fil-każ tiegħek.

Allura, aċċess għall-fajl.

$ sudo nano /opt/librenms/.env

Ħassar il-kontenut kollu fil-fajl u waħħal id-dettalji pprovduti hawn fuq fil-fajl u ssalva l-bidliet.

Imiss lura u kklikkja l-buttuna 'Erġa' pprova'. Dan tieħdok għall-paġna tal-login ta' LibreNMS. Ipprovdi l-kredenzjali tal-login u kklikkja 'Login'.

Ladarba illoggjat int se tikseb tali dashboard. Minn hawn, tista 'tibda żżid l-ospiti tiegħek u timmonitorja diversi metriċi.

U hekk. F'din il-gwida, imxijniek permezz tal-installazzjoni tal-għodda ta 'monitoraġġ LibreNMS fuq Debian 11/10.