Łatwy, ale gotowy do monitorowania proces w systemie Linux / Unix [zamknięty]


8

Szukam prostego monitora procesu dla mojego konta w popularnym VPS. Uwielbiałem Supervisora ​​i Monita, ale wydają mi się przesadne.

chcę coś

  1. który działa jako demon (więc moje konto VPS może uruchomić go podczas rozruchu, a także „uruchomić” przez crona na wypadek awarii samego monitora )
  2. który monitoruje, spawnując rzeczy jako podproces (np. Supervisor) lub wykonując komendę polling, która zwraca true lub false (jak instrukcja BASH if)
  3. zarówno łatwy w użyciu (wymaga minimalnej konfiguracji), jak i stabilny w produkcji (jakoś niewiele oprogramowania wydaje się spełniać oba wymagania)
  4. Nadaje się do zarządzanego VPS-uruchomionego w trybie użytkownika, minimalne zużycie pamięci

Odpowiedzi:


2

Szukasz programu Daemontools . (Jeśli to właśnie rozumiesz przez monitor „Supervisor”, możesz zignorować resztę mojej odpowiedzi).

daemontools to zbiór narzędzi do zarządzania usługami UNIX.

nadzoruje monitoruje usługę. Uruchamia usługę i ponownie uruchamia usługę, jeśli umrze. Utworzenie nowej usługi jest łatwe: wszystkie potrzeby nadzorcze to katalog ze skryptem uruchamiającym, który uruchamia usługę.

multilog zapisuje komunikaty o błędach do jednego lub więcej dzienników. Opcjonalnie znaczniki czasu każdej linii i dla każdego dziennika zawiera lub wyklucza linie pasujące do określonych wzorów. Automatycznie obraca dzienniki, aby ograniczyć ilość używanego miejsca na dysku. Jeśli dysk się zapełni, zatrzymuje się i próbuje ponownie, nie tracąc żadnych danych.

Jest prosty, elastyczny i bardzo wydajny. Podstawową ideą jest to, że dla każdej usługi, którą chcesz uruchomić, daemontools uruchamia proces potomny (nazywany supervise), który następnie uruchamia twoją usługę. supervise konfiguruje zmienne środowiskowe usługi i identyfikator uid / gid , a następnie utrzymuje standard usługi i pozostaje otwarty, aby mógł wysyłać sygnały. Usługa nie musi się demonizować i nie musisz zarządzać plikami pid. Główna usługa nie wymaga do uruchomienia roota, a katalogi monitorowanych usług można umieścić w dowolnym miejscu.


runitbyłoby alternatywą dla Daemontools. Jest to również bardzo proste i na niskim poziomie. Zasadniczo wszystko, czego potrzebujesz do uruchomienia procesu, to plik zawierający jakieś polecenie exec, np. exec sleep 300Następnie tworzysz dowiązanie symboliczne z katalogu zawierającego skrypt uruchamiania do /etc/service/namei gotowe.
Tombart

1

Prosta odpowiedź brzmi: masz już jeden - Każdy system uniksowy - init i / etc / inittab.

Zadaniem init jest odradzanie procesów wymienionych w inittab, monitorowanie ich i restartowanie, jeśli zakończą się.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.