Please or Zarejestruj się to create posts and topics.

Skrypty dla monit

Nie wiem, czy w dobrym dziale piszę ale mam propozycję. Część skryptów dla monit jest dostępnych w artykule na jego temat, część w różnych tematach na forum. Można by to wrzucić gdzieś w jedno miejsce wraz z opisem jak to zainstalować i za co poszczególne skrypty odpowiadają. Każdy mógłby w prosty sposób wybrać co jest mu potrzebne.

Pomysł warty przemyślenia.

Osobiście wole to nazywać modułami do Monit. Skrypty pisane są w językach interpretowanych, jak Bash, czy Perl gdzie wykonywana jest komenda po komendzie w takim skrypcie. Przeze mnie udostępniane są programy, skompilowane lub do samodzielnej kompilacji. Więc program wykonywalny jest postacią binarną, która nie działa jak interpreter.

Założenie jest tego takie aby były one przynajmniej tak szybkie i wydajne jak ich odpowiedniki w bash lub python, albo szybsze i mniej obciążające procesor. Chodzi o to, aby przy większej ich ilości wywoływanej przez Monit, nie wpływało to w widoczny sposób na obciążenie i ogólna stabilność całego serwera.

Poniżej test dla jednego z takich modułów odpalony na Raspverry Pi 5 (procesor ARM)

$ strace -c ./cpu_apache_proces

 

% time seconds usecs/call calls errors syscall
100.00 0.000000 0 148 1 total

 

Jak widzisz wykorzystanie procesora jest praktycznie zerowe. Na tyle znikome że precyzja wykonania operacji tego nie obejmuje.

Założyłem nowy temat w dziale Monit, gdzie będę publikował dostępne moduły warz z krótką instrukcją ich uruchomienia i ewentualnymi poprawkami do nich. To powinno rozwiązać problem.

Bardzo dziękuję 🙂 mam jednak pytanie, używam tego modułu do monitorowania zajętości katalogu, a co w przypadku gdy chciałbym monitorować kilka katalogów ?

możesz powielić moduł pod różnymi nazwami i w każdym ustawić katalog do monitorowania. Polecam wtedy te moduły odpalać za pomocą reguł crona nie cykli (odpowiedni wpis do pliku konfiguracyjnego monit). np. 2 razy dziennie w odstępach 10min.

Na weekend jak znajdę czas, postaram się coś napisać aby w jednym module można było zdefiniować kilka ścieżek. Musze jednak przemyśleć kilka potencjalnych problemów, jak minn. to jak wyświetlać informację w monicie, bo miejsca jest niewiele :] także ewentualnie tez napisać procedury wielowątkowo, aby te katalogi nie były sprawdzane w jednym wątku tylko coś w rodzaju (ilość rdzeni - 1) aby rozłożyć obciążenie na cały procesor.

Nie wiem też jak będzie z obciążeniem procesora dla wielu katalogów. Nie polecam sprawdzać tak np, katalogów ze stronami www użytkowników, lepiej im ustawić limit crona, aby nie mogli przekroczyć danej pojemności. Dam znać jak coś uda mi się sensownego napisać 🙂