Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika StepujacyBudowlaniec w Programowanie

Gruba ryba

w Programowanie

10piorunów

Przy pomocy darmowego ChatGTP napisałem sobie wczoraj system monitoringu koparek. To co widzicie to listing odświeżany co 10 sekund, dane pobierane są z bazy danych a do bazy wpisuje je skrypt który parsuje logi. Wymyśliłem sobie, że skoro na każdej koparce działa logger i te logi mogą być przesyłane na serwer to co za problem napisać skrypt, który będzie nasłuchiwał na logach programu kopiącego i gdy pojawi się tam nowa wartość na temat wydajności to zostanie przesłana do logów.
W skrócie zwykły skrypt w bash działa sobie w pętli która czyta logi. W momencie odpalenia zbiera też dane systemowe i je po prostu loguje. Logi są wysyłane na zdalny serwer przez program do logów (metalog). Na serwerze logi są odbierane przez program do obsługi logów (syslog-ng). Na serwerze działa kolejny skrypt który czyta logi syslog-ng i gdy pojawią się tam nowe wpisy to zapisuje je do bazy danych. Kolejny skrypt tym razem w pythonie odpowiada za pobieranie danych z bazy i generowanie strony WWW która jest hostowana przez nginx. Działą to znakomicie - teraz mam bezpośredni podgląd na parametry sprzętowe, wydajnościowe oraz monitoring zdrowia dla wszystkich koparek jednocześnie. Od razu widzę gdy gdzieś wydajność spada albo temperatura rośnie. Od razu wiem gdzie jest najsłabsze ogniwo. Rewelacja dlatego musiałem się pochwalić.

P.S. Oczywiście znajdą się puryści którzy będą twierdzić, że przecież skrypty na koparkach mogły by pisać bezpośrednio do bazy danych. Tylko, że wtedy trzeba by instalować kupę pakietów na każdej koparce do obsługi postgresql'a a później to aktualizować. Wolałem tego uniknąć bo na koparkach jako dyski mam pendrivy po 20 PLN sztuka z ograniczoną ilością miejsca i jeszcze bardziej ograniczoną prędkością zapisu więc staram się aby systemy operacyjne koparek były ograniczone do minimum.

Komentarze (8)

Fenomen1piorunów

@StepujacyBudowlaniec co kopiesz wariacie?

myslalem ze mining na kartach graficznych juz od dawna jest nieoplacalny nawet porzy darmowy prądzie

Tytan1piorunów

@StepujacyBudowlaniec Nice!

Skoro jednak już o tym wspomniałeś, to z tego co patrzę to można postawić RESTa do którego skrypty na koparkach pisałyby curlem, w ten sposób wcale nie musiał byś bawić się w instalację czegokolwiek.

Mam awersję do czytania logów w ten sposób, bo to ma krótkie nóżki: logi mają luźny format, więc rozszerzanie przesyłanych informacji może stać się karkołomne, baza danych jest już bardzo dobrym interfejsem sama w sobie, a postgresql obsługuje nawet natywnie JSONy, ma replikację, protokół itp. LLMy z kolei takie proste serwisy przekierowujące dane przez REST ogarniają od strzała.

Think about it!

Gruba ryba2piorunów

@StepujacyBudowlaniec

P.S. Oczywiście znajdą się puryści którzy będą twierdzić, że przecież skrypty na koparkach mogły by pisać bezpośrednio do bazy danych

Oczywiście. Ale to działa, łatwe do utrzymania i mała szansa że się spierdoli. Piorun