Zabbix. Система мониторинга.
Добавлено: 2008-09-10 11:33:34
Есть опыт в установке и настройке Zabbix. Могу (и хочу) поделиться. Нужна статья?
Сталина давно нэт. Чтоби спасти Россию, ищитэ его внутри сэбя...
https://forum.lissyara.su/
Код: Выделить всё
cd /usr/ports/net-mgmt/zabbix/
make install clean
Код: Выделить всё
mysql -u root -p
create database zabbix;
grant all on zabbix.* to zab identified by 'YourPassword';
flush priviledges;
quit;
Код: Выделить всё
cat /usr/local/share/zabbix/create/schema/mysql.sql | mysql -u zab -p zabbix
cat /usr/local/share/zabbix/create/data/data.sql | mysql -u zab -p zabbix
cat /usr/local/share/zabbix/create/data/images_mysql.sql | mysql -u zab -p zabbix
Код: Выделить всё
# This is config file for ZABBIX server process
# To get more information about ZABBIX,
# go http://www.zabbix.com
############ ОСНОВНЫЕ ПАРАМЕТРЫ#################
# Если вы планируете использовать
# несколько Zabbix-серверов
# для распределенного мониторинга,
# то этот параметр задает номер узла
#NodeID=0
# Количество запускаемых форков поллера
# По умолчанию 5 .Должно быть между 0 и 255. Оставляем умолчания.
#StartPollers=5
# Количество форков поллера для недоступных
# узлов. По умолчанию 1. Должно быть между 0 и 255.
#StartPollersUnreachable=1
# Количество запускаемых форков ловушек (а-ля SNMP traps)
# По умолчанию 5. Должно быть между 0 и 255. Оставляем умолчания.
#StartTrappers=5
# Количество запускаемых форков ICMP-пингеров
# По умолчанию 5. Должно быть между 0 и 255. Оставляем умолчания.
#StartPingers=1
# Number of pre-forked instances of discoverers
# Default value is 1
# This parameter must be between 0 and 255
#StartDiscoverers=1
# Количество запускаемых форков HTTP-поллера (мониторинг веб-сервисов)
# По умолчанию 1. Должно быть между 0 и 255.
# Оставляем умолчания.
#StartHTTPPollers=1
# Порт, прослушиваемый zabbix-сервером (траппером)
# Порт задаем в интервале между 1024 и 32767
ListenPort=10051
# Интерфейс, прослушиваемый zabbix-сервером
# Будет прослушивать все интрефейсы, если параметр не задан
#ListenIP=127.0.0.1
# Как часто (в часах) будет производиться
# "сборка мусора" (удаление неактуальных данных,
# актуальность в днях можно задать в PHP-фронтенде).
# По умолчанию - 1 час
# Значения должны быть между 1 и 24
HousekeepingFrequency=2
# Как часто ZABBIX будет повторно отсылать
# недоставленные сообщения(в секундах)
# По умолчанию - 30 секунд
SenderFrequency=60
# Раскомментируйте, если нет необходимости (!!??!!)
# в процедуре "сборки мусора"
#DisableHousekeeping=1
# Уровень протоколирования в логах
# 0 - протоколирование не ведеться
# 1 - критическая информация
# 2 - ошибки
# 3 - предупреждения (умолчание)
# 4 - для отладки
DebugLevel=3
# Длительность ожидания ответа от zabbix-агента
# в секундах. Между 1 и 30.
Timeout=5
# Количество времени в секундах, затрачиваемое на обработку "ловушкой"
#(zabbix-сервером) свежепоступивших данных.
# Между 1 и 30.
#TrapperTimeout=5
# После какого количества секунд недоступности агента (или SNMP-хоста) статус
# узла в фронтэнде изменяется на "недоступен"
UnreachablePeriod=90
#Как часто (в секундах) проверять доступность узла во время статуса "недоступен"
#UnavailableDelay=15
# How ofter check host for availability during the unavailability period
#UnavailableDelay=60
# Имя PID-файла
PidFile=/var/tmp/zabbix_server.pid
# Имя файла логов
# Если не задано, пишет в syslog
LogFile=/tmp/zabbix_server.log
# Максимальный размер лога в мегабайтах.
# Если установлен в 0, то автоматическая ротация выключена
LogFileSize=1
# Location for custom alert scripts
AlertScriptsPath=/home/zabbix/bin/
# Расположение дополнительных скриптов
#ExternalScripts=/etc/zabbix/externalscripts
# Расположение бинарника fping
# Нужно проверить, что владельцем является root и
# на файл установлен SUID-бит
FpingLocation=/usr/local/sbin/fping
# Частота отправи ICMP-пингов. По умолчанию 60 секунд
#PingerFrequency=60
# Хост с СУБД MySQL (или другой)
# По умолчанию localhost
DBHost=localhost
# Имя БД
DBName=zabbix
# Пользователь БД с необходимыми привилегиями
DBUser=zab
# Пароль для доступа к БД
# Закомментировать строку, если пароль пустой
DBPassword=YourPassword
# Соединяться с MySQL, используя UNIX-сокеты
# (не используя TCP/IP транспорт)
DBSocket=/tmp/mysql.sock
Код: Выделить всё
<Directory "/usr/local/share/zabbix/php">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
DocumentRoot "/usr/local/share/zabbix/php"
ServerName monitoring.domain.local
ErrorLog /var/log/zabbix-error_log
CustomLog /var/log/zabbix-access_log common
DirectoryIndex index.php
</VirtualHost>
Код: Выделить всё
less /etc/namedb/slave/domain.local | grep monitoring
monitoring IN A 192.168.0.1
Код: Выделить всё
echo 'zabbix_server_enable=YES' >> /etc/rc.conf
Код: Выделить всё
/usr/local/etc/rc.d/zabbix_server start
Код: Выделить всё
sockstat | grep zabbix
Код: Выделить всё
zabbix zabbix_ser 56771 4 tcp6 *:10051 *:*
zabbix zabbix_ser 56771 5 tcp4 *:10051 *:*
zabbix zabbix_ser 56771 6 stream -> /tmp/mysql.sock
zabbix zabbix_ser 56770 4 tcp6 *:10051 *:*
zabbix zabbix_ser 56770 5 tcp4 *:10051 *:*
zabbix zabbix_ser 56770 6 stream -> /tmp/mysql.sock
zabbix zabbix_ser 56769 4 tcp6 *:10051 *:*
zabbix zabbix_ser 56769 5 tcp4 *:10051 *:*
zabbix zabbix_ser 56769 6 stream -> /tmp/mysql.sock
zabbix zabbix_ser 56768 4 tcp6 *:10051 *:*
Код: Выделить всё
date.timezone = "Europe/Moscow"
max_execution_time = 300
Код: Выделить всё
cd /usr/ports/net-mgmt/zabbix-agent
make install clean
Код: Выделить всё
# Это конфигурационный файл zabbix_agentd
# Для получения более детальной информации о ZABBIX, посетите http://www.zabbix.com
##################ОСНОВНЫЕ ПАРАМЕТРЫ ####################################
# Разделяемый запятыми список IP-адресов (или DNS-имен) Zabbix-серверов.
# Пробелы не допускаются! Первый хост в списке используется для "активных" запросов
# (т.е. со стороны самого агента).
# Помните, что прямое и обратное преобразование DNS-имен должны функционировать.
# Агент в данном случае установлен на машине с Zabbix-сервером.
Server=127.0.0.1
# Порт сервера (для "активных" запросов)
ServerPort=10051
# Уникальное имя узла. Обязательно для "активных" запросовю
Hostname=localhost
# Прослушиваемый порт. По умолчанию - 10050
ListenPort=10050
# IP-адрес, прослушиваемый агентом
# Если запись закомментирована или отсутствует - прослушивать на всех адресах
#ListenIP=127.0.0.1
# Количество форков zabbix_agentd.
# По умолчанию 5
# Параметр должен находится в интервале от 1 до 16
StartAgents=5
# Частота обновления агентом списка "активных" запросов. 2 минуты по умолчанию.
#RefreshActiveChecks=120
# Отключить "активные" запросы. Агент будет работать только в режиме
# прослушивания.
DisableActive=1
# Включить прием комманд для агента ZABBIX. По умолчанию выключено.
#EnableRemoteCommands=1
# Уровень протоколирования в журнале
# 0 - не создается
# 1 - только критическая информация
# 2 - только ошибки
# 3 - предупреждения (по умолчанию)
# 4 - for debugging (produces lots of information)
DebugLevel=3
# Создаваемый процессом PID-файл
PidFile=/var/zabbix/zabbix_agentd.pid
# Имя файла журнала.
# Если не задано, то будет использоваться системный
LogFile=/var/log/zabbix/zabbix_agentd.log
# Максимальный размер файла в мегабайтах. Установите в 0
# для отключения автоматической ротации.
LogFileSize=2
# Не затрачивать на обработку более чем указанного параметром времени (в секундах)
# Должен быть между 1 и 30
Timeout=3
####### ПОЛЬЗОВАТЕЛЬСКИЕ ПАРАМЕТРЫ ДЛЯ МОНИТОРИНГА #######
# Формат: UserParameter=<ключ>,<команда оболочки>
# Помните, что команда после выполнения не должна возвращать пустую строку
# иначе она теряет всякий смысл, т.к. "мониторится" ничего не будет :)
#UserParameter=system.test,who|wc -l
### Набор параметров для мониторинга MySQL (версия 3.23.42 и старше)
### Смените -u<username> идобавьте -p<password> при необходимости
#UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
#UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
#UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
#UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
#UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
#UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
Код: Выделить всё
/usr/local/etc/rc.d/zabbix_agentd start
Код: Выделить всё
echo 'zabbix_agentd_enable="YES"' >> /etc/rc.conf
Код: Выделить всё
apt-get update
apt-get install zabbix-agent
Код: Выделить всё
/etc/init.d/zabbix-agent start
Код: Выделить всё
emerge --sync
emerge --verbose zabbix-agent
Лучше нагиос освой там все не настолько уж и сложно, правда у забикса красивые картинки из коробки, но мне как то модель настройки нагиоса больше по душе.Владимир писал(а):а то от старого адмына осталось nagios не рабочий)
дык, да я еще в раздумьях что и чего + шеф дал задание админку для "общего" управления серверами настругать... (типа создать/удалить/изменить емаил, создать/удалить/изменить аккаунт фтп etc. )f_andrey писал(а):Лучше нагиос освой там все не настолько уж и сложно, правда у забикса красивые картинки из коробки, но мне как то модель настройки нагиоса больше по душе.Владимир писал(а):а то от старого адмына осталось nagios не рабочий)![]()
Валится из-за вот этого, но делает это стабильно у всех именно версия 1.6.wind писал(а):Уважаемые пользователи Zabbex подскажите по поводу 1.6.
Где взять собранный сервер для 1.6 zabbex server. Еще валится с ошибками zabex agent.
420:20080925:142126 zabbix_agentd started. ZABBIX 1.6.
[...]
2976:20080925:142127 Processing request.
3780:20080925:142127 Unable to add performance counter "\Процессор(_Total)\% загруженности процессора" to query: Пропущен или неверен обязательный аргумент.
[...]
сервер именно перестал работать правильно? или вообще не работает?Гость писал(а):Подскажите, как определить и вывести в мониторинг работает ли сам zabbix сервер. Наткнулся на проблему. Настроил простую проверку серверов icmpping, настроил триггеры, сделел карту. tcpdump-ом проверил исходящие от сервера icmp пакеты, вроде бы все работает. Спустя время проверяю работу системы мониторинга, отключаю один из контролируемых, хостов на карте показывается, что хост доступен, в триггерах тоже все нормально. Запускаю tcpdump, icmp пакеты перестали отправляться вообще куда - либо. Проблема в том, что система мониторинга никак не риагирует на то, что сам сервер Zabbix перестал работать правильно. Подскажите, как исправить проблему.
Нет. Достаточно выбрать на сервере в настройках Items простую проверку.kmb писал(а):Допустим есть 50 машин клиентских, хочу просто видеть есть на них пинг или нет с периодичностью каждые 30 секунд, для этого что нужно на все 50 машин агента вешать?
А зачем для этого Zabbix нужен? Поставьте что-то вроде Friendly Pinger-a и все. Здесь налицо нерациональное использование. Получается применение экскаватора для построения куличиков в песочнице. Мне вот например интересна именно статистика, как загружен процессор, дисковая подсистема и т.п., кроме того то, что ICMP-пакеты ходят, не значит, что все в порядке....kmb писал(а):Допустим есть 50 машин клиентских, хочу просто видеть есть на них пинг или нет с периодичностью каждые 30 секунд, для этого что нужно на все 50 машин агента вешать?
Просто поинтересовался...LHC писал(а):А зачем для этого Zabbix нужен? Поставьте что-то вроде Friendly Pinger-a и все. Здесь налицо нерациональное использование. Получается применение экскаватора для построения куличиков в песочнице. Мне вот например интересна именно статистика, как загружен процессор, дисковая подсистема и т.п., кроме того то, что ICMP-пакеты ходят, не значит, что все в порядке....kmb писал(а):Допустим есть 50 машин клиентских, хочу просто видеть есть на них пинг или нет с периодичностью каждые 30 секунд, для этого что нужно на все 50 машин агента вешать?
Проект кстати, закрыт, много чего там не хватает, например хочу чтобы карта сети была доступна через веб.... Других альтернатив не виделПоставьте что-то вроде Friendly Pinger-a и все.