Zabbix -
свободная система мониторинга и отслеживания статусов разнообразных сервисов
компьютерной сети, серверов и сетевого оборудования, написанная Алексеем
ВладышевымОглавление. Краткая информация и возможности - http://ru.wikipedia.org/wiki/Zabbix
Оглавление:
1. Установка серверной части на Ubuntu Server 12.04.2 LTS
2. Подключение шаблонов для Windows/Linux серверов3. Подключение коммутаторов Cisco и создание шаблонов
4. Мониторинг web ресурсов
5. Мониторинг Windows services
6. Создание тригеров
7. Настройка отправки отчетов на email
1. Установка
1.1. Установка Zabbix 2.0.5
на Ubuntu Server
12.04.2 LTS
Перед
установкой Zabbix, зайдем под администратором и обновим Ubuntu
$ sudo
su
$ sudo apt-get update
&& sudo apt-get upgrade
Загружаем
последний стабильный пакет Zabbix - http://www.zabbix.com/download.php
$ wget
http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.5/zabbix-2.0.5.tar.gz
Распаковываем его
$ tar zxvf zabbix-2.0.5.tar.gz
Создайте аккаунт пользователя
$ groupadd zabbix
$ useradd -g zabbix zabbix
Создайте
базу данных для Zabbix
$ mysql
-u<username> -p<password>
$ mysql> create
database zabbix character set utf8;
$ mysql>
quit;
Создаем
структуру таблиц для базы Zabbix
$ mysql
-u<username> -p<password> zabbix < zabbix-2.0.5/
database/mysql/schema.sql
$ mysql
-u<username> -p<password> zabbix < zabbix-2.0.5/
database/mysql/images.sql
$ mysql
-u<username> -p<password> zabbix < zabbix-2.0.5/
database/mysql/data.sql
Ставим
необходимые пакеты
$ apt-get install
libmysqlclient-dev
$ apt-get install
libcurl4-openssl-dev
$ apt-get install snmpd
$ apt-get install
libsnmp-dev
Переходим в каталог распакованного zabbix, настраиваем конфигурацию и устанавливаем
$ cd zabbix-2.0.5
$ ./configure
--enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp
--with-libcurl
$ make install
Настраиваем
конфигурационные файлы
$ nano /usr/local/etc/zabbix_agentd.conf
Timeout=30
$ nano /usr/local/etc/zabbix_server.conf
DBName=zabbix
DBUser=root
DBPassword=******
StartPingers=10
StartDiscoverers=10
Timeout=30
Добавляем службы Zabbix в автозагрузку
$ cp
misc/init.d/ubuntu/* /etc/init/
$ cp misc/init.d/debian/* /etc/init.d/
$ cp misc/init.d/debian/* /etc/init.d/
Запускаем службы
$ zabbix_server
$ zabbix_agentd
1.2. Установка Web интерфейса
Создаем отдельный каталог для поддержания порядка
$ mkdir /var/www/zabbix
Переходим в каталог web интерфейса и копируем на виртуальный сервер
$ cd
frontends/php
$ cp
-a . /var/www/zabbix
Использовать любой другой язык отличный от English
$ cd
/var/www/zabbix/locale
$
./make_mo.sh
Настраиваем PHP под требования Zabbix
$ nano
/etc/php5/apache2/php.ini
memory_limit
= 128M
post_max_size
= 16M
max_execution_time
= 300
max_input_time
= 300
date.timezone
= Europe/Moscow
Перезагружаем MySQL и Apache
$
/etc/init.d/mysql restart && /etc/init.d/apache2 restart
Переходим на наш сервер
http://localhost/zabbix
Если Вы хотите напрямую заходить в Zabbix по http://localhost/ то делаем следующее
$
nano /etc/apache2/sites-enabled/000-default
Меняем строку
DocumentRoot /var/www
на
DocumentRoot /var/www/zabbix
Сохраняем и перезагружаем Apache
1.3. Установка агентов
1.3.1. CentOS 6
1.3.1. CentOS 6
Перед
установкой Zabbix, зайдем под администратором и обновим CentOS
$ su
$ yum
update
Загружаем
последний стабильный пакет Zabbix - http://www.zabbix.com/download.php
$ wget
http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.5/zabbix-2.0.5.tar.gz
Распаковываем его
$ tar zxvf zabbix-2.0.5.tar.gz
Создайте аккаунт пользователя
$ groupadd zabbix
$ useradd -g zabbix
zabbix
Ставим необходимые пакеты
$ yum install gcc
$ yum install make
Переходим
в каталог распакованного zabbix, настраиваем конфигурацию и
устанавливаем
$ cd zabbix-2.0.5
$ ./configure
--enable-agent
$ make install
Настраиваем конфигурационные файлы
$ nano /usr/local/etc/zabbix_agentd.conf
Server=IP_Zabbix_Server
ServerActive= IP_Zabbix_Server
Добавляем службы Zabbix в автозагрузку
$ cp misc/init.d/fedora/core5/zabbix_agentd
/etc/init.d/
$ chkconfig --level
345 zabbix_agentd on
Добавляем правило в iptables
$ nano /etc/sysconfig/iptables
-A INPUT -p tcp
--dport 10050 -j ACCEPT
-A INPUT -p udp
--dport 10050 -j ACCEPT
Запускаем службу
$
/etc/init.d/zabbix_agentd start
1.3.2. Windows 2008R2
Распаковываем архив zabbix-2.0.5.tar.gz
В каталоге bin находятся службы Windows как для x86 так и для x64
Для Windows 2008 R2 копируем zabbix-2.0.5\bin\win64\zabbix_agentd.exe на диск C:\
Копируем конфигурационный файл из zabbix-2.0.5\conf\zabbix_agentd.win.conf на диск C:\
Переименуем zabbix_agentd.win.conf в zabbix_agentd.conf
Редактируем conf. Меняем Server=127.0.0.1 на IP_Zabbix_Server
Добавляем правило в Windows Firewall
Распаковываем архив zabbix-2.0.5.tar.gz
В каталоге bin находятся службы Windows как для x86 так и для x64
Для Windows 2008 R2 копируем zabbix-2.0.5\bin\win64\zabbix_agentd.exe на диск C:\
Копируем конфигурационный файл из zabbix-2.0.5\conf\zabbix_agentd.win.conf на диск C:\
Переименуем zabbix_agentd.win.conf в zabbix_agentd.conf
Редактируем conf. Меняем Server=127.0.0.1 на IP_Zabbix_Server
Добавляем правило в Windows Firewall
- Inbound Rules → New Rule…
- Выбираем Port
- Выбираем TCP и Specific local ports: 10050
- Allow the connection
- Domain
- В Name указываем - Zabbix agent
2. Подключение шаблонов для Windows/Linux серверов
В Zabbix уже имеются готовые шаблоны для ОС Windows/Linux. Остается их только подключить.
2.1. Создаем
Host group для
более удобного наблюдения за серверами (Configuration → Host groups
→ Create host group)
В Group
name пишем для Windows - Windows servers, для Linux - Linux servers.
2.2. Заносим
шаблоны в только что созданные группы (Configuration → Templates)
Выбираем шаблон Template OS Windows или Template OS Linux.
2.3. Добавляем Host или Сервер в Zabbix
(Configuration → Hosts → Create hosts)
Вкладка Host
- Указываем Host name
и IP address, выбираем нужную Group.
Вкладка Templates
– Add и
выбираем нужный шаблон
3. Подключение коммутаторов Cisco и создание
шаблонов
3.1. Включение snmp на коммутаторе
Подключаемся к коммутатору (ssh/telnet)
# configure terminal
# snmp-server community public RO
# snmp-server host IP_Zabbix_Server public
3.2. Создание
шаблона
Шаблон можно сгенерировать на http://ross.vc/cisco_tpl/
Но он может подойти, а может нет.
Заходим по SSH на Zabbix и проверяем наш коммутатор на название портов.
snmpwalk
-v 2c -c public IP_Cisco 1.3.6.1.2.1.2.2.1.2
Примечание: Для старых устройств используйте snmp 1 версии. Например, для Cisco PIX 525, команда будет выглядеть так - snmpwalk -v 1 -c public IP_Cisco_PIX 1.3.6.1.2.1.2.2.1.2
Примечание: Для старых устройств используйте snmp 1 версии. Например, для Cisco PIX 525, команда будет выглядеть так - snmpwalk -v 1 -c public IP_Cisco_PIX 1.3.6.1.2.1.2.2.1.2
FastEthernet1
= 1
TenGigabitEthernet1/1
= 3
etc.
Шаблон, который сгенерирован на сайте ross.vc имеет порядок портов от 10000 (FastEthernet), 10101 (GigabitEthernet),
10201 (TenGigabitEthernet). Нам просто необходимо будет поменять
названия портов с 100000 на 2 и т.д.
Примеры моих шаблонов (24 и 48 портовые свичи + CISCO 4500):
http://rusfolder.com/36183931
http://rusfolder.com/36183931
3.3. Добавление
коммутаторов Cisco
3.3.1. Создаем Host group для более удобного наблюдения за коммутаторами (Configuration → Host groups → Create host group)
3.3.1. Создаем Host group для более удобного наблюдения за коммутаторами (Configuration → Host groups → Create host group)
В Group
name пишем Cisco
switch.
3.3.2. Импортируем шаблон в созданную группу Cisco switch (Configuration → Templates → Import)
3.3.3. После успешного импорта, выбираем наш шаблон и добавляем в In groups группу Cisco switch.
3.3.2. Импортируем шаблон в созданную группу Cisco switch (Configuration → Templates → Import)
3.3.3. После успешного импорта, выбираем наш шаблон и добавляем в In groups группу Cisco switch.
3.4. Добавляем Host или
Коммутатор в Zabbix (Configuration → Hosts → Create hosts) Вкладка Host - Указываем Host name и IP address, выбираем нужную Group.
Вкладка Templates
– Add и
выбираем нужный шаблон
4. Мониторинг web ресурсов
4.1.1. Создаем Host group для более удобного наблюдения за сайтами
(Configuration → Host groups → Create host group)
В Group
name пишем Web
monitoring.
4.1.2. Добавляем Host или Сайт в Zabbix (Configuration → Hosts → Create hosts) Вкладка Host - Указываем Host name и DNS name, выбираем нужную Group.
4.1.3. Добавляем элементы данных в наш сайт (Configuration → Hosts → Applications → Create application)
В Name пишем имя сайта – www.site.ru
4.1.4. Создадим сценарий для сайта (Configuration → Web → Create scenario)
В Application выбираем наш сайт
В Name – site
Update time – 60
Agent – Internet Explorer 9.0
В вкладке Step пропишем, что проверять.
4.1.2. Добавляем Host или Сайт в Zabbix (Configuration → Hosts → Create hosts) Вкладка Host - Указываем Host name и DNS name, выбираем нужную Group.
4.1.3. Добавляем элементы данных в наш сайт (Configuration → Hosts → Applications → Create application)
В Name пишем имя сайта – www.site.ru
4.1.4. Создадим сценарий для сайта (Configuration → Web → Create scenario)
В Application выбираем наш сайт
В Name – site
Update time – 60
Agent – Internet Explorer 9.0
В вкладке Step пропишем, что проверять.
Required status codes – 200 (Означает, что
сайт доступен)
4.1.5. Возвращаемся к нашему хосту и сделаем тригер (Configuration → Hosts → Triggers)
4.1.5. Возвращаемся к нашему хосту и сделаем тригер (Configuration → Hosts → Triggers)
Выбираем Create trigger
В Name – Site www.site.ru
Severity – High
В Expression добавим:
Item – Response code for step -
web.test.rspcode[]
Function – Last (most recent) T value is NOT N
N – 200
4.1.6. Добавляем Host или Коммутатор в Zabbix (Configuration → Hosts → Create hosts) Вкладка Host - Указываем Host name и IP address, выбираем нужную Group.
5. Мониторинг Windows services
Для мониторинга служб на понадобятся сторонние программы
(сылка). Распакуем их C:\Program Files\Zabbix\
5.1. В
конфигурационном файле zabbix_agentd.conf на машине с ОС Windows нужно
добавить в самом конце документа эту строку - UserParameter=windows.services,"C:\Program Files\Zabbix\services.exe"
И включить параметр EnableRemoteCommands=1
Для проверки работоспособности
используем команду:
C:\zabbix_agentd.exe -c
"C:\zabbix_agentd.conf" -t "system.run[C:\Program Files\Zabbix\services.exe]"
5.2. В
Zabbix
импортируем шаблон, и подключаем его к нужной машине (как в п. 2.3.).
При отключении или отключении службы, будет срабатывать триггер.
6. Создание триггеров
Создадим триггер на примере пинга какого-нибудь сервера.
Для начала нужно установить пакет fping
apt-get install fping
И дать права
# chown root:zabbix /usr/bin/fping
# chmod 710 /usr/bin/fping
# chmod ug+s /usr/bin/fping
6.1.1. Создаем Host group для более удобного наблюдения за пингом (Configuration → Host groups → Create host group)
В Group name пишем Ping monitoring.
6.1.2. Создаем шаблон в Zabbix (Configuration → Templates → Create template)
Назовём его Ping_VIP
В Items добавим три значения loss, ping и sec со следующими параметрами
Создадим триггер, перейдем в
Triggers → Create trigger
Построим графики, перейдем в Graphs → Create graph и
создадим три графика loss,
ping и
sec
6.1.3. Добавляем Host или Сайт в Zabbix (Configuration
→ Hosts → Create hosts)
6.1.4. Вкладка Host - Указываем Host name и IP address, выбираем нужную Group.
6.1.5. Вкладка Templates, добавляем наш шаблон Ping monitoring
6.1.6. Переходим в Actions и создаём действие (Configuration → Actions → Create action)
6.1.4. Вкладка Host - Указываем Host name и IP address, выбираем нужную Group.
6.1.5. Вкладка Templates, добавляем наш шаблон Ping monitoring
6.1.6. Переходим в Actions и создаём действие (Configuration → Actions → Create action)
Создаём условия во вкладке Conditions
Добавим пользователей, кому
отсылать уведомления (Вкладка Operations)
7. Настройка отправки отчетов на email
Administration
→ Users → Admin → Media (Добавляем почтовые ящики)
Configuration
→ Actions → Triggers → Enable
Если необходима отправка SMS на мобильный, то можно
зарегистрироваться на площадке www.smstraffic.ru
и подключить к мобильному номеру почтовый ящик вида 79008007060@site.smsmail.ru
7. Ошибки возникающие в процессе работы
Литература:
7. Ошибки возникающие в процессе работы
Zabbix
proxy poller processes more than 75% busy
# nano /usr/local/etc/zabbix_server.conf
StartPollers=20
Zabbix
icmp pinger processes more than 75% busy
# nano /usr/local/etc/zabbix_server.conf
StartPingers=10
StartDiscoverers=10
Zabbix unreachable poller processes more than 75% busy
# nano /usr/local/etc/zabbix_server.conf
StartPollersUnreachable=10
Это оптимальные параметры под мою систему (Hosts = 150)
Литература:
Статья очень понравилась!!
ОтветитьУдалитьИскал!!! Очень благодарен!
ОтветитьУдалитьОтличная статья! Спасибо автору!
ОтветитьУдалить