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

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


watchdog

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
watchdog [2024/04/23 18:10]
nightfly [Собака-спостерігака aka Watchdog]
watchdog [2025/02/24 14:52] (поточний)
nightfly [Моніторинг BGP пірів]
Рядок 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.1713885040.txt.gz · Востаннє змінено: 2024/04/23 18:10 повз nightfly