Zabbix - мониторим и отслеживаем

Аватар пользователя Raven2000

Приходит к нам осень.
Упали все листья -
Пора мониторить.
Хайку.

В один из дней я захотел узнавать о неполадках в сетевой инфраструктуре\серверов\сервисов\сайтов и тп не через пользователей или пока сам не споткнусь. А был бы своевременно предупрежден через sms\mail\jabber в ту же минуту когда начались неполадки. Мог посмотреть и визуально контролировать карты моей инфраструктуры удаленных серверов и сервисов и видеть в какой части сети или линии произошел сбой и\или какой сервис стал недоступным. И задумался о системе мониторинга, оповещения и отслеживания статусов разнообразных сервисов в компьютерной сети, серверов и сетевого оборудования.
Долго выбирал из таких систем как Nagios, Zenoss, Zabbix, GroundWork, OpenNMS и Opsview.
Читал информацию по каждой системе, тестировал и сравнивал каждую. Отказывался от проектов по разным причинам например нет нужного функционала или он есть, но не в базовой бесплатной поставке, а в ее коммерческом варианте. Так же в виду неудобной эксплуатации, отсутствие грамотной документации, поддержки, работой серверной части на всякой экзотики типа Zope\Python и тп.

Остановился я на системе Zabbix в виду того что:

  • Хорошо документирована
  • Существует поддержка как бесплатная (форум, Wiki, мануал, IRC, рассылки) так и коммерческая.
  • Создан - Backend на С frontend на php
  • Простое написание шаблонов и триггеров и удобное создание карт с связями по событиям и триггерам.
  • Нативные клиенты под Windows, Linux, MacOS, *BSD.

Содержание:

Введение

ZABBIX состоит из четырех компонентов для основной работы вам потребуется первые три компоненты.
ZABBIX Server - это основное, программное обеспечение ZABBIX. Сервер может удаленно проверить сетевые службы (такие как веб-серверы и почтовые серверы, ssh и тп), используя простые виды проверки, но он также является центральным компонентом которой агенты сообщают о доступности и целостность информации и статистики. Сервер является центральным хранилищем, в котором хранятся все конфигурации, статистические и оперативные данные. ZABBIX, будет активно уведомлять администраторов когда возникают проблемы в любом из контролируемых систем. Он может также контролировать устройства использующих SNMP агентов.

ZABBIX Frontend - веб-интерфейс для обеспечения легкого доступа к данным мониторинга и конфигурации Zabbix откуда угодно и с любой платформы. Веб-интерфейс является частью Zabbix сервера, и, как правило (но не обязательно), запущен на одном физическом сервере, что один Zabbix сервер.

ZABBIX Агент - этот модуль нужен для того, чтобы активно контролировать ресурсы и приложений (таких как HDD, RAM, CPU статистику и т.д.) в сетевых системах, эти системы должны запустить ZABBIX агента. Агент будет собирать информацию с системы, на которой он работает, и представлять эти данные для дальнейшей обработки ZABBIX Server. В случае неудачи (например, жесткий диск заполнился или вышел из строя служебный процесс). ZABBIX Server может активно предупреждать администраторов о проблемах этой машины. ZABBIX агенты являются чрезвычайно эффективными из-за использования нативных системных вызовов для сбора статистической информации.

ZABBIX Proxy - это опциональный компонент развертывания ZABBIX. Прокси собирает данные о производительности и доступности данных от имени ZABBIX Server. Все собранные данные
обработанные локально передаются ZABBIX Server. ZABBIX прокси является идеальным решением для централизованного удаленного мониторинга мест, филиалов, сетей, не имеющих локальных администраторов.
ZABBIX прокси может быть также использована для уменьшения нагрузки одного ZABBIX Server. В этом случае только собирать данные прокси тем самым снижая нагрузку на обработку данных по клиентов у сервера.

Установка серверной части

# cd /usr/ports/
# make search name=zabbix
 
Port:   zabbix-agent-1.8.2_1,2
Path:   /usr/ports/net-mgmt/zabbix-agent
Info:   Enterprise-class open source distributed monitoring (agent)
Maint:  ports@christianserving.org
B-deps: libiconv-1.13.1_1
R-deps: libiconv-1.13.1_1
WWW:    _http://www.zabbix.com/
 
Port:   zabbix-frontend-1.8.2_1,2
Path:   /usr/ports/net-mgmt/zabbix-frontend
Info:   Enterprise-class open source distributed monitoring (frontend)
Maint:  ports@christianserving.org
B-deps:
R-deps: freetype2-2.3.11 jpeg-8_1 ...
WWW:    _http://www.zabbix.com/
 
Port:   zabbix-proxy-1.8.2_1,2
Path:   /usr/ports/net-mgmt/zabbix-proxy
Info:   Enterprise-class open source distributed monitoring (proxy)
Maint:  ports@christianserving.org
 B-deps: ca_root_nss-3.12.4 curl-7.20.0 gettext-0.17_1 ...
R-deps: ca_root_nss-3.12.4 curl-7.20.0 fping-2.4b2_1 ...
WWW:    _http://www.zabbix.com/
 
Port:   zabbix-server-1.8.2_1,2
Path:   /usr/ports/net-mgmt/zabbix-server
Info:   Enterprise-class open source distributed monitoring (server)
Maint:  ports@christianserving.org
B-deps: ca_root_nss-3.12.4 curl-7.20.0 gettext-0.17_1 ...
R-deps: ca_root_nss-3.12.4 curl-7.20.0 fping-2.4b2_1 ...
WWW:    _http://www.zabbix.com/

Приступим

# cd /usr/ports/net-mgmt/zabbix-server
# make config
 
Опцияs for zabbix-server 1.8.2_1,2              
 
[X] MYSQL   Use MySQL backend
[ ] PGSQL   Use PostgreSQL backend
[X] SQLITE  Use SQLite backend
[  ] IPV6    Support for IPv6
[X] LDAP    Support for checking LDAP servers
[X] JABBER  Use jabber media type
[X] FPING   Use fping for pinging hosts
[  ] SSH     Use libssh2 for SSH-based checks
 
# make install clean
 
Опцияs for libssh2 1.2.4,2
 
[ ] GCRYPT  Use libgcrypt instead of OpenSSL
[ ] TRACE   Enable debug packet traces
[X] ZLIB    Enable compression
 
~~
======================================================================
Zabbix requires a database.  If you are using SQLite, one will be
created automatically.  Otherwise you can install one as follows (<db>
is your database engine and <db_client> is its client program):
 
% cd /usr/local/share/zabbix/server/create
% cat schema/<db>.sql data/data.sql data/images_<db>.sql | <db_client>
 
To upgrade an existing database, see the scripts in
/usr/local/share/zabbix/server/upgrades.
======================================================================
===> Installing rc.d startup script(s)
===>   Compressing manual pages for zabbix-server-1.8.2_1,2
===>   Registering installation for zabbix-server-1.8.2_1,2
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/sbin/zabbix_server
 
      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/zabbix_server
 
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
 
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.zabbix.com/
===>  Cleaning for libssh2-1.2.4,2
===>  Cleaning for zabbix-server-1.8.2_1,2

Создание БД

Создадим БД и пользователя работающего с ней:

# mysql -uroot -proot_pw
mysql> create database db_zabbix character set utf8;
mysql> quit;
# mysql -h localhost --user=root --password=root_pw -e"GRANT ALL ON db_zabbix.* TO /
username_zabbix@localhost IDENTIFIED BY 'username_zabbix_pw'" db_zabbix

Импортируем схемы:

# cd /usr/local/share/zabbix/server/create
# cat schema/mysql.sql data/data.sql data/images_mysql.sql | mysql -uusername_zabbix /
-pusername_zabbix_pw db_zabbix

Конфигурационный файл сервера

Создаем и редактируем конфигурационный файл серверной части:

# cd /usr/local/etc/zabbix
# ls
zabbix_agent.conf.sample  zabbix_agentd.conf.sample zabbix_server.conf.sample
# cp zabbix_server.conf.sample zabbix_server.conf
# chmod u+w zabbix_server.conf
# vi zabbix_server.conf

# Это конфигурационный файл для сервера ZABBIX
# Для получения более подробной информации о ZABBIX,
# посетите _http://www.zabbix.com 
 
 
############ ОСНОВНЫЕ ПАРАМЕТРЫ #################
 
### Опция: NodeID
#	Это определяет уникальные NodeID в распределенной установке,
#	0 - отдельный сервер
#
# Обязательный: no
# Диапазон: 0-999
# По умолчанию:
# NodeID=0
 
 
### Опция: ListenPort
#	Прослушаемый порт для ловушки
#
# Обязательный: no
# Диапазон: 1024-32767
# По умолчанию:
# ListenPort=10051
 
### Опция: SourceIP
#	Исходный IP-адрес для исходящих соединений.
#
# Обязательный: no
# По умолчанию:
# SourceIP=
 
### Опция: LogFile
#	Имя Log Файла
#	Если это не используете, то применяется syslog.
#
# Обязательный: no
# По умолчанию:
# LogFile=
 
LogFile=/tmp/zabbix_server.log
 
### Опция: LogFileSize
#	Максимальный размер файла журнала в MB. 
#	0 - отключения автоматической ротации журнала.
#
# Обязательный: no
# Диапазон: 0-1024
# По умолчанию:
# LogFileSize=1
 
### Опция: DebugLevel
#	Задает уровень отладки
#	0 - debug не создается
#	1 - критическая информация 
#	2 - информация об ошибках
#	3 - предупреждения (по умолчанию)
#	4 - для отладки (много информации) 
#
# Обязательный: no
# Диапазон: 0-4
# По умолчанию:
# DebugLevel=3
 
### Опция: PidFile
#	Имя PID файла.
#
# Обязательный: no
# По умолчанию:
# PidFile=/tmp/zabbix_server.pid
 
### Опция: DBHost
#	Имя хоста базы данных.
#	Если установить как localhost, то сокет используется для MySQL.
#
# Обязательный: no
# По умолчанию:
# DBHost=localhost
 
### Опция: DBName
#	Имя базы данных.
#	SQLite3 примечание: путь к файлу базы данных должны быть предусмотрены.
#	DBUser и DBPassword игнорируются.
#
# Обязательный: yes
# По умолчанию:
# DBName=
 
DBName=db_zabbix
 
### Опция: DBUser
#	База данных пользователя. Игнорируются для SQLite.
#
# Обязательный: no
# По умолчанию:
# DBUser=
 
DBUser=username_zabbix
 
### Опция: DBPassword
#	Пароль базы данных. Игнорируются для SQLite.
#	Закомменируйте эту линию, если пароль не используется.
#
# Обязательный: no
# По умолчанию:
DBPassword=username_zabbix_pw
 
### Опция: DBSocket
#	Путь до MySQL сокета.
#
# Обязательный: no
# По умолчанию:
# DBSocket=/tmp/mysql.sock
 
### Опция: DBPort
#	Порт БД когда не используется локальный сокет. Игнорируются для SQLite.
#
# Обязательный: no
# Диапазон: 1024-65535
# По умолчанию (for MySQL):
# DBPort=3306
 
############ ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ################
 
### Опция: StartPollers
#	Количество pre-forked экземпляров pollers.
#	Вы не должны запускать более 30 pollers.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartPollers=5
 
### Опция: StartIPMIPollers
#	Количество pre-forked экземпляров pollers IPMI.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartIPMIPollers=0
 
### Опция: StartPollersUnreachable
#	Количество pre-forked экземпляров pollers для недоступных хостов.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartPollersUnreachable=1
 
### Опция: StartTrappers
#	Количество pre-forked экземпляров ловушек.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartTrappers=5
 
### Опция: StartPingers
#	Количество pre-forked экземпляров ICMP опросов.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartPingers=1
 
### Опция: StartDiscoverers
#	Количество pre-forked экземпляров обнаружений.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartDiscoverers=1
 
### Опция: StartHTTPPollers
#	Количество pre-forked экземпляров HTTP pollers.
#
# Обязательный: no
# Диапазон: 0-255
# По умолчанию:
# StartHTTPPollers=1
 
### Опция: ListenIP
#	Прослушаемый порт для ловушки.
#	Если этот параметр за комментирован.
#	Прослушивание будет вестись на всех сетевых интерфейсах.
#
# Обязательный: no
# По умолчанию:
# ListenIP=0.0.0.0
 
# ListenIP=127.0.0.1
 
### Опция: HousekeepingFrequency
#	Как часто ZABBIX будет выполнять процедуру домашней работы (в часах).
#	Домашная работа по удаления ненужной информации из таблиц истории, 
#	оповещения и сигнализации.
#	Если используется PostgreSQL , предложенное значение 24, так как она
#	выполняет VACUUM.
#
# Обязательный: no
# Диапазон: 1-24
# По умолчанию:
# HousekeepingFrequency=1
 
### Опция: MaxHousekeeperDelete
#	Таблица "housekeeper" содержит "заданий" процедуры для домашней работы в следующем
#	формате: [Housekeeperid], [TableName], [field], [value].
#	Не более, чем "MaxHousekeeperDelete 'значение (что соответствует [tablename],
#	[field], [value]) будет удалено за одну задачу в один цикл.
#	SQLite3 не использьзуйте этот параметр, будут удалены все соответствующие строки.
#	Если установлено в 0, то на всех используется без ограничений.
#	В этом случае вы должны знать, что вы делаете!
#
#	Обязательный: no
#	Диапазон: 0-1048576
#	По умолчанию:
# MaxHousekeeperDelete=500
 
### Опция: DisableHousekeeping
#	Установите 1, чтобы отключить процедуру домашней работы.
#
# Обязательный: no
# Диапазон: 0-1
# По умолчанию:
# DisableHousekeeping=0
 
### Опция: SenderFrequency
#	Как часто ZABBIX попытаются отправить неотправленные оповещения (в секундах).
#
# Обязательный: no
# Диапазон: 5-3600
# По умолчанию:
# SenderFrequency=30
 
### Опция: CacheSize
#	Size of configuration cache, in bytes. Размер конфигурации кэша в байтах.
#	Общий объем памяти для хранения узлов и элементов данных.
#
# Обязательный: no
# Диапазон: 128K-1G
# По умолчанию:
# CacheSize=8M
 
### Опция: CacheUpdateFrequency
#	Как часто Zabbix будет выполнять обновление конфигурации кэша в секундах.
#
# Обязательный: no
# Диапазон: 1-3600
# По умолчанию:
# CacheUpdateFrequency=60
 
### Опция: HistoryCacheSize
#	Размер истории кэша в байтах.
#	Общий объем памяти для хранения данных истории.
#
# Обязательный: no
# Диапазон: 128K-1G
# По умолчанию:
# HistoryCacheSize=8M
 
### Опция: TrendCacheSize
#	Размер кэша тенденция, в байтах.
#	Общий объем памяти для хранения данных тенденций.
#
# Обязательный: no
# Диапазон: 128K-1G
# По умолчанию:
# TrendCacheSize=4M
 
### Опция: HistoryTextCacheSize
#	Размер текстовой истории кэша в байтах.
#	Общий объем памяти для хранения символов, текста или данных журнала истории.
#
# Обязательный: no
# Диапазон: 128K-1G
# По умолчанию:
# HistoryTextCacheSize=16M
 
### Опция: NodeNoEvents
#	Если установлена '1' локальные событий, не будут отправлены на мастер узел.
#	Это не влияет на способность этого узла для распространения события
#	из его дочерних узлов.
#
# Обязательный: no
# Диапазон: 0-1
# По умолчанию:
# NodeNoEvents=0
 
### Опция: NodeNoHistory
# Если установлена '1' локальная истории, не будет отправлена на мастер узел.
# Это не влияет на способность этого узла для пропаганды истории из его дочерних узлов.
#
# Обязательный: no
# Диапазон: 0-1
# По умолчанию:
# NodeNoHistory=0
 
### Опция: Timeout
#	Указывает, как долго будет ждать агент, SNMP устройства или внешней
#	проверки (в секундах).
#
# Обязательный: no
# Диапазон: 1-30
# По умолчанию:
# Timeout=3
 
### Опция: TrapperTimeout
#	Определяет, сколько секунд ловушка может потратить на обработку новых данных.
#
# Обязательный: no
# Диапазон: 1-300
# По умолчанию:
# TrapperTimeout=300
 
# TrapperTimeout=5
 
### Опция: UnreachablePeriod
#	Через сколько секунд недостижимости считать узел недоступным.
#
# Обязательный: no
# Диапазон: 1-3600
# По умолчанию:
# UnreachablePeriod=45
 
### Опция: UnavailableDelay
#	Как часто проверять хост на наличие приема в течение периода недоступности.
#
# Обязательный: no
# Диапазон: 1-3600
# По умолчанию:
# UnavailableDelay=60
 
### Опция: UnreachableDelay
#	Как часто проверять хост на наличие в период недоступности.
#
# Обязательный: no
# Диапазон: 1-3600
# По умолчанию:
# UnreachableDelay=15
 
### Опция: AlertScriptsPath
#	Местоположение для пользовательских сценариев оповещения.
#
# Обязательный: no
# По умолчанию:
# AlertScriptsPath=/home/zabbix/bin/
 
### Опция: ExternalScripts
#	Местоположение внешних скриптов.
#
# Обязательный: no
# По умолчанию:
# ExternalScripts=/usr/local/etc/zabbix/externalscripts
 
### Опция: FpingLocation
#	Местоположение fping.
#	Убедитесь, что для fping файла имеет root разрешения и установлен флаг SUID.
#
# Обязательный: no
# По умолчанию:
#FpingLocation=/usr/sbin/fping
FpingLocation=/usr/local/sbin/fping
 
### Опция: Fping6Location
#	Местоположение fping6.
#	Убедитесь, что fping6 файла имеет root разрешения и установлен флаг SUID.
#	Сделать пустым, если ваша fping утилита позволяет обрабатывать IPv6 адресов.
#
# Обязательный: no
# По умолчанию:
# Fping6Location=/usr/sbin/fping6
 
### Опция: SSHKeyLocation
#	Расположение открытых ключей для SSH проверки.
#
# Обязательный: no
# По умолчанию:
# SSHKeyLocation=
 
### Опция: TmpDir
#	Временная директорию.
#
# Обязательный: no
# По умолчанию:
# TmpDir=/tmp
 
### Опция: Include
#	Вы можете включать отдельные файлы или все файлы в директорию в файле конфигурации.
#
# Обязательный: no
# По умолчанию:
# Include=
 
# Include=/usr/local/etc/zabbix/zabbix_server.general.conf
# Include=/usr/local/etc/zabbix/zabbix_server/

Настройка fping

# chown root:zabbix /usr/local/sbin/fping
# chmod 710 /usr/local/sbin/fping
# chmod ug+s /usr/local/sbin/fping
# ll /usr/local/sbin/fping
-rws--s---  1 root  zabbix    22K 20 окт 11:31 /usr/local/sbin/fping

Установка веб-интерфейса

# cd /usr/ports/net-mgmt/zabbix-frontend
# make config
 
Опцияs for zabbix-frontend 1.8.2_1,2
 
[X] MYSQL   Use MySQL backend
[ ] PGSQL   Use PostgreSQL backend
[X] SQLITE  Use SQLite backend
 
# make install clean
~
 
===>   Registering installation for zabbix-frontend-1.8.2_1,2
===>  Cleaning for zabbix-frontend-1.8.2_1,2

Установка клиентской части

FreeBSD zabbix-agent

# cd /usr/ports/net-mgmt/zabbix-agent && make config
 
Опция для zabbix-agent 1.8.2_1,2
 
[ ] IPV6  Support for IPv6
 
# make install clean
~~
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/sbin/zabbix_agent
/usr/local/bin/zabbix_sender
/usr/local/sbin/zabbix_agentd
/usr/local/bin/zabbix_get
 
      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/zabbix_agentd
 
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
 
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.zabbix.com/
===>  Cleaning for zabbix-agent-1.8.2_1,2

Windows zabbix-agent

Устанавливается легко и непринужденно.

Конфигурационный файл клиента

# cd /usr/local/etc/zabbix
# cp zabbix_agentd.conf.sample zabbix_agentd.conf
# chmod u+w zabbix_agentd.conf
# vi zabbix_agentd.conf

# Этот конфигурационный файл для Zabbix Agent (Unix)
# Чтобы получить дополнительные сведения о Zabbix, посетите _http://www.zabbix.com
 
############ ОБЩИЕ ПАРАМЕТРЫ #################
 
### Диапазон: PidFile
#	Имя PID файла.
#
# Обязательный: no
# По умолчанию:
# PidFile=/tmp/zabbix_agentd.pid
 
### Диапазон: LogFile
#	Имя Log файла.
#	Если не установлен, используется syslog.
#
# Обязательный: no
# По умолчанию:
# LogFile=
 
LogFile=/tmp/zabbix_agentd.log
 
### Диапазон: LogFileSize
#	Максимальный размер файла журнала в MB.
#	0 - отключения автоматической ротации журнала.
#
# Обязательный: no
# Диапазон: 0-1024
# По умолчанию:
# LogFileSize=1
 
### Диапазон: DebugLevel
#	Задает уровень отладки
#	0 - debug не создается
#	1 - критическая информация 
#	2 - информация об ошибках
#	3 - предупреждения (по умолчанию)
#	4 - для отладки (много информации) 
#
# Обязательный: no
# Диапазон: 0-4
# По умолчанию:
# DebugLevel=3
 
### Диапазон: SourceIP
#	Исходный IP-адрес для исходящих подключений.
#
# Обязательный: no
# По умолчанию:
# SourceIP=
 
### Диапазон: EnableRemoteCommands
#	Разрешается ли удаленные команды с сервера Zabbix.
#	0 - не допускается
#	1 - допускается
#
# Обязательный: no
# По умолчанию:
# EnableRemoteCommands=0
 
### Диапазон: LogRemoteCommands
#	Включение ведения журнала выполненных команд как предупреждения.
#	0 - выключено
#	1 - включен
#
# Обязательный: no
# По умолчанию:
# LogRemoteCommands=0
 
##### Passive checks related
 
### Диапазон: Server
#	Список адресов через запятую IP (или имен хостов) Zabbix-серверов.
#	Не должно быть пробелов запрещено. Первая запись используется для получения списка
#	и отправки активных проверок.
#	Обратите внимание, что имена хостов должны преобразовыватся 
#	как hostname->IP address и IP address->hostname.
#	Если поддержка IPv6 включена, то '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1'
#	имеют равный статус.
#
# Обязательный: yes
# По умолчанию:
# Server=
 
Server=127.0.0.1
 
### Диапазон: Hostname
#	Уникальные, с учетом регистра имя хоста.
#	Необходимо для активного контроля и должно соответствовать имени хоста,
#	как настроено на сервере.
#
# По умолчанию:
# Hostname=system.uname
 
Hostname=Zabbix Server
 
### Диапазон: ListenPort
#	Агент будет прослушивать этот порт для соединения с сервером.
#
# Обязательный: no
# Диапазон: 1024-32767
# По умолчанию:
# ListenPort=10050
 
### Диапазон: ListenIP
#	Агент будет прослушивать указанный интерфейс.
#
# Обязательный: no
# По умолчанию:
# ListenIP=0.0.0.0
 
# ListenIP=127.0.0.1
 
### Диапазон: DisablePassive
#	Отключить пассивный контроль. Агент не будет слушать любой TCP порт.
#	Только активные проверки будут обработаны.
#	0 - не отключать
#	1 - отключить
#
# Обязательный: no
# По умолчанию:
# DisablePassive=0
 
##### Active checks related
 
### Диапазон: DisableActive
#	Отключение активного контроля.
#	Агент будет работать в пассивном режиме, прислушиваясь к серверу.
#
# Обязательный: no
# По умолчанию:
# DisableActive=0
 
# DisableActive=1
 
### Диапазон: ServerPort
#	Порт сервера для загрузки списка и отправки активных проверок.
#
# Обязательный: no
# По умолчанию:
# ServerPort=10051
 
### Диапазон: RefreshActiveChecks
#	Как часто список активных проверок обновляется, в секундах.
#
# Обязательный: no
# Диапазон: 60-3600
# По умолчанию:
# RefreshActiveChecks=120
 
### Диапазон: BufferSend
#	Не хранить данные дольше, чем N секунд в буфере.
#
# Обязательный: no
# Диапазон: 1-3600
# По умолчанию:
# BufferSend=5
 
### Диапазон: BufferSize
#	Максимальное количество значений в буфере памяти. Агент отправит
#	все собранные данные в Zabbix Server или Proxy, если буфер полон.
#
# Обязательный: no
# Диапазон: 1-65535
# По умолчанию:
# BufferSize=100
 
### Диапазон: MaxLinesPerSecond
#	Максимальное количество новых линий агент будет отправлять в секунду Zabbix Server 
#	или Proxy для обработки 'log' и 'logrt' активных проверок.
#	Условyjt значение будет преодолено параметром 'maxlines'
#	приведенных в 'log' и 'logrt' пунктах ключа.
#
# Обязательный: no
# Диапазон: 1-1000
# По умолчанию:
# MaxLinesPerSecond=100
 
 
############ ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ #################
 
### Диапазон: StartAgents
#	Количество pre-forked экземпляров zabbix_agentd, проверяет какой процесс пассивный.
# Обязательный: no
# Диапазон: 1-16
# По умолчанию:
# StartAgents=3
 
### Диапазон: Timeout
#	Тратить не более N секунд на обработку.
#
# Обязательный: no
# Диапазон: 1-30
# По умолчанию:
# Timeout=3
 
### Диапазон: Include
#	Вы можете включать отдельные файлы или все файлы в директорию в файле конфигурации.
#
# Обязательный: no
# По умолчанию:
# Include=
 
# Include=/usr/local/etc/zabbix/zabbix_agent.userparams.conf
# Include=/usr/local/etc/zabbix/zabbix_agentd/
 
 
####### КОНТРОЛИРУЕМЫЕ ПАРАМЕТРЫ ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ #######
 
### Диапазон: UnsafeUserParameters
#	Разрешить все символы, которые передаются в аргументах для определяемых
#	пользователем параметров.
#	0 - не разрешать
#	1 - разрешать
#
# Обязательный: no
# Диапазон: 0-1
# По умолчанию:
# UnsafeUserParameters=0
 
### Диапазон: UserParameter
#	Параметры определяемые пользователем для мониторинга.
#	Там может быть несколько пользовательских параметров.
#	Формат: UserParameter=<key>,<shell command>
#	Обратите внимание, что команды оболочки не должен возвращать пустую
#	строку или только EOL.
#	Пример: UserParameter=system.test,who|wc -l
UserParameter=system.test,who|wc -l
### Set of parameters for monitoring MySQL server (v3.23.42 and later)
### Change -u<username> and add -p<password> if required
#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":"
#UserParameter=mysql.version,mysql -V

Запуск

Добавляем в /etc/rc.conf:

zabbix_server_enable="YES"
zabbix_agentd_enable="YES"

Запускаем агент и сервер.

# /usr/local/etc/rc.d/zabbix_agentd start
Starting zabbix_agentd.
# /usr/local/etc/rc.d/zabbix_server start
Starting zabbix_server.
# ps -ax |grep zabbix
 5743  ??  IN     0:00,00 zabbix_agentd: main process (zabbix_agentd)
 5744  ??  SN     0:00,01 zabbix_agentd: main process (zabbix_agentd)
 5745  ??  IN     0:00,00 zabbix_agentd: waiting for connection (zabbix_agentd)
 5746  ??  IN     0:00,00 zabbix_agentd: waiting for connection (zabbix_agentd)
 5747  ??  IN     0:00,00 zabbix_agentd: waiting for connection (zabbix_agentd)
 5748  ??  SN     0:00,00 zabbix_agentd: poller [sleeping for 1 seconds] (zabbi
 5757  ??  IN     0:00,02 zabbix_server: main process (zabbix_server)
 5758  ??  IN     0:00,00 zabbix_server: db config [sleeping for 60 seconds] (z
 5759  ??  SN     0:00,04 zabbix_server: poller [sleeping for 5 seconds] (zabbi
 5760  ??  SN     0:00,04 zabbix_server: poller [sleeping for 5 seconds] (zabbi
 5761  ??  SN     0:00,04 zabbix_server: poller [sleeping for 5 seconds] (zabbi
 5762  ??  SN     0:00,04 zabbix_server: poller [sleeping for 5 seconds] (zabbi
 5763  ??  SN     0:00,03 zabbix_server: poller [sleeping for 5 seconds] (zabbi
 5764  ??  IN     0:00,00 zabbix_server: trapper [waiting for connection] (zabb
 5765  ??  IN     0:00,00 zabbix_server: trapper [waiting for connection] (zabb
 5766  ??  IN     0:00,00 zabbix_server: trapper [waiting for connection] (zabb
 5767  ??  IN     0:00,00 zabbix_server: trapper [waiting for connection] (zabb
 5768  ??  IN     0:00,00 zabbix_server: trapper [waiting for connection] (zabb
 5769  ??  SN     0:00,00 zabbix_server: pinger [sleeping for 5 seconds] (zabbi
 5770  ??  SN     0:00,00 zabbix_server: sender [sleeping for 30 seconds] (zabb
 5771  ??  IN     0:01,18 zabbix_server: housekeeper [sleeping for 1 hour(s)] (
 5772  ??  SN     0:00,00 zabbix_server: timer [sleeping for 30 seconds] (zabbi
 5773  ??  SN     0:00,03 zabbix_server: poller [sleeping for 5 seconds] (zabbi
 5774  ??  SN     0:00,00 zabbix_server: http poller [sleeping for 5 seconds] (
 5775  ??  IN     0:00,04 zabbix_server: discoverer [sleeping for 60 seconds] (
 5776  ??  SN     0:00,00 zabbix_server: db syncer [sleeping for 5 seconds] (za
 5777  ??  SN     0:00,00 zabbix_server: escalator [sleeping for 3 seconds] (za
 5868   0  S+     0:00,00 grep zabbix

Веб-интерфейс

Конфигуратор

Шаги стандартны:

Нажмите кнопку Save configuration file. Сохраните файл zabbix.conf.php и скопируйте его в указанную директорию.
Повторно нажмите на кнопку Retry.

Работа

Веб интерфейс ZABBIX сконфигурирован. По умолчанию имя администратора ‘Admin’, и пароль 'zabbix'.

Для начала:

  • Измените пароль администратора и создайте своего.
  • Создайте свои типы средств передачи для оповещения по sms\mail\jabber.
  • Создайте свои и измените существующие рабочие скрипты
  • Подключите нужные вам хосты, устройства, и все, что вам необходимо контролировать.
  • При необходимости создайте новые шаблоны и показатели.
  • Настройте карты сетей.

Запомните, настройку вы делаете один раз и от этого будет зависит как вы в дальнейшем поедете. Дальнейшая работа сведется к просмотру графиков нагрузки, добавлению хостов и отслеживанию параметров.
Чтобы настроить zabbix нам необходимо понять его терминологию и чем он оперирует при сборе и анализе данных. Терминов не много.

  • Узлы сети (hosts)
  • Элементы данных (items)
  • Триггеры (triggers)
  • Действия (actions)
  • Графики (graphs или charts)
  • Экраны (screens)
  • Карты сети (maps)

И так поехали.
У хостов есть определенные параметры и мы их должны контролировать. Иногда, когда они переходят заданную нами границу и срабатывают триггеры которые мы установили или выбрали по шаблону, что вызывает собой необходимые действия например отправка вам на телефон sms с текстом «Ваш сервант в Африке навернулся ;)». Так же рисуются графики показателей их можно обьеденить в экран.

Узлы сети - Здесь вы можете создать узел связи и включить в группу узлов связи которую вы можете так же создать. При создание узла связи (хоста) задается его имя наименование группы в которой ему необходимо быть включенным, IP адрес или доменное имя, порт агента, состояние и связь с шаблоном (схема сбора данных).

Группы узлов в сети — логическое объединение устройств. Например все сервера в группу Servers все сайты в Web и тп.

Элементы данных - показателем может быть любой системный параметр, значение которого может вычислить zabbix-агент. Показатель может быть как «встроенным» (например объем свободной памяти, загрузка CPU) так и пользовательским. При создании показателя можно указать достаточно много параметров, важнейшие из которых: тип, ключ ,интервал обновления, приложение и группа. Интервалы можно задавать весьма гибко.

Триггеры - триггер создается по какому то определению, если какой-то из показателей перешел через граничное значение. Например можно указать что при отсутствие пинга на определенном хосте активироваться. (создан темплар в котором создан тест пинга и темплар присвоен хосту. И в триггерах создано правило(триггер) для хоста при отсутствие оного активироваться).

Действие — при активации триггера необходимо выполнить определенное действие. Например отправить смс или написать письмо. Вы корректируете эти действия и убираете ненужные. А так же а пользователях указываете кому отправлять сообщения.

Графики - чтобы увидеть график, надо задать его имя, размеры для прорисовки, и показатель, который мы хотим отобразить. Для показателя задается дополнительно цвет и вид заливки. На одном графике может быть сведено несколько показателей. Для изменения существующего графика нажмите напротив него ссылку «Изменить».

Комплексные отчеты — тут сводим все графики в один экран. Тут указываем количество строк и колонок. Для изменения существующего отчета нажмите напротив него ссылку «Изменить». Каждый график можно проматывать во времени, а также менять масштаб временной оси (1 час, 8 часов, сутки, неделя, месяц, год).

Карты сети - тут вы создаете кары или меняете существующую. На данный момент у вас там определен только один хост это ваш сервер. И вам необходимо будет добавить новые элементы (хосты) и связать их между собой связями зависящими от триггеров.

Должно получится что то похожее:

Заключение

Эту систему я использую уже давно и она продолжает меня радовать единственное при обновлениях старательно сохраните существующую БД и файлы тк разработчики в новых ветках знатно косячат. Да и настроите чтобы система не так сильно стремалась по каждому не пройденному тесту пинга и не отправляла вам e-mail по мелочам. Особенно касается это удаленных серверов стоящих, где нибуть на островах. =)

Дополнительная информация

Дополнительные материалы
Ваша оценка: Нет Средняя: 3.8 (44 голоса)

Заранее спасибо

Заранее спасибо :)
CAPTCHA очень злая!

Помогите пожалуйста с простой проверкой по icmp

Привет, большое спасибо за статью!
Если не сложно можешь привести пример создания Элемента данных и триггера, для машины на которой не установлен агент. В частности интересует Простая проверка по icmp, бьюсь второй день, в Элементе данных пишет "Unsupported parameters", а в триггере "Trigger just added. No status update so far."

Элемент данных ключ:
icmpping[,,,,]<

Триггер:
{server:icmpping[,,,,].last(0)}<1

Заранее спасибо.

RE:Помогите пожалуйста с простой проверкой по icmp

В следующий раз в форум пишете по проблемам.
===
Завтра в ветке форума я отпишусь.

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

Zabbix import host from nagios

Всем привет, юзаю zabbix 1.8.3.Мониториться порядка 200 хостов!Все отлично мониторится!
Но вот пришла депеша с просьбой грепнуть с конфигов nagios еще 600 хостов!Понимаю что руками это будет очень долгий процесс.
Ктонибудь решал такую задачу?

RE:Zabbix import host from nagios

К сожалению про миграцию в инете и доках заббикса ничего нет. Можно конечно попробовать воспользоваться системой обнаружения по заданным критериям с подходящим шаблоном. Понимаю не кошерно, но предложить нечего.

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

что-то поломал

после смены IP-адреса zabbix-сервера в логах наблюдаю следующее
при подключении windows машины с zabbix-агентом:

15436:20110416:221345.170 Item [my.host.local:system[procrunning]] error: Got empty string from [192.168.43.7]. Assuming that agent dropped connection because of access permissions

при подключении snmp-устройства:

15432:20110416:222223.515 Item [router_ap003:ifDescr5] error: Timeout while connecting to [192.168.3.1:161]

подскажите куда смотреть

RE:что-то поломал

Ответил в ветке форума

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

виб интерфейс

Скопировал "zabbix" в свою папку www как тока не пытался запустить не instal.php не setup.php ничего не пашет.... притом не ошибки ничего..пустой экран. У меня стоят несколько различных сайтов все они работают без нарекания я хз что ему надо.

RE: вЕб интерфейс

В следующий раз просьба все проблемы писать в ветке форума данной статьи.
1. смените владельца директории zabbix на [user_www]:wheel
2. прочтите и проверьте наличие и корректность работы модулей php(php -v)
2.3 Требования к программному обеспечению
3. Вы не из портов ставите?
==
Дальнейшие ответы и вопросы СЮДА

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

Первоначальная настройка

На первом же шаге сталкнулся с проблемой. После установки заббикса
Создадим БД и пользователя работающего с ней:
Демона мускула нет. Найти и тем более запустить его нет возможности. Прошу более конкретно описать все шаги!

zabbix 2.0

Прочитал вашу статью все очень хорошо написано. Но я настроил zabbix 2.0 c серверной частью все хорошо. А вот клиентская на другом сервере не как не хочет находится и подключатся к серверной. ошибок не каких нет. я так понимаю клиентская часть подключается по портам или еще что то? и как настроить карту?

2 zabbix 2.0

Прошу все проблемы и вопросы писать в ветку форума.

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

Последние статьи

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer