====== Налаштування 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 трап у вигляді масиву, кількість останніх.