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

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


watchdog

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
watchdog [2023/01/22 10:36]
nightfly
watchdog [2025/02/24 14:52] (поточний)
nightfly [Моніторинг BGP пірів]
Рядок 3: Рядок 3:
 {{:nablyudaka.png?300 |}} {{:nablyudaka.png?300 |}}
  
-Собака-спостерігака призначена для <del>собачення та спостерігання</del> оперативного моніторингу навколишньої реальності. Вона надає гнучкий функціонал для опису позаштатних ситуацій практично будь-якої дивності, а також для сповіщення у разі їх виникнення. У тому числі, за допомогою відсилання SMS через послуги, що підтримуються собакою-посилакою, електронною поштою, месенджера Telegram а також може викликати запуск будь-якого зовнішнього скрипта при настанні якоїсь події. Для включення собаки-спостерігакт потрібна зміна опції WATCHDOG_ENABLED в [[alteriniconf|alter.ini]]. Також для надсилання повідомлень, очевидно, на допомогу собаці-спостерігаці знадобиться [[senddog|Собака-посилака]].+Собака-спостерігака призначена для <del>собачення та спостерігачення</del> оперативного моніторингу навколишньої реальності. Вона надає гнучкий функціонал для опису позаштатних ситуацій практично будь-якої дивності, а також для сповіщення у разі їх виникнення. У тому числі, за допомогою відсилання SMS через послуги, що підтримуються собакою-посилакою, електронною поштою, месенджера Telegram а також може викликати запуск будь-якого зовнішнього скрипта при настанні якоїсь події. Для ввімкнення собаки-спостерігаки, потрібна зміна опції WATCHDOG_ENABLED в [[alteriniconf|alter.ini]]. Також для надсилання повідомлень, очевидно, на допомогу собаці-спостерігаці знадобиться [[senddog|Собака-посилака]].
  
 ===== Можливі перевірки ===== ===== Можливі перевірки =====
Рядок 602: Рядок 602:
     }     }
        
 +</code>
 +
 +==== Моніторинг живості OLT-ів ===
 +
 +<code php>
 +$watchdogCallbackResult = ' ';
 +$deadOltCount=0;
 +$deadSwitches = zb_SwitchesGetAllDead();
 +
 +if (!empty($deadSwitches)) {
 +    $switchesDb=new NyanOrm('switches');
 +    $switchesDb->where('desc','LIKE','%OLT%');
 +    $allOlts=$switchesDb->getAll('ip');
 +    if (!empty($allOlts)) {
 +        foreach ($allOlts as $oltIp=>$eachOltData) {
 +            if (isset($deadSwitches[$oltIp])) {
 +                $deadOltCount++;
 +            }
 +        }   
 +    }
 +}
 +    
 +if ($deadOltCount>0) {
 +    $watchdogCallbackResult .= $deadOltCount.' завернулись шубою. Можна починати панікувати!';
 +} else {
 +    $watchdogCallbackResult .= 'зі всіма наразі все гаразд.';
 +}
 +</code>
 +
 +==== Моніторинг BGP сесій ===
 +
 +<code php>
 +  $watchdogCallbackResult = '';
 +    $deadPeersList = '';
 +    $bgpMon = new BGPMon();
 +    $allPeersStats = $bgpMon->getAllPeersStats();
 +    $deadCount = 0;
 +    if (!empty($allPeersStats)) {
 +        foreach ($allPeersStats as $eachRouterId => $eachRouterStats) {
 +            if (!empty($eachRouterStats)) {
 +                foreach ($eachRouterStats as $io => $each) {
 +                    if ($each['state'] != 6) {
 +                        $deadCount++;
 +                        $deadPeersList .= $each['ip'] . ' - ' . $each['short'] . ' ' . PHP_EOL;
 +                    }
 +                }
 +            }
 +        }
 +    }
 +
 +    if ($deadCount > 0) {
 +        $watchdogCallbackResult .= 'Відригнули наступні BGP піри:' . PHP_EOL;
 +        $watchdogCallbackResult .= $deadPeersList;
 +    } else {
 +        $watchdogCallbackResult .= 'Зі всіма BGP пірами все гаразд';
 +    }
 +
 +    deb($watchdogCallbackResult);
 </code> </code>
watchdog.1674376608.txt.gz · Востаннє змінено: 2023/01/22 10:36 повз nightfly