Giunsa ang Pag-install sa LibreNMS Monitoring Tool sa Debian 11/10


Ang LibreNMS usa ka open-source ug fully-featured networking monitoring tool nga naghatag ug halapad nga mga feature ug kapabilidad sa pagmonitor para sa imong network device.

Ang panguna nga mga bahin naglakip sa:

  • Awtomatikong pagdiskobre sa imong tibuok network gamit ang ARP, SNMP, BGP, OSPF, LLDP, ug FDP nga mga protocol.
  • Usa ka sistema sa pag-alerto nga mapasibo kaayo ug mahimong i-tweak aron magpadala og mga alerto pinaagi sa email, Slack, ug uban pang mga channel.
  • Usa ka yano, ug dali mapasibo nga dashboard.
  • Usa ka bug-os nga lapad nga API para sa pagdumala ug pag-graph sa datos gikan sa imong monitoring server.
  • Daghang suporta sa device – Nagsuporta sa usa ka halapad nga han-ay sa hardware vendors sama sa Cisco, Juniper, HP, ug daghan pa.
  • Awtomatikong pag-update ug pag-ayo sa bug.
  • Multi-Factor nga panghimatuod.
  • Native nga suporta para sa Android ug iOS Apps.
  • ug daghan pa.

Niini nga giya, atong i-install ang LibreNMS monitoring tool sa Debian 11/10.

Lakang 1: I-install ang Nginx, MariaDB ug PHP

Sa pagsugod, i-refresh ang mga repository ug i-install ang gikinahanglan nga mga pakete sama sa mosunod:

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

Ang sunod nga lakang mao ang pag-instalar sa Nginx ug dugang nga mga pakete sama sa curl, git, SNMP, ug python nga mga pakete nga gikinahanglan sa LibreNMS monitoring tool.

Busa, pagdagan ang mando:

$ 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

Sunod, i-install ang MariaDB database server, PHP, ug dugang nga PHP extensions nga gikinahanglan sa LibreNMS monitoring tool.

$ 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

Kung ma-install, siguruha nga magamit ang Nginx, php-fpm, MariaDB, ug mga serbisyo sa SNMP sama sa gipakita.

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

Lakang 2: I-configure ang TimeZone para sa PHP

Ang sunod nga lakang nagkinahanglan nga i-configure o i-set ang timezone sa PHP. Gihimo kini sa php.ini file nga maoy default PHP configuration file.

I-access ang php.ini configuration files sa mosunod nga mga dalan gamit ang imong paborito nga editor.

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

Pagdala ngadto sa date.timezone parameter ug ibutang kini sa imong timezone. Aron makakuha usa ka komprehensibo nga lista sa tanan nga gisuportahan nga Timezone, adto sa opisyal nga site sa PHP.

Niini nga pananglitan, among gibutang ang timezone sa UTC.

date.timezone = UTC

Unya i-save ang mga pagbag-o ug paggawas sa mga file.

Lakang 3: Paghimo usa ka Database alang sa LibreNMS

Niini nga lakang, maghimo kami usa ka database alang sa pag-install sa LibreNMS. Apan una, atong i-secure ang database nga luwas pinaagi sa pagpadagan sa mosunod nga script:

$ sudo mysql_secure_installation

Sunda ang mga detalyado nga prompt nga mogiya kanimo kon unsaon paghimo sa MariaDB root password, kuhaa ang mga anonymous nga tiggamit ug pagsulay sa database ug sa katapusan dili pagtugot sa remote root login.

Sunod, pag-log in sa MariaDB:

$ sudo mysql -u root -p

Dayon padagana ang mosunod nga mga sugo sa paghimo og database ug database user ug i-assign ang tanang pribilihiyo sa database user.

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

Dayon i-save ang mga pagbag-o ug paggawas sa prompt sa MariaDB.

FLUSH PRIVILEGES;
EXIT;

Ang pipila ka database fine-tuning gikinahanglan. Busa ablihi ang MariaDB configuration file nga gipakita:

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

Dayon idikit ang mosunod nga mga linya sa code sa 'mysqld' nga seksyon.

innodb_file_per_table=1
lower_case_table_names=0

I-save ang mga pagbag-o ug paggawas sa file. Aron magamit ang mga pagbag-o, i-restart ang database server.

$ sudo systemctl restart mariadb

Lakang 4: Idugang ang LibreNMS User

Kinahanglan ka usab nga maghimo usa ka bag-ong tiggamit sa LibreNMS. Kini ang user nga ipadagan sa LibreNMS. Niini nga pananglitan, nagmugna kami og usa ka user nga gitawag og librenms nga adunay mosunod nga mga hiyas.

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

  • Ang -d nga opsyon nagbutang sa home directory alang sa librenms user ngadto sa /opt/librenms directory.
  • Ang -r nga opsyon nag-configure sa mga librenms nga tiggamit isip tiggamit sa sistema.
  • Ang -M nga opsyon molaktaw sa paghimo og home directory alang sa user tungod kay kini gihubit na gamit ang -d nga opsyon.
  • Ang -s nga opsyon nagtino sa matang sa kabhang, niining kasoha, bash.

Lakang 5: I-clone ang LibreNMS Git Repository

Ang pagbalhin sa mga gears, atong i-clone ang LibreNMS git repository aron masugdan kini sa pag-set up.

Pagdalagan ang mosunod nga mga sugo aron ma-clone ang Git repository

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

Dayon balik sa home directory.

$ cd  ~

Sunod, kinahanglan namon nga itudlo ang pagpanag-iya sa direktoryo ug mga pagtugot sa direktoryo sa balay sa Librenms. Aron makab-ot kini, pagdagan ang mosunod nga mga sugo:

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

Dugang pa, usba ang mga lista sa kontrol sa pag-access alang sa direktoryo sa balay sa Librenms gamit ang setfacl command. Naghatag kini og pagtugot sa grupo sa Librenms sa pagbasa ug pagsulat sa mga subdirektoryo sa direktoryo sa balay.

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

Lakang 6: I-install ang PHP Dependencies

Ang ubang mga dependency gikinahanglan sa PHP atol sa pag-setup sa LibreNMS monitoring tool. Aron mahimo kini, kinahanglan ka nga naka-log in isip librenmsuser.

$ sudo su - librenms

Sunod, i-install ang tanan nga mga dependency sa PHP sama sa mosunod.

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

Kung kompleto na ang pag-instalar sa mga dependency, pagawasa ang librenms user.

$ exit

Lakang 7: I-configure ang PHP-FPM alang sa Pag-install sa LibreNMS

Sa pagpadayon, kinahanglan namon nga maghimo pipila ka mga pagbag-o sa PHP-FPM aron masuportahan ang LibreNMS.

Aron matuman kini. Kopyaha ang 'www.conf' file nga mao ang default pool configuration file ngadto sa 'librenms.conf' file sama sa mosunod.

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

Sunod, usba ang 'librenms.conf' file.

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

Usba ang mga parametro sa user ug grupo ngadto sa librenms sama sa gipakita

user = librenms
group = librenms

Sunod, usba ang listen attribute sa /run/php-fpm-librenms.sock ingon sa mosunod.

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

I-save ang mga pagbag-o ug paggawas sa configuration. Siguruha nga i-restart ang serbisyo sa PHP-FPM aron magamit ang mga pagbag-o.

$ sudo systemctl restart php7.4-fpm

Lakang 8: I-configure ang SNMP Daemon

Ang SNMP protocol usa ka TCP/IP protocol nga nagkolekta ug nag-organisar sa mga metrics o impormasyon gikan sa gidumala nga mga device sa tibuok network.

Kadaghanan sa mga himan sa pag-monitor sama sa Cacti naggamit sa serbisyo sa SNMP aron makolekta ang kasayuran gikan sa mga hilit nga host. Ug mao usab ang LibreNMS.

Aron ma-configure ang serbisyo sa SNMP, ipadayon ug kopyaha ang snmpd.conf.example file sa /etc/snmp/snmpd.conf file.

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

Sunod, usba ang snmpd.conf file.

$ sudo vim /etc/snmp/snmpd.conf

Pangitaa ang RANDOMSTRINGGOESHERE string.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Usba kini sa librenms.

com2sec readonly  default		  librenms

I-save ang mga pagbag-o ug paggawas.

Sunod, i-download ang distro file, nga usa ka file nga awtomatiko nga nakit-an ang OS sa gidumala nga mga node ug gipalahi ang pag-apod-apod niini.

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

Himoa kini nga ma-executable ug i-restart ang serbisyo sa SNMP.

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

Lakang 9: I-configure ang Nginx para sa LibreNMS

Uban sa Nginx isip among gusto nga web server, kinahanglan namong mohimo og dugang nga lakang ug i-configure kini aron ma-server ang LibreNMS.

Una, maghimo kita og Nginx server block sama sa gipakita.

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

Idikit ang mosunod nga mga linya sa code. Para sa hiyas sa server_name, ihatag ang rehistradong domain name sa imong server o IP address.

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

I-save ang mga pagbag-o ug paggawas sa configuration file. Sunod, i-enable ang Nginx server block pinaagi sa paghimo og simbolo nga link sama sa gipakita.

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

Dayon i-restart ang Nginx aron i-apply ang mga pagbag-o nga gihimo sa configuration.

$ sudo systemctl restart nginx

Dugang pa, mahimo nimong kumpirmahon nga ang tanan nga mga setting sa Nginx okay pinaagi sa pagpadagan sa mando:

$ sudo nginx -t

Lakang 10: Kopyaha ang Logrotate ug Cron Configuration

Sa kasagaran, gitipigan sa LibreNMS ang mga log niini sa /opt/librenms/logs nga direktoryo. Sa paglabay sa panahon, kini dali nga makapuno ug makapresentar sa mga problema sa kawanangan. Aron mapugngan kini, girekomenda ang pag-rotate sa daan nga mga file sa log.

Busa kopyaha ang logrotate file sa LibreNMS nga direktoryo ngadto sa /etc/logrotate.d/ direktoryo.

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

Parehas nga importante, kopyaha ang cron job file ingon sa mosunod aron tugotan ang awtomatik nga pagboto ug pagdiskobre sa mga bag-ong device

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

Lakang 11: Kompletoha ang Setup sa LibreNMS gikan sa usa ka Browser

Aron makompleto ang setup gikan sa usa ka browser, adto sa mosunod nga URL:

http://server-ip

Kini magdala kanimo ngadto sa pre-installation checklist nga gipakita. Kung maayo ang tanan, i-klik ang icon nga 'database' sa tuo.

Siguruha nga pun-on ang tanan nga mga detalye sa database ug i-klik ang 'Check Credentials'.

Kung na-validate na ang mga detalye sa database, i-klik ang 'Build Database'.

Kung makaagi ka niini nga lakang, i-klik ang sunod nga icon aron makahimo usa ka Admin user. Ihatag ang username, password, ug ang email sa Admin user ug i-klik ang 'Add user'.

Sa katapusan, pag-klik sa katapusan nga buton aron mahuman ang pag-install.

Makasugat ka niini nga sayup nga nagpahibalo kanimo nga ang installer 'Napakyas sa pagsulat sa file: /opt/librenms/.env'.

Apan ayaw kabalaka. Manwal lang nga i-update ang /opt/librenms/.env file pag-usab uban ang mga detalye sa database nga gihatag. Kini nga mga detalye magkalainlain sa imong kaso.

Busa, pag-access sa file.

$ sudo nano /opt/librenms/.env

Pagtangtang sa tanan nga sulud sa file ug idikit ang mga detalye nga gihatag sa taas sa file ug i-save ang mga pagbag-o.

Sunod nga ulo balik ug i-klik ang 'Sulayi' nga buton. Kini magdala kanimo ngadto sa LibreNMS login page. Ihatag ang mga kredensyal sa pag-login ug i-klik ang 'Login'.

Sa higayon nga naka-log in makakuha ka sa ingon nga dashboard. Gikan dinhi, mahimo nimong sugdan ang pagdugang sa imong mga host ug pagmonitor sa lainlaing mga sukatan.

Ug mao kana. Niini nga giya, kami naglakaw kanimo pinaagi sa pag-instalar sa LibreNMS monitoring tool sa Debian 11/10.