Docker-konttien valvonta Zabbix-valvontatyökalulla


Docker on kiistatta yksi rakastetuimmista DevOps-työkaluista, joka virtaviivaistaa sovellusten kehittämistä, käyttöönottoa ja toimittamista konteissa.

Konttimuodostuksen käsite sisältää konttikuvien hyödyntämisen. Nämä ovat pieniä, kevyitä ja itsenäisiä suoritettavia paketteja, jotka sisältävät kaiken sovelluksen suorittamiseen tarvittavan, mukaan lukien lähdekoodin, kirjastot ja riippuvuudet sekä määritystiedostot.

Näin sovellus voi toimia melkein missä tahansa tietokoneympäristössä; perinteinen IT-infrastruktuuri, pilvi ja lukemattomia Linux/UNIX-makuja.

Säiliöiden valvonta auttaa käyttöryhmiä tunnistamaan taustalla olevat ongelmat ja ratkaisemaan ne oikea-aikaisesti. Säilön valvonta kattaa perusmittareiden, kuten suorittimen käytön, muistin käytön, kontin koon ja kaistanleveyden käytön, keräämisen. Lisäksi voit kerätä reaaliaikaisia lokeja, joista on apua virheenkorjauksessa ja varoittaa IT-tiimistä, milloin skaalausta on tehtävä.

Zabbix on suosittu IT-infrastruktuurin seurantatyökalu, joka pitää silmällä lähes kaikkia ympäristösi elementtejä, mukaan lukien fyysiset laitteet, kuten palvelimet, ja verkkolaitteet, kuten reitittimet ja kytkimet. Se voi myös valvoa sovelluksia, palveluita ja tietokantoja.

Tässä oppaassa näytämme, kuinka voit valvoa Docker-säilöjä Zabbix-valvontatyökalulla Linuxissa.

Vaatimukset

Tässä on mitä tarvitset ennen aloittamista:

Varmista ensin, että sinulla on kaksi solmua – ensimmäinen solmu on Zabbix-palvelin. Tämä on solmu, josta seuraamme Docker-etäpalvelinta. Meillä on artikkeli aiheesta:

  • Kuinka asentaa Zabbix Rocky Linuxiin ja AlmaLinuxiin
  • Kuinka asentaa Zabbix Monitoring Tool Debian 11/10
  • Kuinka asentaa Zabbix RHEL 8:aan
  • Kuinka asentaa Zabbix Ubuntuun

Toinen solmu on Docker-palvelin, johon Docker on asennettu. Tämä on solmu, josta käytämme Docker-säilöjä ja valvomme konttitoimintaa.

  • Kuinka asentaa Docker Rocky Linuxiin ja AlmaLinuxiin
  • Dockerin asentaminen ja käyttö Ubuntu 20.04:ssä
  • Dockerin asentaminen CentOS:ään ja RHEL 8/7:ään

Varmista seuraavaksi, että sinulla on SSH-käyttöoikeus Docker-palvelinsolmuun, jossa sudo-käyttäjä on jo määritetty.

Kun asetukset ovat paikoillaan, voit nyt kääriä hihat!

Vaihe 1: Asenna Zabbix-Agent Linuxiin

Jotta voit valvoa Docker-säilöjä etäpalvelimella, sinun on asennettava Zabbix-agentti, joka on seuranta-agentti, joka on otettu käyttöön kohdesolmuun valvomaan aktiivisesti järjestelmän mittareita ja muita sovellukset.

Ensin sinun on asennettava Zabbix-arkisto Docker-solmuun.

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

Vaihe 2: Määritä Zabbix-Agent Linuxissa

Oletuksena Zabbix-agentti on asetettu toimittamaan tiedot Zabbix-palvelimelle samalle isännälle, johon se on asennettu. Koska tavoitteemme on valvoa etäpalvelimen docker-säilöjä, joitain lisämäärityksiä tarvitaan.

Tästä syystä käytä Zabbix-agentin määritystiedostoa.

sudo vim /etc/zabbix/zabbix_agent2.conf

Konfigurointitiedosto sisältää asetukset, jotka määrittävät osoitteen, johon mittarit lähetetään, yhteyksiin käytettävän portin ja paljon muuta. Suurimmaksi osaksi oletusasetukset toimivat hyvin.

Jos haluat määrittää Zabbix-agentin lähettämään mittareita Zabbix-palvelimelle, etsi käsky, joka on määritetty lähettämään tiedot takaisinsilmukkaosoitteeseen tai yksinkertaisesti sanottuna samaan isäntäjärjestelmään.

Server=127.0.0.1

Aseta osoite vastaamaan Zabbix-palvelimen osoitetta

Server=zabbix-server-IP

Siirry lisäksi Aktiiviset tarkistukset -osioon ja muuta ohje osoittamaan Zabbix-palvelimen IP-osoitteeseen.

ServerActive=zabbix-server-IP

Muista säätää myös Docker-palvelimen isäntänimi vastaavasti. Docker-palvelimeni isäntänimi on Ubuntu20.

Hostname=Ubuntu20

Tallenna sitten muutokset ja poistu Zabbix-määritystiedostosta.

Jotta Zabbix-agentti voi seurata Docker-säilöjä, sinun on lisättävä Zabbix-käyttäjä, joka on oletuksena asennettu, telakointiryhmään.

sudo usermod -aG docker zabbix

Jos haluat ottaa määritystiedostoon tehdyt muutokset käyttöön, käynnistä Zabbix-agenttipalvelu uudelleen ja ota se käyttöön järjestelmän käynnistyksen yhteydessä.

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

Vahvista Zabbix-agentin toimintatila seuraavasti.

sudo systemctl status zabbix-agent2

Zabbix-agentti kuuntelee porttia 10050. Jos sinulla on UFW-palomuuri tai palomuuri käynnissä, harkitse portin avaamista seuraavasti.

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

Loistava! Nyt ollaan puolivälissä. Zabbix-agentti voi nyt lähettää Docker-säilötiedot Zabbix-palvelimelle.

Seuraavassa vaiheessa lisäämme Docker-palvelimen Zabbix-verkkokäyttöliittymään ja valvomme Docker-säilöjä.

Vaihe 3: Lisää Docker Zabbix-palvelimeen valvontaa varten

Jotta voit valvoa etäisäntää, sinun on lisättävä se Zabbix-palvelimen hallintapaneeliin selaimen kautta. Zabbix tarjoaa lukemattomia malleja eri palveluille ja sovelluksille. Linkitämme sopivan mallin Docker-isäntään erityisten säiliöiden valvomiseksi. Siirry kuitenkin ensin Zabbix-palvelimen kirjautumissivulle.

http://zabbix-server-ip/zabbix

Kun olet kirjautunut sisään, siirry oikeaan sivupalkkiin ja napsauta Määritykset ja sitten Isännät.

Napsauta oikeassa yläkulmassa Luo isäntä.

Täytä Docker-palvelimen tiedot, kuten isäntänimi ja näkyvä nimi. Kirjoita Ryhmille Docker Groups (jokainen isäntä on liitettävä ryhmään).

Napsauta Liitännät-tunnisteen alta Lisää ja valitse näkyviin tulevasta valikosta Agentti.

Täytä seuraavaksi Docker-palvelimen yksityinen IP-osoite ja varmista, että portiksi on asetettu 10050.

Napsauta seuraavaksi Mallit-välilehteä ja määritä Linkitä uudet mallit -osiossa Docker by Zabbix agent 2. Napsauta sitten Lisää-painiketta.

Kun napsautat Lisää-painiketta, Docker-etäisäntä lisätään automaattisesti ohjeiden mukaisesti.

Tässä vaiheessa Zabbix-palvelin tarkkailee Docker-palvelintasi. Seuraavassa vaiheessa otamme käyttöön säilön ja tarkistamme, mitä mittareita voidaan seurata.

Vaihe 4: Dockerin mittareiden seuranta Zabbix-valvonnassa

Aloitamme Dockerin-mittareiden seurannan käynnistämällä testisäiliön. Palaa siis Docker-palvelimellesi ja käynnistä säilö.

Tässä esimerkissä vedämme Ubuntu-säilökuvan ja luomme säilön nimeltä docker_test_container. Tämän jälkeen saamme shell-pääsyn käyttämällä -it-vaihtoehtoa. Koko toimintojen komento on seuraava.

sudo docker run --name docker_test_container -it ubuntu bash

Voit kokeilla jotain kunnianhimoista, kuten asentaa ohjelmistopaketteja, kuten Apache tai MariaDB, luodaksesi joitain mittareita, kuten suorittimen käyttöastetta ja verkkoliikennettä.

Palaa nyt takaisin Zabbix-palvelimen hallintapaneeliin. Napsauta Seuranta ja sitten Isännät. Napsauta Docker-palvelimesi nimeä ja valitse näkyviin tulevasta valikkovaihtoehdosta Viimeisimmät tiedot.

Muutaman minuutin säilön käyttöönoton jälkeen Zabbix-palvelin havaitsee säilön ja alkaa täyttää tilastotietoja.

Voit myös tarkastella eri säilömittareiden kaavioita napsauttamalla Docker-palvelimen kaaviot-vaihtoehtoja Isännät-sivulla. Alla näet prosessorin ja muistin käyttötiedot.

Säilön kaatumisen simuloimiseksi poistumme yllättäen säilöstä suorittamalla alla olevan komennon säilön kuoressa.

exit 2

Tämä tarkoittaa, että olemme lopettaneet säilön virhekoodilla 2. Tämä kirjataan säilön metatietoihin. Nähdäksesi ilmoituksen, siirry vasempaan sivupalkkiin ja napsauta Seuranta ja sitten Käyttöpaneeli.

Varoitus näkyy alla.

Korjaa virhe käynnistämällä säiliö uudelleen.

sudo docker start docker_test_container 

Ja tämä vie meidät tämän oppaan loppuun. Olemme opastaneet sinut vaihe vaiheelta, kuinka voit valvoa Docker-säilöjä Zabbix-valvontatyökalun avulla.