Zabbix -
свободная система мониторинга и отслеживания статусов разнообразных сервисов
компьютерной сети, серверов и сетевого оборудования, написанная Алексеем
ВладышевымОглавление. Краткая информация и возможности - http://ru.wikipedia.org/wiki/Zabbix
Оглавление:
1. Установка CentOS 6.4
серверной части на Ubuntu Server 12.04.2 LTS
2. Подключение шаблонов для Windows/Linux серверовсерверной части на Ubuntu Server 12.04.2 LTS
3. Подключение коммутаторов Cisco и создание шаблонов
4. Мониторинг web ресурсов
5. Мониторинг Windows services
6. Создание тригеров
7. Настройка отправки отчетов на email
1. Установка CentOS 6.4
1.1 Ставим систему в составе Minimal
1.2 На этапе установки желательно прописать настройки сети (дабы потом это не делать через терминал):
1.3 После установки заходим в систему под root и поднимаем сеть:
ifup eth0
1.4 Делаем так, чтобы при следующем запуске системы сетевой интерфейс был включен:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Выставляем параметр ONBOOT=YES
1.4 Устанавливаем обновление компонентов системы:
yum -y update
1.1 Ставим систему в составе Minimal
1.2 На этапе установки желательно прописать настройки сети (дабы потом это не делать через терминал):
1.3 После установки заходим в систему под root и поднимаем сеть:
ifup eth0
1.4 Делаем так, чтобы при следующем запуске системы сетевой интерфейс был включен:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Выставляем параметр ONBOOT=YES
1.4 Устанавливаем обновление компонентов системы:
yum -y update
1.5. Устанавливаем необходимые компоненты:
yum -y install wget
yum -y install wget
Перед
установкой 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)
Литература:
Комментариев нет:
Отправить комментарий