Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech
… více »Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.
Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.
Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.
Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »
Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.
Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.
Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).
Né každý to může znát. Nagios je řešení monitoringu serverů, služeb apod. Nrpe server je pak jakoby agent. Nrpe server je tedy nainstalován v systému, který chceme monitorovat. Firewall je nastaven tak, aby se na agenta dostal jen Nagios server. Nrpe server má povolenou komunikaci jen z Nagios serveru, povoleno šifrovanou komunikaci, povoleno posílání argumentů a dalších věcí. Tj. komunikace není nijak omezena a příkazy jsou posílány dle libovůle Nagios serveru.
Protože chceme nějak rozumněji monitorovat služby na koncovém serveru, tak použijeme check_systemd. Je to jen pythoní script. Vyžaduje python3.7 a vyšší (kvůli podpoře/závislosti scriptu na annotations). Instalace tohoto checkovacího scriptu je jednoduchá.
# instalace pythonu 3.8 dnf install python38 # stažení scriptu cd /usr/lib64/nagios/plugins/ wget https://raw.githubusercontent.com/Josef-Friedrich/check_systemd/main/check_systemd.py # nainstalování závislostí (script vyžaduje nagiosplugin) pip3.8 install nagiosplugin
Script pak začne fungovat, lokálně vyzkoušíme (zkontrolujeme, že běží dvě služby: postifx + elasticsearch):
./check_systemd.py -w 80 -c 120 -I postfix -I elasticsearch --required active SYSTEMD OK - all | count_units=292 data_source=cli startup_time=76.845;80;120 units_activating=0 units_active=209 units_failed=0 units_inactive=83
Připravíme si nastavení Nrpe serveru :
# povolíme volání přes sudo, protože volání systemd vyžaduje roota sudoedit /etc/sudoers.d/nrpe Defaults:nrpe !requiretty nrpe ALL=NOPASSWD: /usr/lib64/nagios/plugins/check_systemd.py # přidáme si volání do nrpe serveru nano /etc/nagios/nrpe.cfg ... command[check_systemd]=sudo /usr/lib64/nagios/plugins/check_systemd.py -P -w $ARG1$ -c $ARG2$ -W $ARG3$ -C $ARG4$ $ARG5$ --required $ARG6$ ... # restart systemctl restart nrpe
Následně už můžeme z Nagios serveru zavolat:
# switchnu se na uživatele, pod kterým běží nagios su - centreon-engine /usr/lib/centreon/plugins/check_centreon_nrpe3 -H 192.168.1.1 -c check_systemd -a 80 120 518400 604800 "-I postfix -I elasticsearch" active NRPE: Unable to read output
Co to? Zapneme debug na nrpe serveru a podíváme se do logů:
nrpe[1459913]: Host 192.168.1.2 is asking for command 'check_systemd' to be run... nrpe[1459913]: Running command: sudo /usr/lib64/nagios/plugins/check_systemd.py -P -w 80 -c 120 -W 518400 -C 604800 -I nrpe[1459914]: WARNING: my_system() seteuid(0): Operation not permitted sudo[1459915]: nrpe : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/lib64/nagios/plugins/check_systemd.py -P -w 80 -c 120 -W 518400 -C 604800 -I nrpe[1459913]: Command completed with return code 2 and output: nrpe[1459913]: Return Code: 3, Output: NRPE: Unable to read output nrpe[1459913]: Connection from 192.168.1.2 closed
Nemáme přístup (Operation not permitted)? Jak to? Ok, zkusíme na cílovém serveru, zda je sudo a vše ok nastaveno správně:
su - nrpe sudo /usr/lib64/nagios/plugins/check_systemd.py -P -w 80 -c 120 -W 518400 -C 604800 -I postfix -I elasticsearch SYSTEMD OK - all | count_units=292 data_source=cli startup_time=76.845;80;120 units_activating=0 units_active=209 units_failed=0 units_inactive=83
Tak si to shrneme:
Kde si myslíte, že je problém a jaké je jeho řešení?
Nápověda: Není to bug, není to chyba v konfiguraci Nagiosu, ani Nrpe serveru, ani chyba v posílání argumentů nebo syntaxe. Dalo by se říci, že je to obecný problém, který se může objevit i jinde (tj. nemusí se týkat nagiosu ani nrpe). Problém je na AlmaLinux 8.5 + epel repo, jinak vše default instalace.
Zdar Max
PS: Znovu připomínám, že problém je dávno vyřešen, ale přišlo mi to celkem zajímavé jako kvízek.
Předchozí kvízy
Tiskni
Sdílej:
Netoužím ani po automatizaci z onoho řešení (něco jako najdi všechno na síti a začni to monitorovat, nebo tady šup agenta na server a monitoruj vše, co tam na něm najdeš). Monitoruji jen důležité věci a pokud chci automatizaci, tak jednotně přes Ansible.Tohle řešíme jednak tím že se automaticky berou metriky z clusterů (ať už EC2 v AWS, nebo k8s), ale taky tím že se instaluje DD agent do base image (AMI nebo docker). To automatické řešení se tu pomalu zavádí (APM tracing), to jsem zatím jednou viděl v rámci nějakého incidentu a připadalo mi to jako vidět v praxi fungovat nějaký sci-fi vynález. Řešil jsem tenkrát že něco vypadlo a protože na to bylo navázáno asi 20 dalších services, tak jsi viděl 20 alertů (z nagiosu byly nejlepší, tam nikdy nevím ani kde je vypnout), viděl že 20 věcí nefunguje, ale zjistit co z těch 20 věcí to způsobilo bylo docela peklo, dokud jsem se nepodíval do APM trace, kde mi to nakreslilo schéma, analýzu toho jak se ten výpadek zpropagoval v čase a nakonec to pomocí nějaké heuristiky ukázalo na jednu věc, že ta byla příčina. Tak jsem se tam lognul, a fakt jo. BTW, pokud tě sere ansible, tak doporučuji mrknout na pyinfra (psal jsem o tom před pár lety blog).
Tebou popsaný příklad s problémem mi přijde, jako když někdo spravuje nějaké prostředí, které nezná (nemyslím nijak zle, myslím to jako třeba neohlídání si předávky apod.).Tak když máš firmu kde je několik tisíc programátorů, tam ani není možné že bys mohl všechno znát. Myslím že kdybych sledoval co všechno dělají týmy tady v Praze, tak bych už nestíhal nic jiného.
Pravdou je, že nemám zkušenosti s tak velkým teamem, ale tak nějak jsem očekával, že všichni nedělají všechno, ale každý jen něco, každý je zodpovědný za nějakou část a tu má pod kontrolou / rozumí jí a řetězec funguje (vše vyjasněno v rámci dohled, admin, devík).To není úplně možné už jen protože všechno se neustále mění. Výhoda microservices.. Jinak jo, ale to se týče spíš vývoje, pak se dělají rotace na L1/L2, kde člověk na L1 řeší tak nějak všechno ten den, L2 je většinou někdo kdo rozumí tomu konkrétnímu projektu, ale to má tu nevýhodu že mezi těma věcma musíš prvně vůbec zjistit co je příčina, abys to na něj potom mohl hodit.
On k8s a všechno kolem toho k tomu tak nějak směřuje (že nikdo nebude vědět nic a každý problém se bude dlouho trasovat jak u idiotů).Tak tak :)