====== Налаштування snmptrapd на FreeBSD ====== Редагуємо rc.conf # vim /etc/rc.conf snmptrapd_enable="YES" snmptrapd_flags="-On -A -Lf /var/log/snmptrapd.log -c /usr/local/etc/snmptrapd.conf" Створюємо конфіг для snmptrapd # vim /usr/local/etc/snmptrapd.conf pidFile /var/run/snmptrapd.pid format1 %y-%02.m-%02.l %02.2h:%02.2j %b %N %v\n format2 %y-%02.m-%02.l %02.2h:%02.2j %b %N %v\n ignoreauthfailure yes disableAuthorization yes Створюємо файл під лог # touch /var/log/snmptrapd.log # chmod 777 /var/log/snmptrapd.log Запускаємо # /usr/local/etc/rc.d/snmptrapd restart ====== Ввімкнення в Ubilling ====== {{:itsatrap0.png?|}} Для гнучкого відстеження трапів, що відбуваються, існує відповідний модуль "Це пастка!" (It`s a trap!). Вмикається відповідною опцією в [[alteriniconf|alter.ini]]: ITSATRAP_ENABLED=1 Налаштування модуля просте й очевидне за своєю суттю: {{:itsatrap1.png?500|}} 1. Вказуємо джерело даних у вигляді файлу або HTTP URL віддаленого джерела даних (про це трохи далі) 2. У разі локального шляху (думаємо, в 99.5% випадків це буде наш /var/log/snmptrapd.log) вказуємо кількість рядків для обробки 3. Дивимося очима в "Raw Дані" і визначаємо рядок, входження якого ми будемо використовувати як фільтр отриманої трапи. 4. Усе, можемо тепер дізнаватися, які "Події" відбувалися і на якому обладнанні. {{:itsatrap2.png?500|}} ====== Віддалені джерела даних ====== У разі якщо у вас вже є snmptrapd, який збирає трапи на якомусь віддаленому хості, ви також можете вказати "Шлях до файлу або URL джерела даних" у вигляді **http://somehostname/remotetraps/**. Реалізувати вивалювання вашого snmptrapd.log у веб із мінімізацією переданого трафіку, ви можете за допомогою скрипта на кшталт такого: ====== Моніторинг за допомогою собаки-спостерігаки ====== Для цього ми можемо використовувати скажімо такий ось [[onepunch|One-Punch]] скрипт $itsatrap = new ItSaTrap(); $watchdogCallbackResult=$itsatrap->getLastTraps(2, 4); // 2 - ID трапи, 4 - кількість останніх. А якщо потрібно ловити кілька різних ID трап у межах одного завдання собаки? Припустимо, це все якісь різні види loopguard? Дуже просто і так само, просто вказавши ID типів, але вже у вигляді масиву: $itsatrap = new ItSaTrap(); $watchdogCallbackResult=$itsatrap->getLastTraps(array(2,6,10), 4); // ID трап у вигляді масиву, кількість останніх.