pátek 24. června 2022

Monitoring Kubernetes by Zabbix 6.0


Nedáno jsem se dostal k monitorování Kubernetes, logicky jsem použil Zabbix 6.0 LTS, protože tato verze již má podporu v podobě šablon pro K8S. Přístup jsem získal na tři servery odlehčeného MicroK8S nad Ubuntu server 22.04 LTS instalovaného jako snap. Servery byly přidány do clusteru.

Díky přístupu na servery jsem měl plnou možnost provést deploy pomocí Helm Chart za pomocí Zabbixem připraveného projektu kubernetes-helm.

Nutné je si individuálně upravit vytvořený konfigurační soubor. Kde jsem upravil tag kontejneru, dále pak adresu Zabbix serveru atd. Všechny proměnné jsou podrobně zdokumentovány. Tento příkaz pustíme např. v klonu projektu.

helm show values . > $HOME/zabbix_values.yaml

Dálé si již vytvoříme namespace a provedeme deploy za pomocí našeho předpisu Zabbix proxy a Zabbix agenta na jednotlivé node.

Pro konfiguraci v Zabbixu vytvoříme virtuálního hosta např. K8S a na něj nasadíme šablonu Kubernetes nodes by HTTP. Dále je nutné nastavit makra.

{$KUBE.API.ENDPOINT.URL} a {$KUBE.API.TOKEN}

Pokud nechceme monitorovat všechny namespace a pods je možné nastavit makra s patřičným regulárním výrazem, který omezíme monitoring jen na námi požadované namespace. Testované prostředí využívalo více jak 30 LLD.

Velmi mile mě překvapilo jak má Zabbix vše podrobně zdokumentováno. Pokud má někdo pocit že je pro něj instalace a konfigurace Prometeus moc složítá, může být monitoring pomocí Zabbixu výrazně jednodušší.

středa 18. května 2022

K2-141b

 

Fascinujicí planeta K2-141b. Dost nepředstavitelné místo ve vesmíru, kde prší kameny

Už jen to, že na toto místo lidstvo přišlo. Dá se tomu vůbec věřit :-)

https://en.wikipedia.org/wiki/K2-141b


sobota 30. dubna 2022

Online streamování hry Valheim

Již nějakou dobu hrajeme s kamarádem a našemi dětmi za mě velmi povedenou hru Valheim. Provozujeme si vlastní dedikovany server. Streamer RoBe mě přivedl na myšlenku sdílet to naše hraní s dětmi online. Ve hře jedeme již druhý svět, takže jsme si již hodně odehráli. Možná máme i co ukázat. Osobně jsem si herní streamování chtěl již delší dobu vyzkoušet a získat nějaké nové zkušenosti.

Byl jsem nasměrován na aplikaci StreamLabs, která v sobě má OBS - Open Broadcaster Software. SteamLabs poskytne velmi širokou funkcionalitu, vcetně možností stáhnout již připravené scény. Ovládání je velmi jednoduché a smysluplné. Dále je přítomna plná podpora streamovací platformy Twitch.TV kam je možno snadno svá videa online přehrávat a po dobu 14ti dnů i ukládat.

Pro ten náš herní server jsem založil i Discord pro lepší komunikaci. Do kanálu se nám zaznamená informace od Bota ohledně přihlášení na server pomocí patřičného Webhooku. Vše si jak jinak monitoruji Zabbixem.

 

pondělí 28. února 2022

END of my story - Seznam.cz, a.s.

Dnešním dnem jsem ukončil mou působnost ve společnosti Seznam.cz, a.s. Bohužel nejsem dostatečně dobrý programátor v jazyce Python, což sem o sobě nikdy ani netvrdil. Osobně jsem si odnesl řadu nových poznatků a ničeho nelituji. Je hloupé, když absolvuji pohovor s někým, kdo ve finále nebyl muj team leader a ani s jedním jsem následně nespolupracoval. Uvědomil jsem si že nechci Zabbix jen školit, ale chci jej i aktivně používat a to se v Seznamu nikterak nepotkalo, byť prostor by tam byl, ale velikost spolešnosti mě uzavšela v jednom oddělení, pro které jem nebyl přínosem.

Bylo na čase se posunout dál a tak jsem po 10 měsících šel jinam. "Změna je život".

středa 23. února 2022

Nastaveni Mapy.cz v Zabbix 6.0 LTS widget Geomaps

Nový Zabbix 6.0 LTS přinesl rozšíření Dashboardu o widget Geomap. V globálním nastavení je možné si vybrat mapové podklady např. OpenStreetMap. Je možné nastavit i mapy.cz.

https://www.zabbix.com/documentation/6.0/en/manual/web_interface/frontend_sections/monitoring/dashboard/widgets/geomap

General > Geographical maps > 

Tile provider: Other

Tile URL: https://mapserver.mapy.cz/turist-m/{z}-{x}-{y}

Max zoom level: 18




čtvrtek 3. února 2022

Valheim Dedicated Server za pomoci Docker

Starší syn nedávno začal hrát hru Valheim se synem mého kamaráda. Netrvalo dlouho a zvědavost mě donutila se k nim též připojit a zažít tak vikingské dobrodružství, jako např. plavba na lodi do neznama. Hra ve čtyřech je úplně něco jiného.

Technické problémy spojené s provozem lokálního dedikovaného serveru na notebooku mě přivedly k myšlence pustit hru někde v internetu. Hra má svů port i pro Linux a tak se dalo čekat, že vývojáři něco připravené mají. Velmi mile mě překvapila možnost pustit dedikovaný herní server v Dockeru. Hra včera oslavila první narozeniny a i tak se dostala do povědomí mnoha hráčů, ale i hosterů. I u nás v čechách se hostingem zabývá fakaheda.eu. Proč za to platit, když si to umím zprovoznit sám :-)

Netrvalo dlouho s server běžel, dle mých představ. Následovalo zachovat svět, který měli chlapci odehraný. Škoda mnoha hodin. A tak jsem se připojil k vlastníkovi světa a data zkopíroval. Mírnou konfigurací se povedlo vše zachovat. To bych nebyl já abych si server i Docker kontejner nemonitoroval Zabbixem.

Valheim.SmEjDiL.CZ



čtvrtek 25. listopadu 2021

git - error: unknown option `initial-branch=master

Při práci s git na Ubuntu Ubuntu 20.04.3 LTS jsem narazil na tuto chybu.

git init --initial-branch=master

error: unknown option `initial-branch=master 

V Ubuntu je verze git version 2.25.1, která parametr --initial-branch nezná. Doporučeno je si pridat aktualnější repo. https://git-scm.com/download/linux

add-apt-repository ppa:git-core/ppa
apt update
apt install git

git version
git version 2.34.0

čtvrtek 18. listopadu 2021

Zabbix 6.0.0alpha6 - HashiCorp Vault

Nová verze Zabbix 6.0 LTS disponuje novou fukcionalitu pro bezpečné ukládání tajemství např. hesla. Secrets se ukládaji do aplikace Vault od společnosti HashiCorp. Pro vyzkoušení jsem si nainstaloval Zabbix 6.0.0alpha6 a Vault jsem zprovoznil pomoci Docker.

git clone https://github.com/misterpki/docker-vault
cd docker-vault
docker-compose -f docker-compose.yml up -d 

Na http://192.168.42.7:8200 se můžeme přihlásit do web gui. Použijeme TOKEN, který je přednastaven v Dockeru. Tato instalace je vhodná jen pro testovaní nikoliv pro produkci, protože Vault neběží na SSL/TLS.

V dokumentaci Zabbixu je Storage of secrets podrobně popsáno. Dále je nutné provést úpravu konfiguračních souboru zabbix serveru a frontendu.

vi /etc/zabbix/zabbix_server.conf
VaultToken=vault-plaintext-root-token
VaultURL=http://192.168.42.7:8200

vi /etc/zabbix/web/zabbix.conf.php
$DB['VAULT_URL']        = 'http://192.168.42.7:8200';
$DB['VAULT_TOKEN']      = 'vault-plaintext-root-token';

Do Vault je třeba založit secret pro Zabbix a ten posléze nastavit v makrech Zabbix šablony nebo hosta. To je možné provést z cmd nebo z web gui Vault.

Pro ukázku jsem si vybrat dvě metriky, které využívají secret. Jedním je Item type SSH, kde se přihlásíme na server pomocí SSH a získáme datum. A druhý Item type Database, kde se pomocí nakonfigurovaného UnixODBC připojíme k databázi zabbix a zjistíme jeji velikost. Obě hesla nebudou uložena v databázi Zabbixu jako makra, ale hesla si stáhnou z HashiCorp Vault.

Vault po přihlášení

Nastavený secret zabbix

Historie změn

Odtajněný pohled na secret ve formátu JSON

Metrika SSH - date

Metrika DBSIZE - ODBC

Makro Vault na Hostu

Makro Vault v šabloně  
Zabbix Latest data dvou metrik

Pokud to s HashiCorp Vault myslíme vážně a provozujeme jej produkčně má smysl nastavit monitorování pomocí šablony HashiCorp Vault by HTTP.

pátek 12. listopadu 2021

Zabbix 6.0.0alpha6 - nový dashboard widgets #geomap

Očekávaný Zabbix 6.0 LTS je aktuálně ve verzi Zabbix 6.0.0alpha6. Velmi zajímavou novinkou je přidání nového widgets geomap do dashboard. Je k dispozici hned několik mapových poskytovatelů OpenStreetmap Mapnik nebo OpenTopoMap.

Podrobný popis nastavení je dostupný v dokumentaci.

Pár ukázek, jak mohou být mapové podklady využity z pohledu Zabbix monitorovacího systému.







sobota 30. října 2021

Zabbix server s PostgreSQL 14 a TimescaleDB 2.5

S oblibou používám OS FreeBSD a na něm provozuji Zabbix a to v konfiguraci s DB PostgreSQL s rozšířením TimescaleDB. TSDB vyšlo nedávno ve verzi 2.5.0 a tak jsem si napsal svůj velmi jednoduchý Ansible playbook, který zajistí instalaci statických pkg balíčků a provede nutnou kompilaci z portů u těch, u kterých je to třeba.

  • FreeBSD 13.0-RELEASE-p4
  • Zabbix  5.0.17
  • PostgreSQL 14.0_1
  • TimescaleDB 2.5.0

https://github.com/smejdil/freebsd-zabbix-server

Testováno v pomocí Vagrant a GCP ...

pátek 20. srpna 2021

Get Hosts or IP from Zabbix hosts export XML

Pomocí nástroje xmllint a přepínače xpath se dá poměrně snadno z XML exportu hostů získat např. seznam IPv4 nebo Hostů.

xmllint --xpath '/zabbix_export/hosts/host/host/text()' zbx_export_hosts.xml 

xmllint --xpath '/zabbix_export/hosts/host/interfaces/interface/ip/text()' zbx_export_hosts.xml

pátek 30. dubna 2021

END of my story - Datasys s.r.o.

Dnešním dnem jsem ukončil mou působnost ve společnosti Datasys s.r.o. Je tomu 9let, kdy jsem do této společnosti nastupoval. Těch bezmála deset let bylo plných mnoha zajímavých projektů. Po ELISA se mi bude stýskat. Věřím že bude dál žít svým dravým životem.

Do této společnosti mě zavedl Zabbix, po celou dobu jsem se mu věnoval a věřím, že se mu budu věnovat i nadále v různých podobách.

Již bylo na čase se posunout dál a udělat ve svém životě změnu. "Změna je život".

čtvrtek 30. dubna 2020

Upgrade firmware on PC Engines APU.3C4

Nedávno jsem psal článek, na root.cz, jak aktualizovat PC Engines BIOS pomoci pfSense a flashrom. Opakovani je matka moudrosti :-) Včera vyšel nový BIOS Mainline releases v4.11.0.6 a tak jsem jej chtěl vyzkoušet na desce PC Engines/APU.3C4. Od výrobce tam je 4.0.7 z 2017XXXX. Doposud jsem aktualizoval jen verze Legacy releases v4.0.30. Zde si poznamenám postup s updatem na aktuální Mainline releases.

Nainstalujeme si aktualizační nástroj.

pkg install flashrom

Zjistíme si generaci desky

dmidecode | grep 'Product Name' | uniq 
Product Name: APU3

Zjistíme si verzi aktuálního BIOSu.

dmidecode | grep 'Version'
Version: 4.0.7
Version: AMD GX-412TC SOC

Provedeme stažení správneho archivu, ověříme kontrolní součet a aktualizujeme, nakonec reboot.

cd /tmp
fetch https://3mdeb.com/open-source-firmware/pcengines/apu3/apu3_v4.11.0.6.zip
apu3_v4.11.0.6.zip                                     647 kB 1476 kBps    00s
 

unzip apu3_v4.11.0.6.zip
Archive:  apu3_v4.11.0.6.zip
 extracting: apu3_v4.11.0.6.rom 
 extracting: apu3_v4.11.0.6.SHA256.sig 
 extracting: apu3_v4.11.0.6.SHA256


cat apu3_v4.11.0.6.SHA256 a093e61db53aa4b5897c0f96f8e2df910db063e5faa77c941c64dd6d4f9a0153 apu3_v4.11.0.6.rom

openssl sha256 apu3_v4.11.0.6.rom
SHA256(apu3_v4.11.0.6.rom)= a093e61db53aa4b5897c0f96f8e2df910db063e5faa77c941c64dd6d4f9a0153
 


flashrom -w apu3_v4.11.0.6.rom -p internal:boardmismatch=force
flashrom v1.1 on FreeBSD 11.3-STABLE (amd64)
flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 4, resolution: 2ns).
coreboot table found at 0xdffae000.
Found chipset "AMD FCH". Enabling flash write... OK.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x00000000ff800000.
This coreboot image (PC Engines:apu3) does not appear to be correct for the detected mainboard (PC Engines:PCEngines apu3).
Proceeding anyway because user forced us to.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

reboot