Користувальницькькі налаштування

Налаштування сайту


watchdog

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
watchdog [2023/01/22 09:53]
nightfly [Действия выполняемые в результате прохождения условий]
watchdog [2023/01/22 10:04]
nightfly
Рядок 1: Рядок 1:
 ====== Собака-спостерігака aka Watchdog ====== ====== Собака-спостерігака aka Watchdog ======
  
-{{:nablyudaka.jpg?300 |}}+{{:nablyudaka.png?300 |}}
  
 Собака-спостерігака призначена для <del>собачення та спостерігання</del> оперативного моніторингу навколишньої реальності. Вона надає гнучкий функціонал для опису позаштатних ситуацій практично будь-якої дивності, а також для сповіщення у разі їх виникнення. У тому числі, за допомогою відсилання SMS через послуги, що підтримуються собакою-посилакою, електронною поштою, месенджера Telegram а також може викликати запуск будь-якого зовнішнього скрипта при настанні якоїсь події. Для включення собаки-спостерігакт потрібна зміна опції WATCHDOG_ENABLED в [[alteriniconf|alter.ini]]. Також для надсилання повідомлень, очевидно, на допомогу собаці-спостерігаці знадобиться [[senddog|Собака-посилака]]. Собака-спостерігака призначена для <del>собачення та спостерігання</del> оперативного моніторингу навколишньої реальності. Вона надає гнучкий функціонал для опису позаштатних ситуацій практично будь-якої дивності, а також для сповіщення у разі їх виникнення. У тому числі, за допомогою відсилання SMS через послуги, що підтримуються собакою-посилакою, електронною поштою, месенджера Telegram а також може викликати запуск будь-якого зовнішнього скрипта при настанні якоїсь події. Для включення собаки-спостерігакт потрібна зміна опції WATCHDOG_ENABLED в [[alteriniconf|alter.ini]]. Також для надсилання повідомлень, очевидно, на допомогу собаці-спостерігаці знадобиться [[senddog|Собака-посилака]].
Рядок 56: Рядок 56:
 | script          | запуск скрипта чи будь-якого додатку, за шляхом, вказаному у вигляді [/повний/шлях/до_скрипта]   | | script          | запуск скрипта чи будь-якого додатку, за шляхом, вказаному у вигляді [/повний/шлях/до_скрипта]   |
  
-===== Логика работы =====+===== Логіка роботи =====
  
-Каждую задачу для Собаки-наблюдаки следует воспринимать как "случилось нечто" или "ой какое событие" которые случаются в случае возвращения "типом проверки" по "параметру" результата предусмотренного "оператором" с опциональным словием"Как пример, можно привести вот такую простенькую задачу:+Кожне завдання для Собаки-спостерігаки слід сприймати як "щось трапилося" або "ой яка подіяякі трапляються у разі повернення "типом перевірки" за "параметром" результату передбаченого "оператором" з опціональною мовою"Як приклад, можна навести ось таке просте завдання:
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії       
 | X        | Гугл не пингается | icmpping     | 8.8.8.8  | =false           | log,sms,email | | X        | Гугл не пингается | icmpping     | 8.8.8.8  | =false           | log,sms,email |
  
Рядок 66: Рядок 66:
  
 А что делать, если мы не хотим, чтобы собака постоянно нам спамила при отсутствующем пинге куда-то? А очень просто. А что делать, если мы не хотим, чтобы собака постоянно нам спамила при отсутствующем пинге куда-то? А очень просто.
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії       
 | X        | Чего-то изменилось | icmpping     | 192.168.0.22  | changed  |         | log,sms,email,andresult | | X        | Чего-то изменилось | icmpping     | 192.168.0.22  | changed  |         | log,sms,email,andresult |
  
Рядок 72: Рядок 72:
 В принципе никто не запрещает нам делать и задачи такого плана: В принципе никто не запрещает нам делать и задачи такого плана:
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия                 +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | В серверной пожар | script     | /bin/gettemp  | >        |  22     | log,sms,email, andresult | | X        | В серверной пожар | script     | /bin/gettemp  | >        |  22     | log,sms,email, andresult |
  
Рядок 79: Рядок 79:
  
 Если творчески подойти к парсингу вывода внешнего ПО - можно мониторить много интересных вещей без дописывания внешних скриптов: Если творчески подойти к парсингу вывода внешнего ПО - можно мониторить много интересных вещей без дописывания внешних скриптов:
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр  ^ Оператор           ^ Условие   Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | DNS сломался    | script      | nslookup ya.ru %%|%% tail -n 2  | like  |  find     | log,sms       | | X        | DNS сломался    | script      | nslookup ya.ru %%|%% tail -n 2  | like  |  find     | log,sms       |
  
 Также мы можем очень просто и элегантно контролировать запущенность важных сервисов типа stargazer создав задачу такого плана: Также мы можем очень просто и элегантно контролировать запущенность важных сервисов типа stargazer создав задачу такого плана:
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр  ^ Оператор           ^ Условие   Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Stargazer упал    | script      | /bin/ps aux %%|%% /usr/bin/grep stg  | notlike  |  stargazer     | log,sms       | | X        | Stargazer упал    | script      | /bin/ps aux %%|%% /usr/bin/grep stg  | notlike  |  stargazer     | log,sms       |
  
 Хотя ту же самую по сути задачу мы можем оформить как Хотя ту же самую по сути задачу мы можем оформить как
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр  ^ Оператор           ^ Условие   Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Stargazer упал    | fileexists   | /var/run/stargazer.pid  | =false  |       | log,sms       | | X        | Stargazer упал    | fileexists   | /var/run/stargazer.pid  | =false  |       | log,sms       |
  
Рядок 93: Рядок 93:
 Чтобы не сосредотачиваться на тривиальных вещах, мы можем предусмотреть ситуацию, когда у нас есть очень важный клиент с логином vipclient на прекращение трафика от которого нам следует таки отреагировать. Описать такое мы можем в виде: Чтобы не сосредотачиваться на тривиальных вещах, мы можем предусмотреть ситуацию, когда у нас есть очень важный клиент с логином vipclient на прекращение трафика от которого нам следует таки отреагировать. Описать такое мы можем в виде:
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Важный клиент подох | getusertraff  | vipclient  | notchanged            | log,sms,email | | X        | Важный клиент подох | getusertraff  | vipclient  | notchanged            | log,sms,email |
  
 Окей, а если мы хотим также эту же СМС-ку послать скажем администратору этого же важного клиента, чтобы он точно знал, что он подох? Окей, а если мы хотим также эту же СМС-ку послать скажем администратору этого же важного клиента, чтобы он точно знал, что он подох?
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Важный клиент подох | getusertraff  | vipclient  | notchanged            | log,sms,email {+380509999999} | | X        | Важный клиент подох | getusertraff  | vipclient  | notchanged            | log,sms,email {+380509999999} |
  
Рядок 125: Рядок 125:
 А еще мы, можем реагировать не только на изменения текущих значений относительно каких-то порогов, а также и относительно предыдущих значений полученных собакой. Резкость этих изменений мы можем опционально указывать в условии. А можем и не указывать. Тогда мы будем реагировать вообще на все изменения этих циферок в сторону увеличения или уменьшения. Например мы можем реагировать на увеличение роста ошибок на каком-то интерфейсе А еще мы, можем реагировать не только на изменения текущих значений относительно каких-то порогов, а также и относительно предыдущих значений полученных собакой. Резкость этих изменений мы можем опционально указывать в условии. А можем и не указывать. Тогда мы будем реагировать вообще на все изменения этих циферок в сторону увеличения или уменьшения. Например мы можем реагировать на увеличение роста ошибок на каком-то интерфейсе
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Ошибки полезли | onepunch  | uplinkerrors  | rised      |      | log,sms,telegram | | X        | Ошибки полезли | onepunch  | uplinkerrors  | rised      |      | log,sms,telegram |
  
 Ну либо какой-то уровень роста ошибок мы считаем допустимым, и например, устанавливаем порог в 100 ошибок за 10 минут Ну либо какой-то уровень роста ошибок мы считаем допустимым, и например, устанавливаем порог в 100 ошибок за 10 минут
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Ошибки полезли резво | onepunch  | uplinkerrors  | rised      |  100    | log,sms,telegram | | X        | Ошибки полезли резво | onepunch  | uplinkerrors  | rised      |  100    | log,sms,telegram |
  
 Также мы можем таким способом отлавливать либо резкие всплески либо падения утилизации, например все того же канала. Типа, мы считаем, что если утилизация канала за последние 10 минут выросла на восемь гиг.. типа что-то пошло не так Также мы можем таким способом отлавливать либо резкие всплески либо падения утилизации, например все того же канала. Типа, мы считаем, что если утилизация канала за последние 10 минут выросла на восемь гиг.. типа что-то пошло не так
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Канал разогнался как-то | onepunch  | uplinktraffic  | rised      |  8000    | log,sms,telegram | | X        | Канал разогнался как-то | onepunch  | uplinktraffic  | rised      |  8000    | log,sms,telegram |
  
 Ну или наоборот резкие падения относительно предыдущих значений (типа утилизация аплинка провалилась на 20 гиг от последнего запуска собаки) Ну или наоборот резкие падения относительно предыдущих значений (типа утилизация аплинка провалилась на 20 гиг от последнего запуска собаки)
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Трафик рухнул куда-то | onepunch  | uplinktraffic  | decreased      20000    | log,sms,telegram | | X        | Трафик рухнул куда-то | onepunch  | uplinktraffic  | decreased      20000    | log,sms,telegram |
  
 А еще мы можем очень просто проверять рабочесть сервисов которые должны слушать соединения на какие-то TCP или UDP порты, типа так А еще мы можем очень просто проверять рабочесть сервисов которые должны слушать соединения на какие-то TCP или UDP порты, типа так
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | http на хосте | tcpping  | 192.168.42.18:80  | changed          | log,sms,telegram andresult | | X        | http на хосте | tcpping  | 192.168.42.18:80  | changed          | log,sms,telegram andresult |
  
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | https на хосте | tcpping  | 192.168.42.18:443  | changed          | log,sms,telegram andresult | | X        | https на хосте | tcpping  | 192.168.42.18:443  | changed          | log,sms,telegram andresult |
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | syslogd на хосте | udpping  | 192.168.42.18:514  | changed          | log,sms,telegram andresult | | X        | syslogd на хосте | udpping  | 192.168.42.18:514  | changed          | log,sms,telegram andresult |
  
  
 А еще мы можем получать и проверять любые данные, из любого OID при помощи snmpwalk: А еще мы можем получать и проверять любые данные, из любого OID при помощи snmpwalk:
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Версия OS | snmpwalk  | 192.168.42.18:changeme:.1.3.6.1.2.1.1.1.0  | changed          | log,sms,telegram andresult | | X        | Версия OS | snmpwalk  | 192.168.42.18:changeme:.1.3.6.1.2.1.1.1.0  | changed          | log,sms,telegram andresult |
  
 Или банально нотифицировать себя о том, что в корневом разделе заканчивается место Или банально нотифицировать себя о том, что в корневом разделе заканчивается место
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | X        | Место в корне заканчивается | freediskspace  | /  |  <      100     | log,sms,telegram andresult | | X        | Место в корне заканчивается | freediskspace  | /  |  <      100     | log,sms,telegram andresult |
  
watchdog.txt · Востаннє змінено: 2024/04/23 18:10 повз nightfly