Мониторинг сетевой подсистемы swi1:net в FreeBSD
Вечером обнаружил недоступность сервера. Приехав на место, обнаружил 100% загрузку CPU, это была сетевая подсистема swi1:net. Пока обновлял “мир” ОС, решил прикрутить мониторинг данной проблемы…
По данному вопросу Google посоветовал metalmind.ru. Человек тоже любитель писать скрипты на php как и я. Так что будем юзать. Сложность в скрипте отсутствует, все настолько просто, что дальше некуда.
У себя я создал отдельный mrtg конфиг, в будущем планирую запихнуть туда мониторинг процессора, памяти, температуры и т.д…
/usr/local/etc/mrtg/mrtg_syste.cfg
1 2 3 4 5 6 7 8 9 10 11 | WorkDir: /usr/local/www/mrtg/system Options[_]: gauge, noo,growright,nopercent WithPeak[_]: ymwd interval:5 Target[swi1]: `/usr/local/etc/mrtg/system/swi1.php` MaxBytes[swi1]: 100 Title[swi1]: Analysis of SWI:NET load averages PageTop[swi1]: <H1>SWI:NET Load Averages</H1> ShortLegend[swi1]: % YLegend[swi1]: % of Load |
Скрипт снятия статистики /usr/local/etc/mrtg/system/swi1.php
1 2 3 4 5 6 7 8 9 10 | #!/usr/local/bin/php <?php $swi=`top -S|grep swi1|awk '{print $11}'`; #убираем знак процента (%) $swi =substr($swi, 0, -2); #Делаем вывод целым (необходимо для mrtg) $swi=intval($swi); #вывод значения. Осуществляется дважды из-за капризности mrtg. echo $swi."n"; echo $swi."n"; |
Добавляем в cron
1 2 | crontab -e */5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg_system.cfg |
У меня html страница для отображения графика выглядит так
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ... <body> <table width="850" border="0"> <tr> <td width="434"></td> <td width="406"></td> </tr> <tr> <td width="434"><a href="swi1.html"><img src="swi1-day.png" border="0"></a></td> <td width="406">SWI1:NET</td> </tr> </table> </body> </html> |
Все, теперь у нас есть наглядная статистика загрузки сетевой подсистемы FreeBSD
Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!
Отзывов нет