Zabbix Monitoring Tool bilen doker konteýnerlerine nädip gözegçilik etmeli


Docker, konteýnerleriň içindäki programmalaryň işlenip düzülmegini, ýerleşdirilmegini we iberilmegini tertipleşdirýän iň halanýan DevOps gurallaryndan biridir.

Konteýnerizasiýa düşünjesi konteýner şekillerini ulanmagy göz öňünde tutýar. Bular kiçi, ýeňil we özbaşdak ýerine ýetirip bolýan paketler, deslapky kody, kitaphanalary we garaşlylygy we konfigurasiýa faýllaryny goşmak bilen bir programmany işletmek üçin zerur zatlary öz içine alýar.

Şeýle etmek bilen, programma islendik hasaplaýyş gurşawynda diýen ýaly işläp biler; adaty IT infrastrukturasy, bulut we köp sanly Linux/UNIX tagamlary.

Konteýnerlere gözegçilik operasiýa toparlaryna esasy meseleleri kesgitlemäge we olary öz wagtynda çözmäge kömek edýär. Konteýner gözegçiligi, real wagt surnallary ýaly esasy ölçegleri ele almagy öz içine alýar, haçan-da ulalmalydygyny IT toparyna duýduryş bermekde we duýduryş bermekde peýdaly.

Zabbix, serwer ýaly fiziki enjamlary we marşrutizatorlar we wyklýuçateller ýaly fiziki enjamlary goşmak bilen daşky gurşawyňyzyň ähli elementlerine gözegçilik edýän meşhur IT infrastruktura gözegçilik guralydyr. Şeýle hem, programmalara, hyzmatlara we maglumat bazalaryna gözegçilik edip biler.

Bu gollanmada, Linux-daky Zabbix gözegçilik guralyny ulanyp, Docker konteýnerlerine nädip gözegçilik edip boljakdygyny görkezeris.

Ine, başlamazdan ozal zerur zat:

Ilki bilen, iki düwüniňiziň bardygyna göz ýetiriň - Birinji düwün Zabbix serweridir. Bu uzakdaky Docker serwerine gözegçilik etjek düwünimizdir. Bizde bir makala bar:

  • Zabbix-i Rocky Linux we AlmaLinux-da nädip gurmaly
  • Zabbix gözegçilik guralyny Debian 11/10-da nädip gurmaly
  • RHEL 8-de Zabbix-i nädip gurmaly
  • Ubuntu-da Zabbix-i nädip gurmaly

Ikinji düwün, Docker gurnalan Docker serweridir. Bu, “Docker” konteýnerlerini işledip, konteýnerleriň işine gözegçilik etjek ýerimizdir.

  • Rocky Linux we AlmaLinux-da Docker-i nädip gurmaly
  • Ubuntu 20.04-de Dockeri nädip gurmaly we ulanmaly
  • CentOS we RHEL 8/7-de Dockeri nädip gurmaly

Ondan soň, eýýäm düzülen sudo ulanyjysy bilen Docker serwer düwünine SSH girip biljekdigiňize göz ýetiriň.

Gurnamaňyz bilen, ýeňleriňizi aýlap bilersiňiz!

1-nji ädim: Linux-da Zabbix-Agent guruň

Uzakdaky serwerdäki Docker konteýnerlerine gözegçilik etmek üçin, ulgam ölçeglerine we beýleki programmalara işjeň gözegçilik etmek üçin maksat düwmesine ýerleşdirilen gözegçilik serişdesi bolan Zabbix agenti gurmaly.

Ilki bilen Zockbix ammaryny Docker düwünine gurmaly.

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

2-nji ädim: Linux-da Zabbix-Agent-i sazlaň

Düzgüne görä, Zabbix agenti, gurlan şol bir hostda Zabbix serwerine ölçegleri iberer. Biziň maksadymyz uzakdaky serwerdäki doker konteýnerlerine gözegçilik etmek bolansoň, käbir goşmaça konfigurasiýalar zerurdyr.

Şonuň üçin Zabbix agent konfigurasiýa faýlyna giriň.

$ sudo vim /etc/zabbix/zabbix_agent2.conf

Sazlama faýlynda ölçegleriň iberilýän salgysyny, birikmeler üçin ulanylýan porty we başga-da köp zady görkezýän sazlamalar bar. Köplenç deslapky sazlamalar gowy işlär.

Zabbix agentini ölçegleri Zabbix serwerine ibermek üçin sazlamak üçin, ölçegleri yzyna gaýdýan adrese ibermek üçin düzülen görkezmäni tapyň ýa-da şol bir host ulgamyny goýuň.

Server=127.0.0.1

Zabbix serweriniň salgysyny görkezmek üçin adresi düzüň

Server=zabbix-server-IP

Mundan başga-da, “Işjeň barlaglar” bölümine geçiň we Zabbix serweriniň IP adresini görkezmek üçin görkezmäni üýtgediň.

ServerActive=zabbix-server-IP

Şeýle hem Docker serweriniň baş adyny sazlaň. Docker serwerimiň baş ady Ubuntu20.

Hostname=Ubuntu20

Soňra üýtgeşmeleri ýazdyryň we Zabbix konfigurasiýa faýlyndan çykyň.

Zabbix agentiniň Docker konteýnerlerine göz aýlamagy üçin, deslapky gurnalan Zabbix ulanyjysyny doker toparyna goşmaly.

$ sudo usermod -aG docker zabbix

Konfigurasiýa faýlynda edilen üýtgeşmeleri ulanmak üçin Zabbix-agent hyzmatyny täzeden açyň we ulgamyň işe başlamagyna mümkinçilik beriň.

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

Zabbix agentiniň işleýiş ýagdaýyny aşakdaky ýaly tassyklaň.

$ sudo systemctl status zabbix-agent2

Zabbix agenti 10050 portda diňleýär. Eger gorag diwary işleýän bolsa, porty aşakdaky ýaly açmagy göz öňünde tutuň.

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

Gowy! Indi ýarym bellikde. Zabbix agenti indi Docker konteýner ölçeglerini Zabbix serwerine iberip biler.

Indiki ädimde, Zabbix web interfeýsine Docker serwerini goşarys we Docker konteýnerlerine gözegçilik ederis.

3-nji ädim: Gözegçilik üçin Zabbix serwerine Docker goşuň

Uzakdaky hosta gözegçilik etmek üçin ony brauzer arkaly Zabbix serweriniň dolandyryş paneline goşmaly. Zabbix dürli hyzmatlar we amaly programmalar üçin köp sanly şablonlary üpjün edýär. Konteýnerlere aýratyn gözegçilik etmek üçin degişli şablony Docker öý eýesi bilen baglanyşdyrarys. Emma ilki bilen Zabbix serweriniň giriş sahypasyna giriň.

http://zabbix-server-ip/zabbix

Hasaba gireniňizden soň, sag gapdal paneline geçiň we Sazlama, soňra Hostlar -a basyň.

Iň ýokarky sag burçda, Öý eýesi döretmek -e basyň.

Docker serweriniň host ady we görünýän ady ýaly jikme-jiklikleri dolduryň. Toparlar üçin “Docker Groups” ýazyň (her öý eýesi bir topar bilen baglanyşykly bolmaly).

“Interfeýsler” belliginiň aşagynda “Goşmak” düwmesine basyň we peýda bolan menýuda “Agent” saýlaň.

Ondan soň, Docker serweriniň şahsy IP adresini dolduryň we portuň 10050-e gabat gelendigine göz ýetiriň.

Ondan soň, Şablonlar goýmasyna basyň we Täze galyplary baglanyşdyrmak bölüminde Zabbix agent 2 tarapyndan Docker -i görkeziň. Soňra Goş düwmesine basyň.

Goşmak düwmesine basanyňyzda, uzakdaky Docker öý eýesi görkezilişi ýaly awtomatiki usulda goşular.

Şu wagt Zabbix serweri Docker serweriňize gözegçilik edýär. Indiki ädimde bir konteýner ýerleşdireris we haýsy ölçeglere gözegçilik edip boljakdygyny barlarys.

4-nji ädim: Zabbix Monitoring-de doker ölçeglerine gözegçilik

Docker ölçeglerine gözegçilik etmek üçin synag konteýnerini işe girizmekçi. Şeýlelik bilen, Docker serweriňize gaýdyp, konteýner işe giriziň.

Bu mysalda Ubuntu konteýner şekilini çekeris we docker_test_container atly konteýner dörederis. Soňra -it opsiýasyny ulanyp, gabyklara gireris. Amallar üçin ähli buýruk aşakdaky ýaly.

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

CPU-ny ulanmak we tor trafigi ýaly käbir ölçegleri döretmek üçin Apache ýa-da MariaDB ýaly programma üpjünçilik paketlerini gurmak ýaly uly bir zady synap bilersiňiz.

Indi Zabbix serwer dolandyryş paneline gaýdyp geliň. Gözegçilik -e, soňra Host -a basyň. Docker serweriňiziň adyna basyň we peýda bolan menýu opsiýasynda Iň soňky maglumatlar saýlaň.

Konteýner ýerleşdirilenden birnäçe minut geçensoň, Zabbix serweri konteýner tapar we käbir statistikalary ýerleşdirip başlar.

Şeýle hem, “Hostlar” sahypasyndaky Docker serweriniň “grafikleri” opsiýalaryna basyp, dürli konteýner ölçegleriniň grafiklerini görüp bilersiňiz. Aşakda CPU we oryadyň ulanylyş ölçeglerini görüp bilersiňiz.

Konteýner heläkçiligini simulasiýa etmek üçin, konteýner gabygynyň aşagyndaky buýrugy ýerine ýetirip, garaşylmadyk ýagdaýda konteýnerden çykarys.

# exit 2

Bu, konteýneriň 2 säwlik kody bilen ýatyrandygymyzy aňladýar, bu konteýneriň meta-maglumatynda ýazylýar. Duýduryşy görmek üçin çep gapdal paneline geçiň we Gözegçilik, soňra Dolandyryş paneli düwmesine basyň.

Duýduryş aşakda görkezilýär.

Erroralňyşlygy düzetmek üçin konteýneriň işine täzeden başlaň.

$ sudo docker start docker_test_container 

Bu bolsa bu gollanmanyň soňuna getirýär. “Zabbix” gözegçilik guralyny ulanyp, “Docker” konteýnerlerine nädip gözegçilik edip boljakdygyňyzy ädimme-ädim öwrendik.