Debian 11/10-da LibreNMS gözegçilik guralyny nädip gurmaly


LibreNMS, açyk çeşme we tor enjamlary üçin dürli gözegçilik aýratynlyklaryny we mümkinçiliklerini üpjün edýän açyk çeşme we doly aýratynlykly tor gözegçilik guralydyr.

Esasy aýratynlyklary şulary öz içine alýar:

  • ARP, SNMP, BGP, OSPF, LLDP we FDP protokollaryny ulanyp, tutuş ulgamyňyzy awtomatiki tapmak.
  • Örän düzülip bilinýän we e-poçta, Slack we beýleki kanallar arkaly duýduryş ibermek üçin düzedip bolýan duýduryş ulgamy.
  • simpleönekeý we aňsat düzülip bilinýän dolandyryş paneli.
  • Gözegçilik serweriňizden maglumatlary dolandyrmak we grafika etmek üçin doly giň API.
  • Giňişleýin enjam goldawy - Cisco, Juniper, HP we başga-da köp enjam satyjylaryny goldaýar.
  • Awtomatiki täzelenmeler we näsazlyklary düzetmek.
  • Köp faktorly tanamak.
  • Android we iOS programmalary üçin ýerli goldaw.
  • we başgalar.

Bu gollanmada, LibreNMS gözegçilik guralyny Debian 11/10-da gurarys.

1-nji ädim: Nginx, MariaDB we PHP guruň

Işe başlamak üçin ammarlary täzeläň we deslapky paketleri aşakdaky ýaly guruň:

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

Indiki ädim, LibreNMS gözegçilik guraly tarapyndan talap ediljek curl, git, SNMP we python paketleri ýaly Nginx we goşmaça paketleri gurmak.

Şeýlelik bilen buýrugy işlediň:

$ 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

Ondan soň, LibreNMS gözegçilik guralyna zerur bolan MariaDB maglumat bazasynyň serwerini, PHP we goşmaça PHP giňeltmelerini guruň.

$ 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

Gurlandan soň, görkezilişi ýaly Nginx, php-fpm, MariaDB we SNMP hyzmatlaryny açyň.

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

2-nji ädim: PHP üçin TimeZone sazlaň

Indiki ädim, PHP wagt guşagyny düzmek ýa-da düzmek talap edýär. Bu, adaty PHP konfigurasiýa faýly bolan php.ini faýlynda edilýär.

Php.ini konfigurasiýa faýllaryna halaýan redaktoryňyzy ulanyp, aşakdaky ýollara giriň.

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

Sene.timezone parametrine geçiň we wagt guşagyňyza düzüň. Goldanýan Wagt zolagynyň giňişleýin sanawyny almak üçin resmi PHP sahypasyna geçiň.

Bu mysalda wagt guşagyny UTC-a düzýäris.

date.timezone = UTC

Soňra üýtgeşmeleri ýazdyryň we faýllardan çykyň.

3-nji ädim: LibreNMS üçin maglumat bazasyny dörediň

Bu ädimde LibreNMS gurmak üçin maglumat bazasyny dörederis. Firstöne ilki bilen aşakdaky skripti işledip maglumat bazasyny ygtybarly edeliň:

$ sudo mysql_secure_installation

MariaDB kök parolyny nädip döretmelidigi, näbelli ulanyjylary aýyrmagy we maglumat bazasyny synagdan geçirmegi we iň soňunda uzakdan kök girişini gadagan etmegiň ýollary barada jikme-jik görkezmelere eýeriň.

Ondan soň, MariaDB-e giriň:

$ sudo mysql -u root -p

Soňra maglumatlar binýadyny we maglumat bazasyny ulanyjyny döretmek we maglumatlar bazasynyň ulanyjysyna ähli artykmaçlyklary bellemek üçin aşakdaky buýruklary işlediň.

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

Soňra üýtgeşmeleri ýazdyryň we MariaDB haýyşyndan çykyň.

FLUSH PRIVILEGES;
EXIT;

Käbir maglumat bazasyny gowy düzmek zerur. Şonuň üçin görkezilen MariaDB konfigurasiýa faýlyny açyň:

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

Soňra aşakdaky setirleri mysqld bölüminde goýuň.

innodb_file_per_table=1
lower_case_table_names=0

Üýtgeşmeleri ýazdyryň we faýldan çykyň. Üýtgeşmeleri ulanmak üçin maglumat bazasynyň serwerini täzeden açyň.

$ sudo systemctl restart mariadb

4-nji ädim: LibreNMS ulanyjysyny goşuň

Şeýle hem täze LibreNMS ulanyjysyny döretmeli. Bu, LibreNMS-iň aşagynda işleýän ulanyjy. Bu mysalda, aşakdaky atributlary bolan librenms atly ulanyjy döredýäris.

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

  • -d opsiýasy librenms ulanyjysy üçin baş katalogy/opt/librenms katalogyna düzýär.
  • -r opsiýasy librenms ulanyjysyny ulgam ulanyjysy hökmünde düzýär.
  • -M opsiýasy ulanyjy üçin öý bukjasyny döretmegi taşlaýar, sebäbi -d opsiýasy bilen eýýäm kesgitlenendir.
  • -s opsiýasy gabygyň görnüşini kesgitleýär, bu ýagdaýda baş.

5-nji ädim: Klon LibreNMS Git ammary

Dişli enjamlary çalşyp, indi gurnamaga başlamak üçin LibreNMS git ammaryny klonlaşdyrjak bolýarys.

Git ammaryny klonlamak üçin aşakdaky buýruklary işlediň

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

Soňra öý katalogyna geçiň.

$ cd  ~

Ondan soň, Librenms öý katalogyna katalog eýeçiligini we rugsatlary bellemeli. Muňa ýetmek üçin aşakdaky buýruklary işlediň:

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

Mundan başga-da, setfacl buýrugyny ulanyp, Librenms öý katalogyna giriş gözegçilik sanawlaryny üýtgediň. Bu, Librenms toparyna baş bukjadaky kiçi bukjalarda okamaga we ýazmaga rugsat berýär.

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

6-njy ädim: PHP baglylyklaryny guruň

Käbir baglylyklar, LibreNMS gözegçilik guraly gurlanda PHP tarapyndan talap edilýär. Munuň üçin librenmsuser hökmünde girmeli.

$ sudo su - librenms

Ondan soň, PHP baglylyklarynyň hemmesini aşakdaky ýaly guruň.

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

Baglylyklary gurmak gutaransoň, librenms ulanyjysyndan çykyň.

$ exit

7-nji ädim: LibreNMS gurmak üçin PHP-FPM sazlaň

LibreNMS-i goldamak üçin PHP-FPM-ä birnäçe üýtgeşme girizmeli.

Muny amala aşyrmak üçin. Howuzyň konfigurasiýa faýly bolan “www.conf” faýlyny aşakdaky ýaly “librenms.conf” faýlyna göçüriň.

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

Ondan soň, librenms.conf faýlyny redaktirläň.

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

Ulanyjyny we topar parametrlerini görkezilişi ýaly librenma üýtgediň

user = librenms
group = librenms

Ondan soň, diňlemek häsiýetini /run/php-fpm-librenms.sock görnüşine aşakdaky ýaly üýtgediň.

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

Üýtgeşmeleri ýazdyryň we konfigurasiýadan çykyň. Üýtgeşmeleri ulanmak üçin PHP-FPM hyzmatyny täzeden açyň.

$ sudo systemctl restart php7.4-fpm

8-nji ädim: SNMP Daemonyny sazlaň

SNMP protokoly TCP/IP protokoly bolup, torda dolandyrylýan enjamlardan ölçegleri ýa-da maglumatlary ýygnaýar we tertipleýär.

Cacti ýaly gözegçilik gurallarynyň köpüsi uzakdaky ýer eýelerinden maglumat ýygnamak üçin SNMP hyzmatyndan peýdalanýar. LibreNMS-de şeýle.

SNMP hyzmatyny sazlamak üçin öňe gidiň we snmpd.conf.example faýlyny /etc/snmp/snmpd.conf faýlyna göçüriň.

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

Ondan soň snmpd.conf faýlyny redaktirläň.

$ sudo vim /etc/snmp/snmpd.conf

RANDOMSTRINGGOESHERE setirini tapyň.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Kitaphanalara üýtgediň.

com2sec readonly  default		  librenms

Üýtgeşmeleri ýazdyryň we çykyň.

Ondan soň dolandyrylýan düwünleriň OS-yny awtomatiki kesgitleýän we paýlanyşyny tapawutlandyrýan faýl bolan distro faýly göçürip alyň.

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

Ony ýerine ýetirip, SNMP hyzmatyny täzeden açyň.

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

9-njy ädim: LibreNMS üçin Nginx-i sazlaň

Iň gowy görülýän web serwerimiz hökmünde Nginx bilen goşmaça ädim ätmeli we LibreNMS serweri üçin sazlamaly.

Ilki bilen görkezilişi ýaly Nginx serwer blokuny dörederis.

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

Kodlaryň aşakdaky setirlerini goýuň. Server_name atributy üçin serweriňiziň hasaba alnan domen adyny ýa-da IP adresini beriň.

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

Üýtgeşmeleri ýazdyryň we konfigurasiýa faýlyndan çykyň. Ondan soň, görkezilişi ýaly simwoliki baglanyşyk döredip, Nginx serwer blokyny işlediň.

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

Soňra konfigurasiýa girizilen üýtgeşmeleri ulanmak üçin Nginx-i täzeden açyň.

$ sudo systemctl restart nginx

Mundan başga-da, buýrugy ýerine ýetirip, Nginx sazlamalarynyň hemmesiniň gowudygyny tassyklap bilersiňiz:

$ sudo nginx -t

10-njy ädim: Logrotate we Cron konfigurasiýasyny göçüriň

Düzgüne görä, LibreNMS surnallaryny/opt/librenms/logs katalogynda saklaýar. Wagtyň geçmegi bilen bu kosmos meselelerini aňsatlyk bilen dolduryp we hödürläp biler. Munuň öňüni almak üçin köne gündelik faýllaryň aýlanmagy maslahat berilýär.

Şonuň üçin LibreNMS bukjasyndaky logrotate faýlyny /etc/logrotate.d/ bukjasyna göçüriň.

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

Şol bir wagtyň özünde, awtomatiki ses berişlige we täze enjamlaryň tapylmagyna rugsat bermek üçin kron iş faýlyny aşakdaky ýaly göçüriň

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

11-nji ädim: Brauzerden LibreNMS sazlamasyny tamamlaň

Sazlamany brauzerden tamamlamak üçin aşakdaky URL-e geçiň:

http://server-ip

Bu sizi görkezilen gurnama deslapky gözegçilik sanawyna alyp barýar. Hemmesi gowy görünýän bolsa, sag tarapdaky maglumat bazasy nyşanyna basyň.

Maglumat bazasynyň ähli jikme-jikliklerini dolduryň we Şahadatnamalary barlaň düwmesine basyň.

Maglumat bazasynyň jikme-jiklikleri tassyklanandan soň, Maglumat bazasyny gurmak -a basyň.

Bu ädimden geçeniňizde, Admin ulanyjysyny döretmek üçin indiki nyşana basyň. Ulanyjy adyny, parolyny we Admin ulanyjysynyň e-poçta salgysyny beriň we Ulanyjy goş düwmesine basyň.

Ahyrynda, gurnamany gutarmak üçin iň soňky düwmä basyň.

Gurnaýjynyň Faýl ýazyp bilmedi: /opt/librenms/.env size habar berýän bu ýalňyşlyga baş goşarsyňyz.

Worryöne alada etme. Optönekeý /opt/librenms/.env faýlyny maglumat bazasynyň jikme-jiklikleri bilen täzeden täzeläň. Bu jikme-jiklikler siziň ýagdaýyňyzda üýtgäp biler.

Şeýlelik bilen, faýla giriň.

$ sudo nano /opt/librenms/.env

Faýldaky ähli mazmuny pozuň we ýokarda görkezilen maglumatlary faýla goýuň we üýtgeşmeleri ýazdyryň.

Indiki kelläňizi yzyna alyň we Gaýtadan synanyş düwmesine basyň. Bu sizi LibreNMS giriş sahypasyna alyp barýar. Giriş şahsyýet maglumatlaryňyzy beriň we Giriş düwmesine basyň.

Sessiýa açanyňyzdan soň şeýle dolandyryş paneli alarsyňyz. Bu ýerden, öý eýeleriňizi goşup we dürli ölçeglere gözegçilik edip bilersiňiz.

Ine. Bu gollanmada, Debian 11/10-da LibreNMS gözegçilik guralyny gurnamagyň üstünden bardyk.