Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія Наступна ревізія По сторонах наступні версії | ||
watchdog [2022/09/28 18:19] nightfly |
watchdog [2023/01/22 10:13] nightfly |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
- | ====== Собака-наблюдака aka Watchdog ====== | + | ====== Собака-спостерігака aka Watchdog ====== |
- | {{: | + | {{: |
- | Собака-наблюдака предназначена для < | + | Собака-спостерігака призначена для < |
- | ===== Возможные проверки ===== | + | ===== Можливі перевірки ===== |
- | ^ Типы задач | + | ^ Типи задач |
- | | icmpping | + | | icmpping |
- | | tcpping | + | | tcpping |
- | | udpping | + | | udpping |
- | | hopeping | + | | hopeping |
- | | script | + | | script |
- | | httpget | + | | httpget |
- | | getusertraff | получение количества трафика пользователя с логином указанном в параметре | int | | + | | getusertraff | отримання кількості трафіку в байтах логіну користувача вказаного в параметрі | int | |
- | | fileexists | + | | fileexists |
- | | opentickets | + | | opentickets |
- | | onepunch | + | | onepunch |
- | | snmpwalk | + | | snmpwalk |
- | | freediskspace | Проверяет количество свободного места на разделе указанном | + | | freediskspace | Повертає кількість вільного місця на розділі (точці монтування) вказаній в параметрі. Повертає цифру в Гб. | float | |
- | ===== Возможные | + | ===== Можливі |
- | ^ Условия | + | ^ Оператор ^ Значення |
- | | =true | + | | =true |
- | | =false | + | | =false |
- | | == | Равно | + | | == | Рівне |
- | | != | Не равно | + | | + | | != | Не рівне | + | |
- | | > | Больше | + | | > | Більше |
- | | < | Меньше | + | | < | Менше |
- | | > = | Больше | + | | > = | Більше |
- | | < = | Меньше или | + | | < = | Менше |
- | | empty | Пустой результат | | | + | | empty | Пустий результат | | |
- | | notempty | + | | notempty |
- | | changed | + | | changed |
- | | notchanged | + | | notchanged |
- | | like | Содержит | + | | like | Містить |
- | | notlike | + | | notlike |
- | | rised | + | | rised |
- | | decreased | + | | decreased |
- | ===== Действия выполняемые в результате | + | ===== Дії що будуть виконані у разі проходження умов ===== |
- | ^ Действия | + | ^ Дії |
- | | log | запись в системный лог | + | | log | запис |
- | | sms | + | | sms |
- | | noprimary | + | | noprimary |
- | | email | + | | email |
- | | telegram | + | | telegram |
- | | no_tg_primary | + | | no_tg_primary |
- | | andresult | + | | andresult |
- | | oldresult | + | | oldresult |
- | | script | + | | script |
+ | ===== Логіка роботи ===== | ||
- | ===== Логика работы ===== | + | Кожне завдання для Собаки-спостерігаки слід сприймати як " |
- | Каждую задачу для Собаки-наблюдаки следует | + | ^ Активний ^ Ім`я ^ Тип перевірки |
+ | | X | Гугл не пінгається | icmpping | ||
- | ^ Активный ^ Имя | + | При настанні |
- | | X | Гугл не пингается | + | |
- | При обнаружении того, что ping на адрес 8.8.8.8 вернул значение " | ||
- | А что делать, если | + | А що робити, якщо |
- | ^ Активный ^ Имя | + | |
- | | X | Чего-то изменилось | icmpping | + | |
+ | ^ Активний ^ Ім`я | ||
+ | | X | Щось змінилось | icmpping | ||
- | В принципе никто не запрещает нам делать и задачи такого плана: | ||
- | ^ Активный ^ Имя | + | В принципі, ніхто не забороняє нам робити |
- | | X | В серверной пожар | script | + | |
+ | ^ Активний ^ Ім`я | ||
+ | | X | В серверній пожежа | script | ||
- | Вызывая внешний скрипт, | ||
- | Если творчески подойти к парсингу вывода внешнего ПО - можно | + | Викликаючи зовнішній |
- | ^ Активный ^ Имя | + | |
- | | X | DNS сломался | + | |
- | Также мы можем | + | Якщо творчо підійти до парсингу виведення зовнішнього ПЗ - можна моніторити |
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | |
- | | X | Stargazer упал | + | |
- | Хотя ту же самую по сути задачу мы можем оформить как | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | | X | DNS зламався | script |
+ | |||
+ | Також | ||
+ | |||
+ | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії | ||
+ | | X | Stargazer впав | ||
+ | |||
+ | Хоча те саме завдання ми можемо оформити як | ||
+ | |||
+ | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії | ||
| X | Stargazer упал | | X | Stargazer упал | ||
Рядок 94: | Рядок 98: | ||
Чтобы не сосредотачиваться на тривиальных вещах, мы можем предусмотреть ситуацию, | Чтобы не сосредотачиваться на тривиальных вещах, мы можем предусмотреть ситуацию, | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Важный клиент подох | getusertraff | | X | Важный клиент подох | getusertraff | ||
Окей, а если мы хотим также эту же СМС-ку послать скажем администратору этого же важного клиента, | Окей, а если мы хотим также эту же СМС-ку послать скажем администратору этого же важного клиента, | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Важный клиент подох | getusertraff | | X | Важный клиент подох | getusertraff | ||
Рядок 126: | Рядок 130: | ||
А еще мы, можем реагировать не только на изменения текущих значений относительно каких-то порогов, | А еще мы, можем реагировать не только на изменения текущих значений относительно каких-то порогов, | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Ошибки полезли | onepunch | | X | Ошибки полезли | onepunch | ||
Ну либо какой-то уровень роста ошибок мы считаем допустимым, | Ну либо какой-то уровень роста ошибок мы считаем допустимым, | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Ошибки полезли резво | onepunch | | X | Ошибки полезли резво | onepunch | ||
Также мы можем таким способом отлавливать либо резкие всплески либо падения утилизации, | Также мы можем таким способом отлавливать либо резкие всплески либо падения утилизации, | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Канал разогнался как-то | onepunch | | X | Канал разогнался как-то | onepunch | ||
Ну или наоборот резкие падения относительно предыдущих значений (типа утилизация аплинка провалилась на 20 гиг от последнего запуска собаки) | Ну или наоборот резкие падения относительно предыдущих значений (типа утилизация аплинка провалилась на 20 гиг от последнего запуска собаки) | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Трафик рухнул куда-то | onepunch | | X | Трафик рухнул куда-то | onepunch | ||
А еще мы можем очень просто проверять рабочесть сервисов которые должны слушать соединения на какие-то TCP или UDP порты, типа так | А еще мы можем очень просто проверять рабочесть сервисов которые должны слушать соединения на какие-то TCP или UDP порты, типа так | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | http на хосте | tcpping | | X | http на хосте | tcpping | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | https на хосте | tcpping | | X | https на хосте | tcpping | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | syslogd на хосте | udpping | | X | syslogd на хосте | udpping | ||
А еще мы можем получать и проверять любые данные, | А еще мы можем получать и проверять любые данные, | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Версия OS | snmpwalk | | X | Версия OS | snmpwalk | ||
Или банально нотифицировать себя о том, что в корневом разделе заканчивается место | Или банально нотифицировать себя о том, что в корневом разделе заканчивается место | ||
- | ^ Активный ^ Имя ^ Тип проверки ^ Параметр | + | ^ Активний ^ Ім`я ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії |
| X | Место в корне заканчивается | freediskspace | | X | Место в корне заканчивается | freediskspace | ||
Рядок 560: | Рядок 564: | ||
<code php> | <code php> | ||
- | // ключ API | + | // ключ |
$apiKey = ' | $apiKey = ' | ||
// поріг коштів після якого нотифікувати | // поріг коштів після якого нотифікувати |