Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
watchdog [2023/01/22 10:36] nightfly |
watchdog [2025/10/28 18:56] (поточний) nightfly [Відсилка Telegram] |
||
|---|---|---|---|
| Рядок 3: | Рядок 3: | ||
| {{: | {{: | ||
| - | Собака-спостерігака призначена для < | + | Собака-спостерігака призначена для < |
| ===== Можливі перевірки ===== | ===== Можливі перевірки ===== | ||
| Рядок 183: | Рядок 183: | ||
| ===== Відсилка Telegram ===== | ===== Відсилка Telegram ===== | ||
| - | Здійснюється також під час проходу " | + | Здійснюється також під час проходу " |
| Рядок 602: | Рядок 602: | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | ==== Моніторинг живості OLT-ів === | ||
| + | |||
| + | <code php> | ||
| + | $watchdogCallbackResult = ' '; | ||
| + | $deadOltCount=0; | ||
| + | $deadSwitches = zb_SwitchesGetAllDead(); | ||
| + | |||
| + | if (!empty($deadSwitches)) { | ||
| + | $switchesDb=new NyanOrm(' | ||
| + | $switchesDb-> | ||
| + | $allOlts=$switchesDb-> | ||
| + | if (!empty($allOlts)) { | ||
| + | foreach ($allOlts as $oltIp=> | ||
| + | if (isset($deadSwitches[$oltIp])) { | ||
| + | $deadOltCount++; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | if ($deadOltCount> | ||
| + | $watchdogCallbackResult .= $deadOltCount.' | ||
| + | } else { | ||
| + | $watchdogCallbackResult .= 'зі всіма наразі все гаразд.'; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Моніторинг BGP сесій === | ||
| + | |||
| + | <code php> | ||
| + | $watchdogCallbackResult = ''; | ||
| + | $deadPeersList = ''; | ||
| + | $bgpMon = new BGPMon(); | ||
| + | $allPeersStats = $bgpMon-> | ||
| + | $deadCount = 0; | ||
| + | if (!empty($allPeersStats)) { | ||
| + | foreach ($allPeersStats as $eachRouterId => $eachRouterStats) { | ||
| + | if (!empty($eachRouterStats)) { | ||
| + | foreach ($eachRouterStats as $io => $each) { | ||
| + | if ($each[' | ||
| + | $deadCount++; | ||
| + | $deadPeersList .= $each[' | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if ($deadCount > 0) { | ||
| + | $watchdogCallbackResult .= ' | ||
| + | $watchdogCallbackResult .= $deadPeersList; | ||
| + | } else { | ||
| + | $watchdogCallbackResult .= 'Зі всіма BGP пірами все гаразд'; | ||
| + | } | ||
| + | |||
| + | deb($watchdogCallbackResult); | ||
| </ | </ | ||