Jinsi ya kusakinisha Zana ya Ufuatiliaji ya LibreNMS kwenye Debian 11/10


LibreNMS ni zana huria na inayoangaziwa kikamilifu ya ufuatiliaji wa mtandao ambayo hutoa anuwai ya vipengele vya ufuatiliaji na uwezo wa vifaa vyako vya mtandao.

Vipengele muhimu ni pamoja na:

  • Ugunduzi wa kiotomatiki wa mtandao wako mzima kwa kutumia itifaki za ARP, SNMP, BGP, OSPF, LLDP na FDP.
  • Mfumo wa arifa ambao unaweza kubinafsishwa sana na unaweza kubadilishwa ili kutuma arifa kupitia barua pepe, Slack na vituo vingine.
  • Dashibodi rahisi, na inayoweza kubinafsishwa kwa urahisi.
  • API pana kabisa ya kudhibiti na kuchora data kutoka kwa seva yako ya ufuatiliaji.
  • Usaidizi mkubwa wa kifaa - Inaauni wachuuzi mbalimbali wa maunzi kama vile Cisco, Juniper, HP, na wengine wengi.
  • Masasisho ya kiotomatiki na marekebisho ya hitilafu.
  • Uthibitishaji wa Vipengele vingi.
  • Usaidizi asilia kwa Programu za Android na iOS.
  • na mengine mengi.

Katika mwongozo huu, tutasakinisha zana ya ufuatiliaji ya LibreNMS kwenye Debian 11/10.

Hatua ya 1: Sakinisha Nginx, MariaDB na PHP

Ili kuanza, onyesha upya hazina na usakinishe vifurushi vya sharti kama ifuatavyo:

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

Hatua inayofuata ni kusakinisha Nginx na vifurushi vya ziada kama vile curl, git, SNMP, na vifurushi vya python ambavyo vitahitajika na zana ya ufuatiliaji ya LibreNMS.

Kwa hivyo, endesha amri:

$ 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

Ifuatayo, sakinisha seva ya hifadhidata ya MariaDB, PHP, na viendelezi vya ziada vya PHP ambavyo vinahitajika na zana ya ufuatiliaji ya 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

Mara tu ikiwa imewekwa, hakikisha kuwasha Nginx, php-fpm, MariaDB, na huduma za SNMP kama inavyoonyeshwa.

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

Hatua ya 2: Sanidi TimeZone kwa PHP

Hatua inayofuata inatuhitaji kusanidi au kuweka saa za eneo la PHP. Hii inafanywa katika faili ya php.ini ambayo ni faili ya usanidi wa PHP.

Fikia faili za usanidi za php.ini katika njia zifuatazo kwa kutumia kihariri chako unachokipenda.

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

Nenda kwenye kigezo cha date.timezone na ukiweke kwenye saa za eneo lako. Ili kupata orodha ya kina ya Saa zote zinazotumika, nenda kwenye tovuti rasmi ya PHP.

Katika mfano huu, tunaweka saa za eneo kwa UTC.

date.timezone = UTC

Kisha uhifadhi mabadiliko na uondoke faili.

Hatua ya 3: Unda Hifadhidata ya LibreNMS

Katika hatua hii, tutaunda hifadhidata ya usakinishaji wa LibreNMS. Lakini kwanza, wacha tuimarishe hifadhidata salama kwa kuendesha hati ifuatayo:

$ sudo mysql_secure_installation

Fuata vidokezo vya kina ambavyo vitakuongoza jinsi ya kuunda nenosiri la msingi la MariaDB, ondoa watumiaji wasiojulikana na ujaribu hifadhidata na hatimaye usiruhusu kuingia kwa mizizi kwa mbali.

Ifuatayo, ingia kwenye MariaDB:

$ sudo mysql -u root -p

Kisha endesha amri zifuatazo ili kuunda hifadhidata na mtumiaji wa hifadhidata na upe haki zote kwa mtumiaji wa hifadhidata.

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

Kisha uhifadhi mabadiliko na uondoke haraka ya MariaDB.

FLUSH PRIVILEGES;
EXIT;

Urekebishaji mzuri wa hifadhidata unahitajika. Kwa hivyo fungua faili ya usanidi ya MariaDB iliyoonyeshwa:

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

Kisha ubandike mistari ifuatayo ya msimbo katika sehemu ya 'mysqld'.

innodb_file_per_table=1
lower_case_table_names=0

Hifadhi mabadiliko na uondoke kwenye faili. Ili kutekeleza mabadiliko, anzisha tena seva ya hifadhidata.

$ sudo systemctl restart mariadb

Hatua ya 4: Ongeza Mtumiaji wa LibreNMS

Pia unahitaji kuunda mtumiaji mpya wa LibreNMS. Huyu ndiye mtumiaji ambaye LibreNMS itakuwa inaendeshwa chini yake. Katika mfano huu, tunaunda mtumiaji anayeitwa librenms na sifa zifuatazo.

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

  • Chaguo la -d huweka saraka ya nyumbani kwa mtumiaji wa librenms kwa saraka ya /opt/librenms.
  • Chaguo la -r husanidi mtumiaji wa librenms kama mtumiaji wa mfumo.
  • Chaguo la -M linaruka kuunda saraka ya nyumbani kwa mtumiaji kwa kuwa tayari imefafanuliwa kwa kutumia chaguo la -d.
  • Chaguo la -s linabainisha aina ya ganda, katika kesi hii, bash.

Hatua ya 5: Clone LibreNMS Git Repository

Kubadilisha gia, sasa tutaunda hazina ya git ya LibreNMS ili kuanza kuisanidi.

Tekeleza amri zifuatazo ili kuunda hazina ya Git

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

Kisha urudi kwenye saraka ya nyumbani.

$ cd  ~

Ifuatayo, tunahitaji kupeana umiliki wa saraka na ruhusa kwa saraka ya nyumbani ya Librenms. Ili kufanikisha hili, endesha amri zifuatazo:

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

Kwa kuongeza, rekebisha orodha za udhibiti wa ufikiaji wa saraka ya nyumbani ya Librenms kwa kutumia setfacl amri. Hii inatoa ruhusa kwa kikundi cha Librenms kusoma na kuandika kwenye saraka ndogo kwenye saraka ya nyumbani.

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

Hatua ya 6: Sakinisha Vitegemezi vya PHP

Baadhi ya vitegemezi vinahitajika na PHP wakati wa kusanidi zana ya ufuatiliaji ya LibreNMS. Ili kufanya hivyo, unahitaji kuingia kama librenmsuser.

$ sudo su - librenms

Ifuatayo, sasisha utegemezi wote wa PHP kama ifuatavyo.

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

Mara tu usakinishaji wa utegemezi ukamilika, ondoka kwa mtumiaji wa librenms.

$ exit

Hatua ya 7: Sanidi PHP-FPM kwa Usakinishaji wa LibreNMS

Kuendelea, tunahitaji kufanya mabadiliko machache kwenye PHP-FPM ili kutumia LibreNMS.

Ili kukamilisha hili. Nakili faili ya 'www.conf' ambayo ni faili chaguo-msingi ya usanidi wa dimbwi kwenye faili ya 'librenms.conf' kama ifuatavyo.

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

Ifuatayo, hariri faili ya 'librenms.conf'.

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

Badilisha vigezo vya mtumiaji na kikundi kuwa librenms kama inavyoonyeshwa

user = librenms
group = librenms

Kisha, rekebisha sifa ya usikilizaji iwe /run/php-fpm-librenms.sock kama ifuatavyo.

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

Hifadhi mabadiliko na uondoke kwenye usanidi. Hakikisha kuwa umeanzisha upya huduma ya PHP-FPM ili kutumia mabadiliko.

$ sudo systemctl restart php7.4-fpm

Hatua ya 8: Sanidi Daemon ya SNMP

Itifaki ya SNMP ni itifaki ya TCP/IP ambayo hukusanya na kupanga vipimo au maelezo kutoka kwa vifaa vinavyodhibitiwa kwenye mtandao.

Zana nyingi za ufuatiliaji kama vile Cacti hutumia huduma ya SNMP kukusanya taarifa kutoka kwa wapangishi wa mbali. Na hivyo pia LibreNMS.

Ili kusanidi huduma ya SNMP, endelea na unakili faili ya snmpd.conf.example kwenye /etc/snmp/snmpd.conf faili.

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

Ifuatayo, hariri faili ya snmpd.conf.

$ sudo vim /etc/snmp/snmpd.conf

Tafuta mfuatano wa RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Ibadilishe kuwa librenms.

com2sec readonly  default		  librenms

Hifadhi mabadiliko na uondoke.

Ifuatayo, pakua faili ya distro, ambayo ni faili ambayo hutambua moja kwa moja OS ya nodes zilizosimamiwa na kutofautisha usambazaji wake.

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

Ifanye itekelezwe na uanze upya huduma ya SNMP.

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

Hatua ya 9: Sanidi Nginx kwa LibreNMS

Na Nginx kama seva yetu ya wavuti tunayopendelea, tunahitaji kuchukua hatua ya ziada na kuisanidi ili seva ya LibreNMS.

Kwanza, tutaunda block ya seva ya Nginx kama inavyoonyeshwa.

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

Bandika mistari ifuatayo ya misimbo. Kwa sifa ya jina_la seva, toa jina la kikoa lililosajiliwa la seva yako au anwani ya 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;
  }
 }

Hifadhi mabadiliko na uondoke kwenye faili ya usanidi. Ifuatayo, wezesha kizuizi cha seva ya Nginx kwa kuunda kiunga cha mfano kama inavyoonyeshwa.

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

Kisha anza tena Nginx ili kutumia mabadiliko yaliyofanywa kwenye usanidi.

$ sudo systemctl restart nginx

Kwa kuongeza, unaweza kuthibitisha kuwa mipangilio yote ya Nginx ni sawa kwa kuendesha amri:

$ sudo nginx -t

Hatua ya 10: Nakili Usanidi wa Logrotate na Cron

Kwa chaguo-msingi, LibreNMS huhifadhi kumbukumbu zake kwenye saraka ya /opt/librenms/logs. Baada ya muda, hii inaweza kujaza kwa urahisi na kuwasilisha matatizo ya nafasi. Ili kuzuia hili, mzunguko wa faili za logi za zamani unapendekezwa.

Kwa hivyo nakili faili ya logrotate kwenye saraka ya LibreNMS kwa saraka ya /etc/logrotate.d/.

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

Muhimu vile vile, nakili faili ya cron job kama ifuatavyo ili kuruhusu upigaji kura otomatiki na ugunduzi wa vifaa vipya

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

Hatua ya 11: Kamilisha Usanidi wa LibreNMS kutoka kwa Kivinjari

Ili kukamilisha usanidi kutoka kwa kivinjari, nenda kwenye URL ifuatayo:

http://server-ip

Hii inakupeleka kwenye orodha tiki ya usakinishaji mapema iliyoonyeshwa. Ikiwa yote yanaonekana vizuri, bofya kwenye ikoni ya 'database' iliyo kulia.

Hakikisha kuwa umejaza maelezo yote ya hifadhidata na ubofye 'Angalia Kitambulisho'.

Mara tu maelezo ya hifadhidata yamethibitishwa, bofya kwenye 'Jenga Hifadhidata'.

Unapopita hatua hii, bofya ikoni inayofuata ili kuunda mtumiaji wa Msimamizi. Toa jina la mtumiaji, nenosiri, na barua pepe ya mtumiaji wa Msimamizi na ubofye 'Ongeza mtumiaji'.

Hatimaye, bofya kitufe cha mwisho ili kumaliza usakinishaji.

Utakutana na hitilafu hii kukujulisha kwamba kisakinishi ‘Imeshindwa kuandika faili: /opt/librenms/.env’.

Lakini usijali. Sasisha upya /opt/librenms/.env faili mwenyewe kwa maelezo ya hifadhidata yaliyotolewa. Maelezo haya yatatofautiana katika kesi yako.

Kwa hivyo, fikia faili.

$ sudo nano /opt/librenms/.env

Futa yaliyomo kwenye faili na ubandike maelezo yaliyotolewa hapo juu kwenye faili na uhifadhi mabadiliko.

Ifuatayo, rudi nyuma na ubofye kitufe cha 'Jaribu tena'. Hii inakupeleka kwenye ukurasa wa kuingia wa LibreNMS. Toa kitambulisho cha kuingia na ubofye 'Ingia'.

Mara tu umeingia utapata dashibodi kama hiyo. Kuanzia hapa, unaweza kuanza kuongeza wapangishaji wako na kufuatilia vipimo mbalimbali.

Na ndivyo hivyo. Katika mwongozo huu, tumekutembeza kupitia usakinishaji wa zana ya ufuatiliaji ya LibreNMS kwenye Debian 11/10.