Легкий, але готовий до виробництва монітор у Linux / Unix [закрито]


8

Я шукаю простий монітор процесу для свого акаунта в популярній VPS. Я любив Супервізора та Моніта, але вони здаються мені надмірними.

Я чогось хочу

  1. що працює як демон (тож мій обліковий запис VPS може запустити його під час завантаження, а також "запустити" за допомогою cron у випадку, якщо сам монітор вийде з ладу)
  2. що контролює, нерестуючи речі як підпроцес (наприклад, Supervisor) або виконуючи команду опитування, яка повертає true або false (наприклад, BASH, якщо заява)
  3. як простий у використанні (потрібна мінімальна конфігурація), так і стабільне виробництво (якось мало програмного забезпечення, здається, задовольняє обидва вимоги)
  4. Підходить в керованому VPS-режимі в режимі користувача, мінімальне використання пам'яті

Відповіді:


2

Ви шукаєте програму daemontools . (Якщо це саме ви мали на увазі монітор "Supervisor", тоді не соромтесь ігнорувати решту моєї відповіді.)

daemontools - це сукупність інструментів для управління послугами UNIX.

контролювати моніторинг служби. Він запускає послугу і знову запускає службу, якщо вона загине. Налаштування нової служби легко: усі потреби в нагляді - це каталог із сценарієм запуску, який запускає службу.

multilog зберігає повідомлення про помилки в один або кілька журналів. Він необов'язково відмічає часові позначки кожного рядка і для кожного журналу включає або виключає рядки, що відповідають заданим шаблонам. Він автоматично обертає журнали, щоб обмежити кількість використовуваного дискового простору. Якщо диск заповнюється, він призупиняється і намагається знову, не втрачаючи жодних даних.

Це просто, гнучко і дуже потужно. Основна ідея полягає в тому, що для кожної служби, яку ви хочете запустити, daemontools запускає дочірній процес (званий supervise), який потім запускає вашу службу. supervise налаштовує змінні середовища служби та uid / gid , а потім зберігає стандарт служби та стандарт відкритий, щоб він міг надсилати сигнали. Службі не потрібно себе демонструвати, і вам не доведеться керувати pid-файлами. Основна служба не вимагає запуску root, і ви можете розміщувати каталоги моніторингових служб куди завгодно.


runitбула б альтернативою демомонтолам. Це також дуже просто і низькорівнево. По суті, все, що вам потрібно для запуску процесу, - це файл, що містить деяку команду exec, наприклад, exec sleep 300тоді ви створюєте симпосилання з каталогу, що містить сценарій запуску до /etc/service/nameі ви вже готові.
Томбарт

1

Проста відповідь - у вас вже є одна - кожна система Unix - init та / etc / inittab.

Завдання init - нерестувати процеси, перелічені в inittab, контролювати їх та перезапускати їх, якщо вони виходять.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.