Posts Tagged ‘ Monitoring

Мониторинг загрузки CPU сервера под FreeBSD в Zabbix

Интересная петрушка, но для меня было неожиданностью что нету простого и однозначного рецепта по мониторингу загрузки CPU сервера под FreeBSD через SNMP. Максимум что удалось найти — догадки как это можно делать в принципе, но вот будет работать или нет — никто не гарантирует. Мдяяяяя……
Ну чтоже, очень неуверенно, но всеже заявляю что удалось настроить, в моем конкретном случае «вроде бы как» показывает более-менее честно.
Есть вот такая дока по zabbix, которая описывает принцип вычисления загрузки CPU в Linux/Solaris/AIX/HP-UX системах. Некоторые товарищи в инете утверждают что для FreeBSD подходит формула вычисления множителя для Linux. Поверим на слово и попробуем настроить, дальше посмотрим, совпадет ли с реальной нагрузкой или нет. Читать полностью

Мониторинг Postfix в Zabbix через SNMP

Нашел забавный скриптик для мониторинга MTA, в моем случае postfix, через SNMP.
Заинтересовался, решил попробовать, но скрипт адаптирован под Cacti, а у меня Zabbix. Но это не беда — понимая суть прикрутить к заббиксу пара пустяков.
Для работы необходим snmp, установите самостоятельно, ничего сложного нету.
Скачать скрипт можно на форуме о Cacti.
Правим основной конфиг SNMPD /ust/local/etc/snmpd.conf
Кроме всякой ерунды, типа задание коммюнити и прочее, важно добавить вот такую строчку:

pass .1.3.6.1.4.1.2021.255 /usr/local/bin/fetch_mail_statistics.pl /var/log/maillog /var/log/mailstats.db .1.3.6.1.4.1.2021.255

После чего перегрузить snmpd

service snmpd restart

После этого на сервере с zabbix проверяем:

snmpwalk -Oav -v 2c -c public my.server.com.ua .1.3.6.1.4.1.2021.255
INTEGER: 13
INTEGER: 19
INTEGER: 0
INTEGER: 0
INTEGER: 2
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0

Гуд! Теперь важно понять легенду тех данных что мы получили, если бегло глянуть в код скрипта, то становится ясно, что:
1. Received
2. Sent
3. Deferred
4. Bounced
5. Rejected
6. Clean
7. Pspam (Greylisting)
8. Spam (RBL and spammassassin Blocked)
9. Infected (ClamAV)
10. Bad Header
11. Banned
Если вам ненужно так много, можно некоторые записи поудалять прямо со скрипта, или оставить но не использовать их … можно переписать на то что больше вам подходит, хорошо что скрипт на perl — вобщем дерзайте!
Удачи!

ESXi — включение SNMP

Включение snmpd в ESXi оказалось нетривиальной задачей, для решения которой нужно зайти по ssh на esx и в консольном режиме поправить xml конфиг файл snmp

vi /etc/vmware/snmp.xml

Для включение snmp правим до такого состояния

<enable>true</enable>

задать комюнити можно тут

<communities>ESXi5</communities>

После этого перезапустить сервисы командой

/sbin/services.sh restart

После этого можно опрашивать сервак по SNMP
P.S. Если знаете метод покошернее, обязательно опишите в комменте.

Debian и Nagios3 — проблема с snmp_check

В nagios3 ни в какую не хотел работать мониторинг с помощью плагина check_snmp
в логах /var/log/syslog вижу такое:

Cannot create directory: /usr/var/check_snmp

Что за ерунда? Смотрим что за директория такая:

root@deb1:~# ls -l /usr/var/check_snmp
итого 24
-rw-r----- 1 root root 42 Дек 13 18:53 49ff5af410426a97860a51c57c0545e675c972ad
-rw-r----- 1 root root 42 Дек 14 10:36 5085580c7992f4a695d06943c47cb4361ef7458f
-rw-r----- 1 root root 42 Дек 14 11:21 72676809b13d33b4f6f60da8b2c568902685d176
-rw-r----- 1 root root 42 Дек 13 18:52 9f4c2f333c7e1caf8cfa09b739c0ee84b1ab8e3d
-rw-r----- 1 root root 42 Дек 13 18:54 a1f4bfb67e47d9af77b8a619b68fd630389f41ee
-rw-r----- 1 root root 42 Дек 14 10:36 bf0d9f7f006348246bcc271fc00ab3b185f4ad39
root@deb1:~#

Это результаты запуска скрипта check_snmp из под рута — надо же было одтестить вагон и маленькую тележку опций запуска 🙂 Читать полностью

Настройка логирования snmpd в Debian Squeeze

Поставил тут себе на днях систему мониторинга Zabbix для «поиграться».

В роли обьекта для мониторинга выбрал одну из машин в сети с Debian Squeeze на борту. Все вроде отлично но смущал только один факт …. логирование snmpd по умолчанию уж слишком подробное. Логируется каждый конект к snmpd, в результате куча ненужного хлама в логе.

Это хорошо видно даже на размере логфайла daemon.log по сравнению с более старыми:

root@host1:~# ls -l /var/log/daemon.log*
-rw-r----- 1 root adm 954327 Jun 22 15:42 /var/log/daemon.log
-rw-r----- 1 root adm  75501 Jun 20 08:22 /var/log/daemon.log.1
-rw-r----- 1 root adm   9661 Jun 14 08:23 /var/log/daemon.log.2.gz
-rw-r----- 1 root adm  18716 Jun  6 08:46 /var/log/daemon.log.3.gz
-rw-r----- 1 root adm   1460 May 30 07:55 /var/log/daemon.log.4.gz
root@host1:~#

Не спорю … в момент настройки это очень помогло, но вот когда связка уже настроена в подробном логировании на клиентах я не вижу смысла. Поэтому решил както это дело урегулировать конфигами 🙂 В результате анализа конфига snmpd.conf ничего полезного в этом плане не нашел. Начал шнырять по манам …. и всетаки угробив полчасика нашел заветный параметр 🙂

Специально хочу записать себе чтобы не париться в следующий раз 🙂

Итак, менять надо параметры запуска самого демона snmpd в файлике /etc/default/snmpd с:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

на

SNMPDOPTS='-LS 0-4 d -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

И перезапустить snmpd командочкой:

root@host1:~# service snmpd restart

В результате, как я понял, в лог сыпятся только alerts, warnings and errors А всякие там конекты игнорятся 🙂

Этого то я и добивался 🙂 Вроде работает 🙂

Массово задать snmp_community для хоста в Zabbix

Есть zabbix и есть хост с шаблоном snmp_v1 в котором стоит дефолтное комюнити public. Поскольку мне нужно установить свое snmp_community (напрмер MyCom) а руками это делать лениво 207 раз … я сделал это вот так!

Задаем произвольное snmp_community в нужном нам хосте на одном из показателей с помощью web админки zabbix. К примеру я задал ‘BlaBla’

Потом лезем в mysql:

black:~# mysql -p

И покопавшись немного в мускуле я понял что каждому конкретному хосту присваеивается свой id на который применяются уже шаблоны. Вычислив этот id можно массово для него поменять snmp_community (не претендую на полное понимание происходящего … но както так у меня оно в голове уложилось)

Короче в мускуле делаем нечто такое:

mysql> USE zabbix;

mysql> SELECT hostid FROM `items` WHERE `snmp_community` = 'BlaBla';
+--------+
| hostid |
+--------+
|  10016 |
+--------+
1 ROW IN SET (0.00 sec)

mysql> UPDATE items SET `snmp_community` = 'MyCom' WHERE `hostid` = 10016;
Query OK, 207 ROWS affected (0.11 sec)
ROWS matched: 207  Changed: 207  Warnings: 0

mysql> quit;

Ну вот и все! Какбы у меня везде поменялись комюнити для даного хоста.