Jinsi ya Kufuatilia Vyombo vya Docker na Zabbix Monitoring Tool


Docker bila shaka ni mojawapo ya zana zinazopendwa zaidi za DevOps ambazo hurahisisha ukuzaji, uwekaji, na usafirishaji wa programu ndani ya makontena.

Dhana ya uwekaji kontena inajumuisha kutumia picha za kontena. Hivi ni vifurushi vidogo, vyepesi na vinavyoweza kutekelezeka vinavyojumuisha kila kitu kinachohitajika ili kuendesha programu ikijumuisha msimbo wa chanzo, maktaba na vitegemezi na faili za usanidi.

Kwa kufanya hivyo, programu inaweza kukimbia karibu na mazingira yoyote ya kompyuta; miundombinu ya kitamaduni ya IT, wingu, na maelfu ya ladha za Linux/UNIX.

Vyombo vya ufuatiliaji husaidia timu za uendeshaji kutambua masuala ya msingi na kuyatatua kwa wakati ufaao. Ufuatiliaji wa vyombo hujumuisha kunasa vipimo vya msingi kama vile kumbukumbu za wakati halisi ambazo husaidia katika utatuzi na kutahadharisha timu ya TEHAMA wakati wa kuongeza.

Zabbix ni zana maarufu ya ufuatiliaji wa miundombinu ya TEHAMA ambayo huweka jicho kwenye karibu kila kipengele cha mazingira yako ikiwa ni pamoja na vifaa halisi kama vile seva na vifaa vya mtandao kama vile vipanga njia na swichi. Inaweza pia kufuatilia programu, huduma, na hifadhidata.

Katika mwongozo huu, tutakuonyesha jinsi unavyoweza kufuatilia vyombo vya Docker kwa kutumia zana ya ufuatiliaji ya Zabbix katika Linux.

Hapa ndio unahitaji kabla ya kuanza:

Kwanza, hakikisha kuwa una nodi mbili - Nodi ya kwanza ni seva ya Zabbix. Hii ndio nodi ambayo tutafuatilia seva ya Docker ya mbali. Tunayo makala kuhusu:

  • Jinsi ya Kusakinisha Zabbix kwenye Rocky Linux na AlmaLinux
  • Jinsi ya Kusakinisha Zabbix Monitoring Tool kwenye Debian 11/10
  • Jinsi ya Kusakinisha Zabbix kwenye RHEL 8
  • Jinsi ya kusakinisha Zabbix kwenye Ubuntu

Njia ya pili ni seva ya Docker ambayo Docker imewekwa. Hii ndio nodi kutoka ambapo tutaendesha vyombo vya Docker na kufuatilia shughuli za chombo.

  • Jinsi ya Kusakinisha Docker kwenye Rocky Linux na AlmaLinux
  • Jinsi ya Kusakinisha na Kutumia Docker kwenye Ubuntu 20.04
  • Jinsi ya Kusakinisha Docker katika CentOS na RHEL 8/7

Ifuatayo, hakikisha kuwa una ufikiaji wa SSH kwa nodi yako ya seva ya Docker na mtumiaji wa sudo ambaye tayari amesanidiwa.

Ukiwa umeweka mipangilio, sasa unaweza kukunja mikono yako!

Hatua ya 1: Sakinisha Zabbix-Agent kwenye Linux

Ili kufuatilia vyombo vya Docker kwenye seva ya mbali, unahitaji kusakinisha wakala wa Zabbix, ambaye ni wakala wa ufuatiliaji ambao huwekwa kwenye nodi lengwa ili kufuatilia vipimo vya mfumo na programu nyinginezo.

Kwanza, unahitaji kusakinisha hazina ya Zabbix kwenye nodi ya 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

Hatua ya 2: Sanidi Zabbix-Agent katika Linux

Kwa chaguo-msingi, wakala wa Zabbix amewekwa kusafirisha vipimo kwa seva ya Zabbix kwenye seva pangishi ambayo imesakinishwa. Kwa kuwa lengo letu ni kufuatilia vyombo vya docker kwenye seva ya mbali, usanidi wa ziada unahitajika.

Kwa hivyo, fikia faili ya usanidi wa wakala wa Zabbix.

$ sudo vim /etc/zabbix/zabbix_agent2.conf

Faili ya usanidi ina mipangilio inayobainisha anwani ambapo vipimo vinatumwa, mlango unaotumika kwa miunganisho na mengine mengi. Kwa sehemu kubwa, mipangilio ya chaguo-msingi itafanya kazi vizuri.

Ili kusanidi wakala wa Zabbix kutuma vipimo kwa seva ya Zabbix, tafuta maagizo ambayo yamesanidiwa kusafirisha vipimo hadi kwenye anwani ya nyuma, au tuweke, mfumo sawa wa seva pangishi.

Server=127.0.0.1

Weka anwani ili kuonyesha anwani ya seva ya Zabbix

Server=zabbix-server-IP

Zaidi ya hayo, nenda kwenye sehemu ya 'Amilifu hundi' na ubadilishe maagizo ili kuelekeza kwenye anwani ya IP ya seva ya Zabbix.

ServerActive=zabbix-server-IP

Hakikisha pia kurekebisha jina la mwenyeji wa seva ya Docker ipasavyo. Jina la mwenyeji wa seva yangu ya Docker ni Ubuntu20.

Hostname=Ubuntu20

Kisha hifadhi mabadiliko na uondoke kwenye faili ya usanidi ya Zabbix.

Ili wakala wa Zabbix aangalie vyombo vya Docker, unahitaji kuongeza mtumiaji wa Zabbix, ambaye amewekwa kwa chaguo-msingi, kwenye kikundi cha docker.

$ sudo usermod -aG docker zabbix

Ili kutumia mabadiliko yaliyofanywa kwenye faili ya usanidi, anzisha upya huduma ya wakala wa Zabbix na uwashe ianze wakati wa kuwasha mfumo.

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

Thibitisha hali ya uendeshaji ya wakala wa Zabbix kama ifuatavyo.

$ sudo systemctl status zabbix-agent2

Wakala wa Zabbix anasikiliza kwenye bandari 10050. Ikiwa una ngome inayoendesha, zingatia kufungua mlango kama ifuatavyo.

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

Kubwa! Sasa tuko kwenye nusu ya alama. Wakala wa Zabbix sasa anaweza kusafirisha vipimo vya kontena ya Docker kwa seva ya Zabbix.

Katika hatua inayofuata, tutaongeza seva ya Docker kwenye kiolesura cha wavuti cha Zabbix na kufuatilia vyombo vya Docker.

Hatua ya 3: Ongeza Docker kwa Seva ya Zabbix kwa Ufuatiliaji

Ili kufuatilia seva pangishi ya mbali, unahitaji kuiongeza kwenye dashibodi ya seva ya Zabbix kupitia kivinjari. Zabbix hutoa maelfu ya violezo kwa huduma na programu mbali mbali. Tutaunganisha kiolezo kinachofaa kwa seva pangishi ya Docker ili kufuatilia makontena mahususi. Lakini kwanza, fikia ukurasa wa kuingia wa seva ya Zabbix.

http://zabbix-server-ip/zabbix

Mara tu unapoingia, nenda kwenye upau wa kando wa kulia na ubofye kwenye 'Usanidi' kisha 'Wapangishi'.

Kwenye kona ya juu kabisa ya kulia, bofya kwenye 'Unda mwenyeji'.

Jaza maelezo ya seva ya Docker kama vile jina la mwenyeji na jina linaloonekana. Kwa Vikundi, Chapa ‘Vikundi vya Docker’ (kila mpangishi lazima ahusishwe na kikundi).

Chini ya lebo ya 'Interfaces' bonyeza 'Ongeza' na kwenye menyu inayoonekana chagua 'Wakala'.

Ifuatayo, jaza anwani ya kibinafsi ya IP ya seva ya Docker na uhakikishe kuwa bandari imewekwa 10050.

Ifuatayo, bofya kichupo cha Violezo, na katika sehemu ya ‘Unganisha violezo vipya’, taja ‘Docker by Zabbix agent 2’. Kisha bonyeza kitufe cha 'Ongeza'.

Unapobofya kitufe cha Ongeza, seva pangishi ya mbali ya Docker itaongezwa kiotomatiki kama ilivyoonyeshwa.

Kwa wakati huu, seva ya Zabbix sasa inafuatilia seva yako ya Docker. Katika hatua inayofuata, tutasambaza kontena na kuangalia ni vipimo vipi vinaweza kufuatiliwa.

Hatua ya 4: Kufuatilia Vipimo vya Doka katika Ufuatiliaji wa Zabbix

Ili kuanza kufuatilia vipimo vya Docker, tutazindua chombo cha majaribio. Kwa hivyo, rudi kwenye seva yako ya Docker na uzindue chombo.

Katika mfano huu, tutavuta picha ya chombo cha Ubuntu na kuunda kontena inayoitwa docker_test_container. Kisha tutapata ufikiaji wa ganda kwa kutumia chaguo la -it. Amri nzima ya shughuli ni kama ifuatavyo.

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

Unaweza kujaribu kitu kikubwa kama vile kusakinisha vifurushi vya programu kama vile Apache au MariaDB ili kuzalisha baadhi ya vipimo kama vile matumizi ya CPU na trafiki ya mtandao.

Sasa rudi kwenye dashibodi ya seva ya Zabbix. Bofya kwenye 'Ufuatiliaji' kisha 'Majeshi'. Bonyeza kwa jina la seva yako ya Docker na kwenye chaguo la menyu inayoonekana, chagua 'Data ya hivi karibuni'.

Baada ya dakika chache za kupeleka kontena, seva ya Zabbix itagundua kontena na kuanza kujaza baadhi ya takwimu.

Unaweza pia kutazama grafu za vipimo mbalimbali vya kontena kwa kubofya chaguo za 'grafu' za seva ya Docker kwenye ukurasa wa 'Wapangishi'. Hapo chini unaweza kuona vipimo vya matumizi ya CPU na Kumbukumbu.

Ili kuiga ajali ya kontena, tutaondoka bila kutarajia kutoka kwa chombo kwa kutekeleza amri iliyo hapa chini kwenye ganda la kontena.

# exit 2

Hii ina maana kwamba tumekatiza kontena kwa msimbo wa hitilafu wa 2. Hii imerekodiwa ndani ya metadata ya chombo. Ili kutazama arifa, nenda kwenye utepe wa kushoto na ubofye kwenye ‘Ufuatiliaji’ kisha ‘Dashibodi’.

Tahadhari imeonyeshwa hapa chini.

Ili kurekebisha kosa, anza tu chombo tena.

$ sudo docker start docker_test_container 

Na hii inatuleta hadi mwisho wa mwongozo huu. Tumekupitia utaratibu wa hatua kwa hatua wa jinsi unavyoweza Kufuatilia vyombo vya Docker kwa kutumia zana ya ufuatiliaji ya Zabbix.