Uptime

W ramach side questa potrzebowałem monitoringu dostępności stron WWW, z API i dość dużą liczbą monitorowanych serwisów. Powiedzmy od 100 w górę. I najchętniej za darmo, bo potrzebuję tylko do PoCa. I fajnie, jakby umiał monitorować nieco częściej, niż raz na 5 minut.

Zdziwiłem się, bo okazało się, że… nie ma. A przynajmniej nie znalazłem. Oczywiście jest Uptime Robot, którego – jak się okazało – używam od ponad dekady. Z własnym narzędziem do wyświetlania dashboardu. No ale tam mam sporo slotów zużytych z 50, które może od biedy by wystarczyły.

Jestem zdziwiony, bo tego typu monitoring jest w miarę tani. Bo czymże jest request HTTP czy wysłanie pakietu ICMP raz na minutę i zapamiętanie stanu. A dla wysyłki poczty (SMTP relay) serwisów pozwalających nawet niewielkie newslettery jest całkiem spory wybór. I wygląda na nieco bardziej inwazyjne, potencjalnie (spam). No ale nie ma i co zrobisz, trzeba selfhostować. Za to będzie pełna dowolność w interwałach sprawdzania dostępności.

Szybko odpędziłem myśl o napisaniu własnego rozwiązania, bo tak, plik YAML z definicjami serwisów, prosty skrypt w Pythonie z wykorzystaniem biblioteki requsets, napędzany cronem spokojnie by wystarczył do tego, co chcę osiągnąć. Postanowiłem rozejrzeć się za gotowcami.

No i znalazłem coś, co mnie nawet zachwyciło. Nazywa się Uptime Kuma, daje API, daje ładny frontend, sensowną dokumentację w zakresie uruchomienia, obsługuje wiele kanałów powiadomień. Od początku ujęło mnie tym, że potrafi korzystać zarówno z bazy sqlite, jak i MySQL, więc przy małych zastosowaniach można sobie trzymać bazę w pliku, bez kolejnego serwera.

Oczywiście są wady. Po pierwsze nie przepadam za technologią, w której jest stworzone rozwiązanie. Po drugie, dedykowana biblioteka Pythona do obsługi API nie działa poprawnie. W sumie przez to straciłem więcej czasu, niż na uruchomienie monitorigu + reverse proxy w oparciu o nginx. Skończyło się tym, że nie korzystam z dedykowanej biblioteki, tylko robię requesty na żywca.

Gdyby ktoś chciał sobie porobić wykresy albo monitorować usługi – polecam sprawdzenie Uptime Kuma. 90k gwiazdek na GitHub nie jest przypadkiem.

P.I.W.O. 2026

Po wizycie w zeszłym roku na P.I.W.O. z lekkim niepokojem patrzyłem na tegoroczną agendę, z której wynikał dalszy gwałtowny rozrost imprezy. Dwie ścieżki wykładów, dwie ścieżki warsztatów, do tego gralnia i tajemniczy PyPoznań meetup, który ostatecznie okazał się być… trzecią ścieżką wykładów. I jeszcze dodatkowe aktywności.

Na szczęście nie ma obowiązku uczestniczenia we wszystkim, a przestrzeń była na tyle duża, by to wszystko pomieścić. Frekwencja dopisała, więc tłok oczywiście był spory, ale do przeżycia. Szczęśliwie się złożyło, że chciałem iść tylko na wykłady, a wszystkie tematy, które mnie interesowały były w tej samej sali.

Nie żebym siedział tam cały czas. W zeszłym roku w sali było zimno, więc dla równowagi w tym roku było… duszno. Z tego co słyszałem wentylacja/klima wysiadły, więc ich rolę spełniało uchylne okno. Jedno. W efekcie już wyjście do holu pozwalało odetchnąć, a jeszcze lepszy efekt dawało wyjście na zewnątrz. Sytuacji nie poprawił fakt, że rano pogoda była deszczowa, w sali spodziewałem się klimy, więc wybrałem długie spodnie i bluzę. Ta ostatnia oczywiście natychmiast wylądowała w plecaku. Sytuacji nie poprawiło również wyczerpanie zimnych napojów. I raczej były tylko soki i słodzone, nie widziałem wody, choć dla mnie to nie był problem. Uwaga dla organizatorów eventów dowolnych: zgrzewka wody jest warta tyle, co dwie zgrzewki coli.

Wykłady – bardzo różny poziom, i prowadzenia, i merytoryki, i tematyki. Ogólnie było ciekawie i/lub bawiłem się nieźle. Solidna, dobrze podana dawka wiedzy na wykładzie o SSH. Większość znałem, ale były nowości. Doskonale prowadzony, nostalgiczny wykład o starych komputerach, z ciekawymi obserwacjami, który sprowokował chyba godzinną rozmowę z kumplem o starych czasach. Choć nie jesteśmy fanami starych kompów. Jedynie przy jednym wykładzie miałem wielkie WTF[1].

Tytuł brzmiał Co wie o Tobie apteka internetowa, zanim w ogóle coś kupisz, w opisie było
Dane zdrowotne trafiają do firm reklamowych, choć zgodnie z prawem nie powinny. Przyznaję, że po takiej zapowiedzi miałem oczekiwania. Liczyłem na pokazanie jak i jakie wysyłane są dane o stanie zdrowia lub chociaż lekach. Tymczasem okazało się to clickbaitem[2], bez pokrycia w treści. Moje tl;dr: Na głównych stronach aptek bywają trackery[3] blokowane przez EasyList. Potem wiele spekulacji i nieuprawnionych wniosków, bez oparcia w danych.

Chyba nie tylko ja tak to odebrałem. Najlepszym podsumowaniem wydaje mi się pytanie z sali[4] po wykładzie Jakie właściwie dane trafiają do tych trackerów? I odpowiedź: Co najmniej wizyty. Jak spojrzysz w arkusz to widzisz jakie skrypty się ładują. Jak uruchomisz u siebie skrypt to widzisz co ląduje do tych trackerów, jakie parametry są tam wysyłane. Czyli co, poszukaj sobie, bo ja nie znalazłem? Szczęśliwie i skrypty, i dane służące do zrobienia prezentacji są dostępne publicznie i każdy może sprawdzić na czym opierało się wnioskowanie.

Wg mnie szkoda, bo gdyby nie pogoń za sensacją, mogła by być całkiem ciekawa prezentacja o trackerach, reklamach i zgodach w kontekście prawnym. A tak to – złośliwie patrząc – za rok można spodziewać się dane finansowe trafiają do firm reklamowych choć nie powinny, skrypty śledzące na stronach banków, oto dowody. Nie rozumiem, czemu organizatorzy przyjęli ten wykład do agendy.

Jakby ktoś mnie poprosił o odpowiedź, po co przychodzę na tego typu eventy, co chcę usłyszeć ze sceny, to najbardziej pasują mi wykład o klawiaturze oraz lightning talk o katalogach i DNS. Tematyczne, konkretne, nieoczywiste i… dla mnie w ogromnej większości nowe. LAN party/gry tradycyjnie odpuściłem, informacja o nauce gry w go dotarła do mnie nieco za późno (znajomi chwalili).

Quiz poszedł mi fatalnie, głupie błędy. Ale po pierwsze padałem ze zmęczenia (wspominałem, że było duszno? praktycznie cały dzień w takich warunkach…), po drugie, mam wrażenie, że przynajmniej dwa razy albo missclick, albo źle zarejestrowało odpowiedź, bo zdziwiłem się, że taką wybraną mi pokazało. No chyba, że na wyświetlaczu była inna kolejność, niż na telefonie. Mniejsza o to, bo część pytań była bardziej o samą imprezę[5] i quiz traktuję wyłącznie for fun.

Była transmisja, są nagrania z podstawowych ścieżek (lightning talki nie były nagrywane). Linki na stronie P.I.W.O. Ogólnie imprezę zaliczam do udanych, trochę na zasadzie zmęczony, ale zadowolony.

[1] I zupełnie nie mam na myśli niefortunnego początku prezentacji, TBH spóźniłem się chwilę i zobaczyłem dopiero po napisaniu większości wpisu. W ogóle nie biorę tego pod uwagę i nie o tym piszę.
[2] Nie mam lepszego określenia, choć nie chodzi tu o kliknięcie, tylko o przyciągnięcie na wykład.
[3] Nazywane skryptami śledzącymi. To w ogóle niezbyt fortunne tłumaczenie, bo ta nazwa pobudza wyobraźnię i sugeruje aktywną czynność w stylu detektywa, a przecież nie o to chodzi.
[4] Dosłownie takie samo pytanie chciałem zadać.
[5] Jakby mnie kto pytał, co sądzę o konkursach, gdzie pytamy o poprzednią edycję imprezy, to sprzyjają tworzeniu bańki poprzez faworyzację stałych bywalców. I nie sprzyjają przyciągnięciu nowych ludzi. Pytania o stare dystrybucje w zupełności wystarczą. 😉

Kultura

Na Sesji Linuksowej parokrotnie przewijał się wątek tworzenia wolnego oprogramowania, jego wykorzystania, wynagrodzeń i finansowania. Wykładem, który chyba najbardziej poruszał tematykę kultury open source i finansowania był Ukryte koszty wolności, ale nie był on jedyny.

To, nad czym się zastanawiam to czy faktycznie jest nieprawidłowo? Albo czy mogło być inaczej? I nie chodzi mi tylko o oprogramowanie, ale o tworzenie ogólnie. Jak to ładnie zostało powiedziane na wykładzie, ludzi czasem coś swędzi i wtedy tworzą. Tworzą różne rzeczy: muzykę, poezję, opowiadania, wpisy na blogach, oprogramowanie. Ogólnie: dzieła, czyli kulturę. Ba, nie tylko tworzą, ale udostępniają to innym.

Tworzą i udostępniają często niezależnie od wynagrodzenia. Z powodu tego swędzenia, czyli jakiegoś rodzaju wewnętrznego przymusu, powstają rzeczy, które inni mogą obejrzeć/przeczytać/wykorzystać. Wykorzystać jako pożywkę dla umysłu, czasem także do samodzielnego tworzenia. Przy czym odbiorcy niekoniecznie chcą płacić za te twory. Co jest zrozumiałe z ekonomicznego punktu widzenia – po co płacić więcej, niż to konieczne[1]? Argument jeśli nie będziecie płacić, to nie będzie muzyki/filmów/książek/oprogramowania jest fałszywy. Muzycy, pisarze czy twórcy open source co do zasady[2] i tak zarabiają grosze. Bo i tak tworzą. Jak nie oni, to inni. Jest co czytać, co oglądać, co uruchomić.

To, ile kosztują dzieła i jaki jest model wynagradzania, to inna sprawa. Firmy fonograficzne, wydawnictwa, serwisy streamingowe – owszem, zarabiają. W przypadku open source, zarabiają firmy, które wykorzystują open source. I one płacą twórcom/kontrybutorom, ale znowu, zwykle tylko tyle, ile muszą. Oczywiście, zawsze istnieje niewielka grupa twórców dobrze zarabiających. Nawet za życia[3]. Eksponowanych.

Nie zgadzam się z autorem wykładu, że ten model jest nie do utrzymania. Ten model funkcjonuje od wieków. Kiedyś artyści zbierali do kapelusza, albo, jeśli mieli szczęście, znajdowali mecenasa, który mógł się pochwalić ich dziełami. Dziś pokazanie jednego twórcy, który zarabia miliony dolarów motywuje miliony innych twórców do pracy za dolara. Co oczywiście jest pośrednikom na rękę[4]. Nie zmienia to faktu, że poza gwiazdami jest masa twórców, którzy poziomem artystycznym odbiegają od gwiazd o rzędy wielkości mniej, niż wynagrodzeniem.

Projekty open source nie są tu wyjątkiem. Mamy masę drobnicy tworzonej za darmo oraz większe projekty, które są w praktyce rozwijane przez firmy, według ich zasad i wytycznych. Chętnie korzystających z darmowej pracy chętnych. Masa użytecznych projektów, nie odbiegających aż tak bardzo od dużych, choć czasem mniej złożona, jest niefinansowana. Tworzona/udostępniana w celu podrapania się. Podobnie jak wkład w duże projekty, niejednokrotnie z dużym narzutem po stronie kontrybutora, typu zaznajomienie z wytycznymi w projekcie, analiza i zaakceptowanie Contributor License Agreement itp.

Zasłyszana kiedyś definicja kultury, którą lubię to jest to coś, co się uprawia. I mamy w takim przypadku chyba zawsze dramatyczną dysproporcję w finansowaniu uprawiających kulturę pomiędzy wąskim gronem na szczycie, a całą resztą. W dowolnej formie: sport, książki, film, muzyka, open source. Jeśli komuś udało by się rozwiązać problem finansowania w dowolnym z tych obszarów, to wydaje mi się, że rozwiązanie pasowałoby do wszystkich innych. I w każdym przypadku spotka się ono z oporem dotychczasowych beneficjentów. Pośredników, którzy czerpią zyski z pracy twórców, dostarczając wytwory odbiorcom.

[1] Dowód anegdotyczny: rok temu uruchomiłem możliwość postawienia mi kawy przez odbiorców i wyłączyłem reklamy. I co? I roczny dochód z kawy jest mniejszy, niż miesięczny z reklam. Ten z reklam końcowym okresie, po spadku. To nie jest zachęta do stawiania kawy teraz ani gorzkie żale, to obserwacja rzeczywistości.
[2] W rozumieniu percentyla ludzi, którzy zarabiają wyłącznie z tworzenia i poziomu ich dochodów. Pewnie warto rozciągnąć tu określenie twórcy nieco szerzej, także na wykonawców czy sportowców, stąd tytuł, wyjaśnienie jest dalej w treści.
[3] Tu powinna być lista malarzy, kompozytorów, pisarzy, którzy przytłaczającą większość życia żyli skromnie lub wręcz klepali biedę, a zostali docenieni i zaczęli zarabiać u jego schyłku. Czy wręcz po śmierci.
[4] Tu warto zauważyć, że w obronie praw (czyt: dochodów) twórców nie występują zwykle sami twórcy, tylko pośrednicy. Jeśli są to sami twórcy, to warto poskrobać czy nie ma lobby pośredników pod spodem.