Otu esi etinye ngwa nlekota LibreNMS na Debian 11/10


LibreNMS bụ ngwa nleba anya ịkparịta ụka n'igwe mepere emepe yana arụpụtara nke ọma nke na-enye ọtụtụ njirimara na ike maka ngwaọrụ netwọkụ gị.

Atụmatụ gụnyere:

  • Nchọpụta netwọkụ gị niile na-akpaghị aka site na iji ARP, SNMP, BGP, OSPF, LLDP na FDP protocols.
  • Sistemụ ịdọ aka ná ntị bụ nke a na-ahazi nke ukwuu ma nwee ike tweaked izipu ọkwa site na email, Slack, na ọwa ndị ọzọ.
  • Dashboard dị mfe ma dịkwa mfe ịhazi.
  • API zuru oke maka ijikwa na eserese data sitere na sava nlebanya gị.
  • Nkwado ngwaọrụ dị ukwuu - Na-akwado ọtụtụ ndị na-ere ngwaike dị ka Cisco, Juniper, HP, na ọtụtụ ndị ọzọ.
  • Mmelite akpaaka na ndozi ahụhụ.
  • Nnwale ọtụtụ ihe.
  • Nkwado ala ala maka ngwa Android na iOS.
  • na ọtụtụ ndị ọzọ.

N'ime ntuziaka a, anyị ga-etinye ngwaọrụ nlekota LibreNMS na Debian 11/10.

Kwụpụ 1: Wụnye Nginx, MariaDB na PHP

Iji bido, megharịa ebe nchekwa ndị ahụ wee wụnye ngwugwu achọrọ dị ka ndị a:

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

Nzọụkwụ na-esote bụ ịwụnye Nginx na ngwugwu ndị ọzọ dị ka curl, git, SNMP, na ngwugwu python nke a ga-achọrọ site na ngwaọrụ nlekota LibreNMS.

Yabụ, mee iwu ahụ:

$ 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

Na-esote, wụnye ihe nkesa nchekwa data MariaDB, PHP, na mgbakwunye PHP ndị ọzọ nke ngwaọrụ nlekota LibreNMS chọrọ.

$ 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

Ozugbo arụnyere, jide n'aka na ị ga-eme ka Nginx, php-fpm, MariaDB, na ọrụ SNMP dị ka egosiri.

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

Kwụpụ 2: Hazie TimeZone maka PHP

Nzọụkwụ ọzọ chọrọ ka anyị hazie ma ọ bụ tọọ oge mpaghara PHP. Emere nke a na faịlụ php.ini nke bụ faịlụ nhazi PHP ndabara.

Nweta faịlụ nhazi php.ini n'ụzọ ndị a site na iji nchịkọta akụkọ ọkacha mmasị gị.

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

Gaa na mpaghara date.timezone wee tọọ ya na mpaghara oge gị. Iji nweta ndepụta zuru oke nke mpaghara oge niile akwadoro, gaba na saịtị PHP gọọmentị.

N'ihe atụ a, anyị na-edobe mpaghara oge na UTC.

date.timezone = UTC

Wee chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ.

Kwụpụ 3: Mepụta ebe nchekwa data maka LibreNMS

N'ime usoro a, anyị ga-emepụta nchekwa data maka ntinye LibreNMS. Mana nke mbụ, ka anyị chekwaa nchekwa data site na iji edemede a:

$ sudo mysql_secure_installation

Soro ntuziaka zuru ezu nke ga-eduzi gị otu esi emepụta paswọọdụ mgbọrọgwụ MariaDB, wepụ ndị ọrụ na-amaghị aha wee nwalee nchekwa data ahụ ma mesịa kwe ka nbanye mgbọrọgwụ dịpụrụ adịpụ.

Ọzọ, banye na MariaDB:

$ sudo mysql -u root -p

Wee mee iwu ndị a ka imepụta nchekwa data na onye ọrụ nchekwa data wee kenye onye ọrụ nchekwa data niile ohere.

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

Wee chekwaa mgbanwe ndị ahụ wee pụọ na ngwa ngwa MariaDB.

FLUSH PRIVILEGES;
EXIT;

Ụfọdụ nlegharị anya nchekwa data dị mkpa. Ya mere, mepee faịlụ nhazi MariaDB egosiri:

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

Mgbe ahụ, tapawa ahịrị koodu ndị a na ngalaba 'mysqld'.

innodb_file_per_table=1
lower_case_table_names=0

Chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ ahụ. Ka itinye mgbanwe ndị a, malitegharịa ihe nkesa nchekwa data.

$ sudo systemctl restart mariadb

Kwụpụ 4: Tinye onye ọrụ LibreNMS

Ịkwesịrị ịmepụta onye ọrụ LibreNMS ọhụrụ. Nke a bụ onye ọrụ LibreNMS ga-arụ n'okpuru. N'ihe atụ a, anyị na-eke onye ọrụ a na-akpọ librenms nwere njirimara ndị a.

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

  • Nhọrọ -d na-edobe ndekọ ụlọ maka onye ọrụ librenms gaa na /opt/librenms directory.
  • Nhọrọ -r na-ahazi onye ọrụ librenms ka onye ọrụ sistemụ.
  • Nhọrọ -M na-amafe imepụta ndekọ ụlọ maka onye ọrụ ebe akọwapụtala ya site na iji nhọrọ -d.
  • Nhọrọ -s na-akọwapụta ụdị shei, na nke a, bash.

Kwụpụ 5: Ebe nchekwa Clone LibreNMS Git

Ngbanwe gia, anyị ga-emechi ebe nchekwa LibreNMS git ka ịmalite ịtọlite ya.

Gbaa iwu ndị a iji mechie ebe nchekwa Git

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

Wee tụgharịa laghachi na ndekọ ụlọ.

$ cd  ~

Na-esote, anyị kwesịrị ikenye nwe ndekọ aha na ikike na ndekọ ụlọ nke Librenms. Iji nweta nke a, mee iwu ndị a:

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

Na mgbakwunye, gbanwee ndepụta njikwa ohere maka ndekọ ụlọ Librenms site na iji iwu setfacl. Nke a na-enye ndị otu Librenms ikike ịgụ na ide na akwụkwọ ndekọ aha dị na ndekọ ụlọ.

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

Kwụpụ 6: Wụnye ndabere PHP

PHP chọrọ ụfọdụ ndabere n'oge nhazi nke ngwaọrụ nlekota LibreNMS. Iji mee nke a, ịkwesịrị ịbanye dị ka librenmsuser.

$ sudo su - librenms

Ọzọ, wụnye ndabere PHP niile dị ka ndị a.

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

Ozugbo nrụnye nke ndị dabere, pụọ na onye ọrụ librenms.

$ exit

Kwụpụ 7: Hazie PHP-FPM maka ntinye LibreNMS

N'ịga n'ihu, anyị kwesịrị ime mgbanwe ole na ole na PHP-FPM iji kwado LibreNMS.

Iji mezuo nke a. Detuo faịlụ 'www.conf' nke bụ faịlụ nhazi ọdọ mmiri ndabere na faịlụ 'librenms.conf' dị ka ndị a.

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

Na-esote, dezie faịlụ 'librenms.conf'.

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

Gbanwee paramita onye ọrụ na otu ka ọ bụrụ librenms ka egosiri

user = librenms
group = librenms

Na-esote, gbanwee àgwà gee ntị na /run/php-fpm-librenms.sock dị ka ndị a.

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

Chekwaa mgbanwe wee pụọ na nhazi ahụ. Jide n'aka na ịmalitegharịa ọrụ PHP-FPM iji tinye mgbanwe ndị ahụ.

$ sudo systemctl restart php7.4-fpm

Kwụpụ 8: Hazie SNMP Daemon

Usoro SNMP bụ protocol TCP/IP na-anakọta ma na-ahazi metrik ma ọ bụ ozi sitere na ngwaọrụ ejisiri n'ofe netwọkụ.

Ọtụtụ ngwaọrụ nleba anya dị ka Cacti na-eji ọrụ SNMP nakọta ozi sitere na ndị ọbịa dịpụrụ adịpụ. Ya mere LibreNMS.

Iji hazie ọrụ SNMP, gaa n'ihu detuo faịlụ snmpd.conf.example na faịlụ /etc/snmp/snmpd.conf.

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

Ọzọ, dezie faịlụ snmpd.conf.

$ sudo vim /etc/snmp/snmpd.conf

Chọta eriri RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Gbanwee ya ka ọ bụrụ librenms.

com2sec readonly  default		  librenms

Chekwaa mgbanwe wee pụọ.

Na-esote, budata faịlụ distro, nke bụ faịlụ nke na-achọpụta OS nke ọnụ ọnụ ndị a na-achịkwa na-akpaghị aka ma chọpụta nkesa ya.

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

Mee ka ọ rụọ ọrụ wee malitegharịa ọrụ SNMP.

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

Kwụpụ 9: Hazie Nginx maka LibreNMS

Site na Nginx dị ka sava weebụ kachasị amasị anyị, anyị kwesịrị ịga n'otu ntabi anya wee hazie ya ka ọ bụrụ sava LibreNMS.

Nke mbụ, anyị ga-emepụta ngọngọ nkesa Nginx dị ka egosiri.

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

Tapawa ahịrị koodu ndị a. Maka njirimara server_name, nye aha ngalaba aha ma ọ bụ adreesị IP nke ihe nkesa gị.

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

Chekwaa mgbanwe wee pụọ na faịlụ nhazi. Na-esote, mee ka ngọngọ Nginx nkesa site na ịmepụta njikọ ihe atụ dịka egosiri.

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

Mgbe ahụ malitegharịa Nginx ka itinye mgbanwe ndị emere na nhazi ahụ.

$ sudo systemctl restart nginx

Na mgbakwunye, ị nwere ike kwado na ntọala Nginx niile dị mma site na iji iwu a:

$ sudo nginx -t

Kwụpụ 10: Detuo nhazi Logrotate na Cron

Site na ndabara, LibreNMS na-echekwa ndekọ ya na /opt/librenms/logs directory. Ka oge na-aga, nke a nwere ike mejupụta ngwa ngwa ma gosipụta nsogbu oghere. Iji gbochie nke a, a na-atụ aro ịtụgharị faịlụ ndekọ ochie.

Ya mere detuo faịlụ logrotate na ndekọ LibreNMS na /etc/logrotate.d/ directory.

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

Dịkwa mkpa, detuo faịlụ ọrụ cron dị ka ndị a iji kwe ka ntuli aka akpaaka & nchọpụta nke ngwaọrụ ọhụrụ

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

Kwụpụ 11: Mezue nhazi nke LibreNMS site na ihe nchọgharị

Iji mezue nhazi site na ihe nchọgharị, gaba na URL ndị a:

http://server-ip

Nke a ga-eduru gị gaa na ndepụta nlele mbụ egosiri. Ọ bụrụ na ihe niile dị mma, pịa akara ngosi 'database' n'aka nri.

Jide n'aka na ị dejupụta nkọwa nchekwa data niile wee pịa 'Lelee nzere'.

Ozugbo emechara nkọwa data nchekwa data, pịa 'Mee database'.

Mgbe ị gafere usoro a, pịa akara ngosi na-esote iji mepụta onye ọrụ nchịkwa. Nye aha njirimara, paswọọdụ, na email nke onye ọrụ nchịkwa wee pịa 'Tinye onye ọrụ'.

N'ikpeazụ, pịa bọtịnụ ikpeazụ iji mechaa nrụnye.

Ị ga-adaba na njehie a na-agwa gị na onye nrụnye 'Enweghị ide faịlụ: /opt/librenms/.env'.

Ma echegbula. Naanị iji aka kwalite faịlụ /opt/librenms/.env na nkọwa nchekwa data enyere. Nkọwa ndị a ga-adị iche na nke gị.

Yabụ, nweta faịlụ ahụ.

$ sudo nano /opt/librenms/.env

Hichapụ ọdịnaya niile dị na faịlụ ma mado nkọwa ndị enyere n'elu n'ime faịlụ ma chekwaa mgbanwe ndị ahụ.

Isi azụ azụ wee pịa bọtịnụ 'Tigharịa'. Nke a na-akpọga gị na ibe nbanye LibreNMS. Nye nzere nbanye wee pịa 'Nbanye'.

Ozugbo ịbanye, ị ga-enweta dashboard dị otú ahụ. Site ebe a, ị nwere ike ịmalite ịgbakwunye ndị ọbịa gị wee nyochaa metrik dị iche iche.

Ma nke ahụ bụ ya. N'ime ntuziaka a, anyị ejegharịla gị site na ntinye nke ngwaọrụ nlekota LibreNMS na Debian 11/10.