Kif Tissorvelja l-Kontenituri Docker bl-Għodda ta 'Monitoraġġ Zabbix


Docker huwa bla dubju wieħed mill-għodod DevOps l-aktar għeżież li jissimplifikaw l-iżvilupp, l-iskjerament u t-tbaħħir ta 'applikazzjonijiet ġewwa kontenituri.

Il-kunċett ta 'kontejners jinvolvi lieva immaġini kontenitur. Dawn huma pakketti eżekutibbli żgħar, ħfief u waħedhom li jinkludu dak kollu li huwa meħtieġ biex titħaddem applikazzjoni inkluż il-kodiċi tas-sors, il-libreriji u d-dipendenzi, u l-fajls tal-konfigurazzjoni.

Billi tagħmel hekk, l-applikazzjoni tista 'taħdem fi kważi kull ambjent tal-kompjuter; infrastruttura tradizzjonali tal-IT, sħaba, u numru kbir ta 'togħmiet Linux/UNIX.

Il-monitoraġġ tal-kontenituri jgħin lit-timijiet tal-operat jidentifikaw il-kwistjonijiet sottostanti u jsolvuhom fil-ħin. Il-monitoraġġ tal-kontejners jinkludi l-qbid ta’ metriċi bażiċi bħal zkuk f’ħin reali li huma ta’ għajnuna fid-debugging u li javża lit-tim tal-IT meta għandu jiżdied.

Zabbix hija għodda popolari għall-monitoraġġ tal-infrastruttura tal-IT li żżomm għajnejk fuq kważi kull element tal-ambjent tiegħek inkluż tagħmir fiżiku bħal servers u tagħmir tan-netwerk bħal routers u swiċċijiet. Jista 'wkoll jimmonitorja applikazzjonijiet, servizzi, u databases.

F'din il-gwida, ser nuruk kif tista' tissorvelja l-kontenituri Docker billi tuża l-għodda ta 'monitoraġġ Zabbix fil-Linux.

Hawn dak li għandek bżonn qabel tibda:

L-ewwel nett, kun żgur li għandek żewġ nodi - L-ewwel node huwa s-server Zabbix. Dan huwa n-nodu li minnu se nissorveljaw is-server Docker remot. Għandna artiklu dwar:

  • Kif tinstalla Zabbix fuq Rocky Linux u AlmaLinux
  • Kif Tinstalla Zabbix Monitoring Tool fuq Debian 11/10
  • Kif Tinstalla Zabbix fuq RHEL 8
  • Kif tinstalla Zabbix fuq Ubuntu

It-tieni node huwa s-server Docker li fuqu huwa installat Docker. Dan huwa n-nodu minn fejn se nħaddmu l-kontenituri Docker u nissorveljaw l-attività tal-kontejners.

  • Kif tinstalla Docker fuq Rocky Linux u AlmaLinux
  • Kif tinstalla u tuża Docker fuq Ubuntu 20.04
  • Kif tinstalla Docker f'CentOS u RHEL 8/7

Sussegwentement, kun żgur li għandek aċċess SSH għan-node tas-server Docker tiegħek b'utent sudo diġà kkonfigurat.

Bil-konfigurazzjoni tiegħek f'postha, issa tista' ddawwar il-kmiem tiegħek!

Pass 1: Installa Zabbix-Agent fil-Linux

Biex timmonitorja l-kontenituri Docker fuq is-server remot, għandek bżonn tinstalla aġent Zabbix, li huwa aġent ta 'monitoraġġ li huwa skjerat fuq nodu fil-mira biex jimmonitorja b'mod attiv il-metriċi tas-sistema u applikazzjonijiet oħra.

L-ewwel, għandek bżonn tinstalla r-repożitorju Zabbix fuq in-node Docker.

----------- On Ubuntu 20.04 ----------- 
$ sudo wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
$ sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
$ sudo apt update
$ sudo apt install zabbix-agent2

----------- On RHEL-based Distro ----------- 
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
$ sudo dnf update
$ sudo dnf install zabbix-agent

----------- On Debian 11 ----------- 
$ sudo wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1%2Bdebian11_all.deb
$ sudo dpkg -i zabbix-release_5.4-1%2Bdebian11_all.deb
$ sudo apt update
$ sudo apt install zabbix-agent2

----------- On Debian 10 ----------- 
$ sudo wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1%2Bdebian10_all.deb
$ sudo dpkg -i zabbix-release_5.4-1%2Bdebian10_all.deb
$ sudo apt update
$ sudo apt install zabbix-agent2

Pass 2: Ikkonfigura Zabbix-Agent fil-Linux

B'mod awtomatiku, l-aġent Zabbix huwa ssettjat biex jibgħat metriċi lis-server Zabbix fuq l-istess host li huwa installat. Peress li l-għan tagħna huwa li nissorveljaw il-kontenituri docker fuq is-server remot, huma meħtieġa xi konfigurazzjonijiet addizzjonali.

Għalhekk, aċċess għall-fajl tal-konfigurazzjoni tal-aġent Zabbix.

$ sudo vim /etc/zabbix/zabbix_agent2.conf

Il-fajl tal-konfigurazzjoni fih settings li jispeċifikaw l-indirizz fejn jintbagħtu l-metriċi, il-port użat għall-konnessjonijiet u ħafna aktar. Fil-biċċa l-kbira, is-settings default jaħdmu tajjeb.

Biex tikkonfigura l-aġent Zabbix biex jibgħat metriċi lis-server Zabbix, sib id-direttiva li hija kkonfigurata biex tibgħat metriċi lill-indirizz loopback, jew sempliċiment, l-istess sistema ospitanti.

Server=127.0.0.1

Issettja l-indirizz biex jirrifletti l-indirizz tas-server Zabbix

Server=zabbix-server-IP

Barra minn hekk, innaviga lejn it-taqsima 'Verifiki attivi' u ibdel id-direttiva biex tipponta lejn l-indirizz IP tas-server Zabbix.

ServerActive=zabbix-server-IP

Kun żgur li taġġusta wkoll l-isem tal-host tas-server Docker kif xieraq. L-isem tal-host tas-server Docker tiegħi huwa Ubuntu20.

Hostname=Ubuntu20

Imbagħad issalva l-bidliet u oħroġ mill-fajl tal-konfigurazzjoni Zabbix.

Biex l-aġent Zabbix iżomm għajnejh fuq il-kontenituri Docker, trid iżżid l-utent Zabbix, li huwa installat b'mod awtomatiku, mal-grupp docker.

$ sudo usermod -aG docker zabbix

Biex tapplika l-bidliet li saru fil-fajl tal-konfigurazzjoni, ibda mill-ġdid is-servizz Zabbix-agent u ppermettih jibda mal-istartjar tas-sistema.

$ sudo systemctl restart zabbix-agent2
$ sudo systemctl enable zabbix-agent2

Ikkonferma l-istatus tat-tħaddim tal-aġent Zabbix kif ġej.

$ sudo systemctl status zabbix-agent2

L-aġent Zabbix jisma fuq il-port 10050. Jekk għandek firewalld taħdem, ikkunsidra li tiftaħ il-port kif ġej.

----------- On UFW Firewall ----------- 
$ sudo ufw allow 10050/tcp
$ sudo ufw reload

----------- On Firewalld ----------- 
$ sudo firewall-cmd --add-port=10050/tcp --permanent
$ sudo firewall-cmd --reload

Kbir! Issa ninsabu fin-nofs. L-aġent Zabbix issa jista 'jibgħat il-metriċi tal-kontejners Docker lis-server Zabbix.

Fil-pass li jmiss, se nżidu s-server Docker mal-interface tal-web Zabbix u nissorveljaw il-kontenituri Docker.

Pass 3: Żid id-Docker ma' Zabbix Server għall-Monitoraġġ

Biex tissorvelja host remot, trid iżżidha mad-dashboard tas-server Zabbix permezz ta 'browser. Zabbix jipprovdi numru kbir ta’ mudelli għal diversi servizzi u applikazzjonijiet. Aħna se norbtu l-mudell xieraq mal-host Docker biex jissorveljaw speċifikament il-kontenituri. Imma l-ewwel, aċċessa għall-paġna tal-login tas-server Zabbix.

http://zabbix-server-ip/zabbix

Ladarba tkun illoggjat, innaviga lejn il-bar tal-lemin u kklikkja fuq 'Konfigurazzjoni' imbagħad 'Ospiti'.

Fir-rokna ta’ fuq tal-lemin, ikklikkja fuq ‘Oħloq host’.

Imla d-dettalji tas-server Docker bħall-hostname u l-isem viżibbli. Għall-Gruppi, Ittajpja ‘Gruppi Docker’ (kull host irid ikun assoċjat ma’ grupp).

Taħt it-tikketta ‘Interfaces’ ikklikkja fuq ‘Add’ u fil-menu li jidher agħżel ‘Agent’.

Sussegwentement, imla l-indirizz IP privat tas-server Docker u żgura li l-port ikun issettjat għal 10050.

Sussegwentement, ikklikkja fuq it-tab Mudelli, u fit-taqsima 'Link mudelli ġodda', speċifika 'Docker by Zabbix agent 2'. Imbagħad ikklikkja l-buttuna ‘Żid’.

Meta tikklikkja l-buttuna Żid, il-host Docker remot jiġi miżjud awtomatikament kif indikat.

F'dan il-punt, is-server Zabbix issa qed jimmonitorja s-server Docker tiegħek. Fil-pass li jmiss, se niskjeraw kontenitur u niċċekkjaw liema metriċi jistgħu jiġu mmonitorjati.

Pass 4: Monitoraġġ Docker Metrics fil Zabbix Monitoraġġ

Biex nibdew nissorveljaw il-metriċi Docker, ser inniedu kontenitur tat-test. Allura, lura lejn is-server Docker tiegħek u tniedi kontenitur.

F'dan l-eżempju, se niġbdu immaġni ta 'kontenitur Ubuntu u noħolqu kontenitur imsejjaħ docker_test_container. Imbagħad se niksbu aċċess għall-qoxra billi tuża l-għażla -it. Il-kmand kollu għall-operazzjonijiet huwa kif ġej.

$ sudo docker run --name docker_test_container -it ubuntu bash

Tista 'tipprova xi ħaġa ambizzjuża bħall-installazzjoni ta' pakketti ta 'softwer bħal Apache jew MariaDB sabiex tiġġenera xi metriċi bħall-utilizzazzjoni tas-CPU u t-traffiku tan-netwerk.

Issa erġa' lura għad-dashboard tas-server Zabbix. Ikklikkja fuq ‘Monitoraġġ’ imbagħad ‘Hosts’. Ikklikkja fuq l-isem tas-server Docker tiegħek u fl-għażla tal-menu li tidher, agħżel 'Latest data'.

Wara ftit minuti mill-iskjerament tal-kontenitur, is-server Zabbix se jiskopri l-kontenitur u jibda jimla xi statistika.

Tista 'wkoll tara l-grafiċi tal-metriċi varji tal-kontejners billi tikklikkja fuq l-għażliet tal-'grafiċi' tas-server Docker fuq il-paġna 'Hosts'. Hawn taħt tista 'tara l-metriċi tal-użu tas-CPU & tal-Memorja.

Biex tissimula l-ħabta tal-kontejner, aħna se noħorġu għall-għarrieda mill-kontenitur billi nħaddmu l-kmand hawn taħt fil-qoxra tal-kontenitur.

# exit 2

Dan jimplika li tterminajna l-kontenitur b'kodiċi ta 'żball ta' 2. Dan huwa rreġistrat fil-metadejta tal-kontenitur. Biex tara t-twissija, innaviga lejn l-istrixxa tal-ġenb tax-xellug u kklikkja fuq ‘Monitoraġġ’ imbagħad ‘Dashboard’.

It-twissija tidher hawn taħt.

Biex tirrettifika l-iżball, sempliċement ibda l-kontenitur mill-ġdid.

$ sudo docker start docker_test_container 

U dan iwassalna għall-aħħar ta 'din il-gwida. Imxijniek permezz ta’ proċedura pass pass ta’ kif tista’ Tissorvelja l-kontenituri Docker billi tuża l-għodda ta’ monitoraġġ Zabbix.