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.
pondělí 28. února 2022
END of my story - Seznam.cz, a.s.
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.
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.
č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 |
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
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.
čtvrtek 30. dubna 2020
Upgrade firmware on PC Engines APU.3C4
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
středa 22. dubna 2020
úterý 21. dubna 2020
pátek 17. ledna 2020
Zabbix HA - s MariaDB s DRBD
Využití DRBD pro HA je hnedle několik. Já jej použiji pro synchronizaci disku na kterém běží MariaDB databáze, která je využívána pro monitorovací systém Zabbix.
Pro otestování jsem si vybral Linux Distribuci CentOS 7.7 do níž je přidán repository ELRepo.
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org --httpproxy=http://192.168.42.1:3128
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum repolist | grep ELRepo
elrepo ELRepo.org Community Enterprise Linux Repository
yum update
yum install -y kmod-drbd90 drbd90-utils
lsmod | grep -i drbd
modprobe drbd
echo drbd > /etc/modules-load.d/drbd.conf
tail -f /var/log/messages
Jan 7 08:26:36 zbx-02 kernel: drbd: initialized. Version: 9.0.20-1 (api:2/proto:86-115)
Jan 7 08:26:36 zbx-02 kernel: drbd: GIT-hash: 7dce3c8be99f4912f1490f9bb37f5aff6c873335 build by mockbuild@, 2019-10-17 20:27:56
Jan 7 08:26:36 zbx-02 kernel: drbd: registered as block device major 147
cat /proc/drbd
version: 9.0.20-1 (api:2/proto:86-115)
GIT-hash: 7dce3c8be99f4912f1490f9bb37f5aff6c873335 build by mockbuild@, 2019-10-17 20:27:56
Hlavní konfigurace DRBD se provádí zde:
vim /etc/drbd.d/global_common.conf
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
protocol A: Asynchronous replication protocol; it’s most often used in long distance replication scenarios.
protocol B: Semi-synchronous replication protocol aka Memory synchronous protocol.
protocol C: commonly used for nodes in short distanced networks; it’s by far, the most commonly used replication protocol in DRBD setups.
Zdroje DRBD se defunuji naříklad takto:
vim /etc/drbd.d/mariadb_data.res
resource zbxdb {
on zbx-01 {
device /dev/drbd0;
disk /dev/sdb;
meta-disk internal;
address 192.168.42.10:7789;
}
on zbx-02 {
device /dev/drbd0;
disk /dev/sdb;
meta-disk internal;
address 192.168.42.20:7789;
}
}
Vytvoření zdroje:
drbdadm create-md zbxdb
initializing activity log
initializing bitmap (160 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.
Nahození synchronizace:
drbdadm up zbxdb
Nastavení primátního sync media:
[root@zbx-01 ~]# drbdadm primary --force zbxdb
Status synchronizace zjistíme takto:
[root@zbx-01 ~]# drbdadm status zbxdb
zbxdb role:Primary
disk:UpToDate
zbx-02 role:Secondary
peer-disk:UpToDate
[root@zbx-02 ~]# drbdadm status zbxdb
zbxdb role:Secondary
disk:UpToDate
zbx-01 role:Primary
peer-disk:UpToDate
Vytvoříme mount point a naformatujeme disk např. pomocí xfs.
mkdir -p /data/mariadb
mkfs.xfs /dev/drbd0
mount -t xfs -o noatime,nodiratime,attr2 /dev/drbd0 /data/mariadb
Veškeré HA služby svěřím aplikacím Corosync a Pacemaker z projektu ClusterLabs. Společnost LINBIT přispívá do projektu Pacemaker a tím zajišťuje podporu pro správné volání drbadm. Nadefinováním zdroju clusteru docilim toho, že Zabbix server beží jen na jednim nodu a zároveň i databáze jejíz data (disk) se synchroniyuje na druhý node.
Tato testovací instalace bude v budoucnosti reinstalována na CentOS 8 se Zabbix 4.4, protože novější Zabbix umí monitorovat raw device a to v tomto případě je velmi zajímavé, protože na node2 pokud není /dev/drbd0 namontován o disku nic nevime.
Monitoring Clusteru se dá snadno realizovat z těchto zdrojů.
https://share.zabbix.com/cat-server-hardware/other/template-drbd
https://github.com/VadimIpatov/zbx_pacemaker
https://github.com/cnshawncao/zabbix-module-mysql
Dále je se třeba zaměřit na performace a patřičně upravit a vylepšit konfiguraci DRBD.
https://docs.linbit.com/docs/users-guide-9.0/#p-performance
středa 18. září 2019
Integrace WSUS a Zabbix
Pro integraci Zabbix a WSUS jsem našel dva prjekty a tento https://github.com/zbx-sadman/WSUS mi příjde zajimavý a snadno nasaditelný. Používá PowerShell script, který na straně WSUS serveru zjistí poměrně mnoho informací o stavu aktualizací. Pomoci LLD rozkreje WSUS Computer Groups.
Veškerou funkcionalitu pokrývá jeden klíč a tím je wsus.miner[]
Správná funkce se dá snadno prověřit pomocí cmd utilitky zabbix_get.
Např. verze WSUS
zabbix_get -s 192.168.42.13 -k wsus.miner[Get,Info,FullVersion]
10.0.17763.678
nebo LLD Computer Group
zabbix_get -s 192.168.42.13 -k wsus.miner[Discovery,ComputerGroup]
{
"data":[
{ "{#NAME}": "All Computers", "{#ID}": "xxx-xxx-xxx-xxx-xxx" },
{ "{#NAME}": "Servers", "{#ID}": "xxx-xxx-xxx-xxx-xxx" },
{ "{#NAME}": "Station", "{#ID}": "xxx-xxx-xxx-xxx-xxx" },
{ "{#NAME}": "Test", "{#ID}": "xxx-xxx-xxx-xxx-xxx" },
{ "{#NAME}": "Unassigned Computers", "{#ID}": "xxx-xxx-xxx-xxx-xxx" }
]
}
Objevené hodnoty v grafech je možní nasázet do Dashboardů.
![]() |
| ZabbixDashboard WSUS |
pátek 3. května 2019
Monitoring IPSec tunelů na pfSense
Již řadu let používám pfSense spolu s několika IPSec tunely. Monitorování tunelů jsem dlouho zanedbával. Dnes jsem našel řesení přímo odladěné pro pfSense, takže nasazení je rychle a snadné. Stačí doinstalovat package sudo, umístit scripty a do zabbix agenta nastavit uživatelské klíče.
https://github.com/alanwds/zabbix_ipsec_pfsense
https://github.com/fralvarezcalvo/zabbix_ipsec_pfsense
( Opravena podpora Python 3.2 )
Tento projekt vychází z jiného a přidává právě postup zprovoznění na pfSense. Pomocí LLD se automaticky objeví nakonfigurované tunely.
( Upravena podpora pro pfSense 2.5.0 s podpora Python 3.7 )
https://github.com/smejdil/zabbix_ipsec_pfsense
![]() |
| Zabbix Latest data - IPSec |




















