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

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


watchdog

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
watchdog [2023/01/22 09:59]
nightfly
watchdog [2023/01/22 10:13]
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|Собака-посилака]].
Рядок 60: Рядок 60:
 Кожне завдання для Собаки-спостерігаки слід сприймати як "щось трапилося" або "ой яка подія" які трапляються у разі повернення "типом перевірки" за "параметром" результату передбаченого "оператором" з опціональною "умовою". Як приклад, можна навести ось таке просте завдання: Кожне завдання для Собаки-спостерігаки слід сприймати як "щось трапилося" або "ой яка подія" які трапляються у разі повернення "типом перевірки" за "параметром" результату передбаченого "оператором" з опціональною "умовою". Як приклад, можна навести ось таке просте завдання:
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр ^ Оператор ^ Условие ^ Действия      ^  +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
-| X        | Гугл не пингается | icmpping     8.8.8. | =false           | log,sms,email |+| X        | Гугл не пінгається | icmpping     google.com  | =false           | log,sms,email |
  
-При обнаружении того, что ping на адрес 8.8.8.вернул значение "ложно" собака-наблюдака заботливо отошлет вам СМС-ку, почту и запишет в лог уведомление о томчто "Гугл не пингается"+При настанні подіїколи ping на адресу google.com поверне значення "хибно" собака-спостерігака стурбовано надішле вам СМС-ку, почту та запише в лог сповіщення, про тещо "Гугл не пінгається". Власне і продовжить це робити, допоки перевірка icmpping не перестане повертати значення "хибно".
  
-А что делать, если мы не хотим, чтобы собака постоянно нам спамила при отсутствующем пинге куда-то? А очень просто. 
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр ^ Оператор ^ Условие ^ Действия      ^  
-| X        | Чего-то изменилось | icmpping     | 192.168.0.22  | changed  |         | log,sms,email,andresult | 
  
 +А що робити, якщо ми не хочемо, щоб собака постійно нам спамила за відсутнього пінгу кудись? А дуже просто.
  
-В принципе никто не запрещает нам делать и задачи такого плана:+^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії      ^   
 +| X        | Щось змінилось | icmpping     | 192.168.0.22  | changed  |         | log,sms,email,andresult |
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия                  
-| X        | В серверной пожар | script     | /bin/gettemp  | >        |  22     | log,sms,email, andresult | 
  
 +В принципі, ніхто не забороняє нам робити і завдання такого плану:
  
-Вызывая внешний скрипт, снимающий температуру с термодатчиков и при превышении 22 градусов орать всеми известными способами также дописывая в сообщении о температуре вызвавшей панику.+^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії      ^    
 +| X        | В серверній пожежа | script     | /bin/gettemp  | >        |  22     | log,sms,email, andresult |
  
-Если творчески подойти к парсингу вывода внешнего ПО - можно мониторить много интересных вещей без дописывания внешних скриптов: 
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр  ^ Оператор           ^ Условие  ^  Действия      ^  
-| X        | DNS сломался    | script      | nslookup ya.ru %%|%% tail -n 2  | like  |  find     | log,sms       | 
  
-Также мы можем очень просто и элегантно контролировать запущенность важных сервисов типа stargazer создав задачу такого плана: +Викликаючи зовнішній скрипт, що знімає температуру з термодатчиків і при перевищенні 22 градусів кричати всіма відомими способами також дописуючи в повідомленні про температуру що викликає паніку.
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр  ^ Оператор           ^ Условие  ^  Действия      ^  +
-| X        | Stargazer упал    | script      | /bin/ps aux %%|%% /usr/bin/grep stg  | notlike  |  stargazer     | log,sms       |+
  
-Хотя ту же самую по сути задачу мы можем оформить как +Якщо творчо підійти до парсингу виведення зовнішнього ПЗ - можна моніторити багато цікавих речей без дописування зовнішніх скриптів: 
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр  ^ Оператор           ^ Условие   Действия      ^ + 
 +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії      ^    
 +| X        | DNS зламався    | script      | nslookup google.com %%|%% tail -n 2  | like  |  find     | log,sms       | 
 + 
 +Також ми можемо дуже просто та елегантно контролювати запущеність важливих сервісів типу stargazer, створивши завдання такого плану: 
 + 
 +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії      ^    
 +| 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: Рядок 98:
 Чтобы не сосредотачиваться на тривиальных вещах, мы можем предусмотреть ситуацию, когда у нас есть очень важный клиент с логином 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: Рядок 130:
 А еще мы, можем реагировать не только на изменения текущих значений относительно каких-то порогов, а также и относительно предыдущих значений полученных собакой. Резкость этих изменений мы можем опционально указывать в условии. А можем и не указывать. Тогда мы будем реагировать вообще на все изменения этих циферок в сторону увеличения или уменьшения. Например мы можем реагировать на увеличение роста ошибок на каком-то интерфейсе А еще мы, можем реагировать не только на изменения текущих значений относительно каких-то порогов, а также и относительно предыдущих значений полученных собакой. Резкость этих изменений мы можем опционально указывать в условии. А можем и не указывать. Тогда мы будем реагировать вообще на все изменения этих циферок в сторону увеличения или уменьшения. Например мы можем реагировать на увеличение роста ошибок на каком-то интерфейсе
  
-^ Активный ^ Имя               ^ Тип проверки ^ Параметр    ^ Оператор ^ Условие ^ Действия      +^ Активний ^ Ім`я               ^ Тип перевірки ^ Параметр ^ Оператор ^ Умова ^ Дії        
 | 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