Użyłem Daemontools, aby zapewnić prosty i niezawodny sposób nadzorowania usług Unix na moich serwerach. Działa dobrze, ale wymaga innego sposobu myślenia ( The DJB Way ), a niektóre typowe skargi to:
- Znaczniki czasu oparte na TAI64N
- Nie przechowuje skryptów w /etc/init.d (lub (/usr/local)/etc/rc.d)
- Nie zawsze działa ze skryptami takimi jak apachectl. Niektóre skrypty wymagają przepisania.
Pamiętam, że niektóre podobne demony „nadzorcy / stróża” pracowały około dwa lata temu, ale niektóre nadal były nieco szorstkie.
Jeśli przeszedłeś z Daemontools na coś innego, co wybrałeś i czy zadziałało to dobrze? Czy RedHat lub Ubuntu są domyślnie dostarczane z narzędziami nadzorującymi procesy?
źródło
runsv
polecenie odrunit
obsługuje niestandardowe elementy sterujące, dzięki czemu można zrestartować system w oparciu o natywne pliki binarne sterowania demona.Cóż, jest runit . Nie mogę powiedzieć, jakie są różnice i podobieństwa do demonów, ale sądząc po stronie internetowej Bersteina, powiedziałbym, że istnieje wyraźny wpływ Bernsteina.
źródło
Fedora wydaje się być gotowa na przejście na systemd: http://0pointer.de/blog/projects/systemd.html
źródło
Jako alternatywa dla już wspomniano
daemonize
idaemontools
nie jest demon znajomość pakietu libslack.daemon
jest dość konfigurowalny i dba o wszystkie żmudne rzeczy demona, takie jak automatyczne restartowanie, logowanie lub obsługa plików pidfile.źródło
Jest nadzorca
źródło
Istnieje również narzędzie demona libslack napisane w C i dostępne na różne platformy (uniksowe).
Jest dość konfigurowalny i dba o wszystkie żmudne rzeczy demona, takie jak automatyczne restartowanie, logowanie lub obsługa plików pidfile.
źródło
Ubuntu zawiera Upstart - niewiele o nim wiem, ale wiem, że ma możliwości „nadzorcy”. Uruchomiona przez Apple jest kolejną opcją (ten artykuł w Wikipedii ma fajną sekcję „zobacz także”, która zawiera także listę innych, w tym Upstart & RunIt).
Wszystkie mają swoje dobre strony i swoją własną markę übersuck - Ilekroć ktoś pyta mnie o programy „nadzorujące proces” / „watchdog”, zawsze zadaję to samo pytanie: dlaczego potrzebujesz takiego?
źródło
Nie ma w tym celu żadnych popularnych / konsensusowych narzędzi, ponieważ każdy, kto pójdzie tą drogą, zdaje sobie sprawę, że to ślepa uliczka. Jeśli długo działające procesy zawodzą zbyt często, aby prosty monitoring był wystarczająco dobry, przestań ich używać i przenieś swój kod do czegoś, co będzie bardziej zależało od zdarzeń.
edycja: jak Chris wskazuje poniżej, czasami jesteś całkowicie opanowany, w takim przypadku zadanie cron * / 1, które szuka procesu / pliku pid, uruchamia start / restart, jeśli go brakuje, i wysyła wyniki do wiadomości e-mail do odpowiedzialnego programista / menedżer produktu to twoja awaryjna pozycja.
źródło