6. Готовое решение Zabbix

В качестве альтернативы ручной настройке или повторному использованию существующего сервера для Zabbix, пользователи могут загрузить готовое решение Zabbix или установочный образ CD готового решения Zabbix. Установочный образ CD готового решения Zabbix можно использовать для быстрого развертывания Zabbix сервера (MySQL), Zabbix сервера (PostgreSQL), Zabbix прокси (MySQL) и Zabbix прокси (SQLite 3).

Виртуальные машины готового решения Zabbix собраны с Zabbix сервером с поддержкой MySQL. Они собраны при помощи установочного образа CD готового решения Zabbix.

|<| |<| |-|

|<| |<| |-|

Готовое решение Zabbix и установочный CD основаны на следующих версиях Ubuntu:

Версия готового решения Zabbix Версия Ubuntu
4.0.0 16.04.3

Готовое решение Zabbix доступно в следующих форматах:

  • vmdk (VMware/Virtualbox)
  • OVF (Open Virtualisation Format)
  • KVM
  • HDD/flash image, USB stick
  • Live CD/DVD
  • Xen guest
  • Microsoft VHD (Azure)
  • Microsoft VHD (Hyper-V)

Для запуска, загрузите готовое решение и перейдите в вашем браузере по IP, который получен по DHCP: http://<ip_хоста>/zabbix

Готовое решение имеет настроенный Zabbix сервер, работающий с базой данных MySQL, также доступен и веб-интерфейс.

Готовое решение создано при помощи стандартной возможности Ubuntu/Debian, называемой Preseed файлами.

Если в Hyper-V готовое решение не запускается, вы можете попробовать нажать Ctrl+Alt+F2, чтобы переключить tty сессии.

1 Изменения в настройках Ubuntu

Имеется несколько изменения, которые применены к базовой конфигурации Ubuntu.

1.1 Репозитории

Добавлен официальный репозиторий Zabbix в /etc/apt/sources.list:

## Zabbix repository
       deb https://repo.zabbix.com/zabbix/4.0/ubuntu xenial main
       deb-src https://repo.zabbix.com/zabbix/4.0/ubuntu xenial main
1.2 Межсетевой экран

Готовое решение использует брандмауэр iptables с предустановленными правилами:

  • Открыт порт SSH (22 TCP);
  • Открыты порты Zabbix агента (10050 TCP) и Zabbix траппера (10051 TCP);
  • Открыты порты HTTP (80 TCP) и HTTPS (443 TCP);
  • Открыт порт SNMP трапов (162 UDP);
  • Открыты исходящие подключения на порт DNS (53 UDP) к 8.8.8.8 и 8.8.4.4;
  • Открыты исходящие подключения на порт NTP (123 UDP);
  • ICMP пакеты ограничены 5 пакетами в секунду;
  • Все остальные входящие подключение отбрасываются.
1.3 Дополнительные пакеты

Добавлены различные простые утилиты, которые могут сделать работу с Zabbix и мониторингом в целом легче:

  • iptables-persistent
  • mc
  • htop
  • snmptrapfmt
  • snmp-mibs-downloader

Некоторые из этих пакетов используются Zabbix, некоторые из них установлены, чтобы помощь пользователям настраивать/управлять настройками готового решения.

1.4 Использование статического IP адреса

По умолчанию готовое решение получает IP адрес по DHCP. Для того, чтобы указать статический IP адрес выполните:

  • Войдите под пользователем root;
  • Откройте файл /etc/network/interfaces в вашем любимом редакторе;
  • iface eth0 inet dhcpiface eth0 inet static
  • Измените следующие строки после iface eth0 inet static:
    • address <IP адрес готового решения>
    • netmask <маска подсети>
    • gateway <ваш адрес сетевого шлюза>
  • Выполните команды sudo ifdown eth0 && sudo ifup eth0.

Для получения более подробной информации о других возможных опциях обратитесь к официальной документации по Ubuntu.

Для настройки DNS, добавьте записи серверов имен в /etc/resolv.conf, указывая по одному серверу имен в одной строке: nameserver 192.168.1.2.

1.5 Изменение часового пояса

По умолчанию готовое решение использует UTC часовой пояс для системного времени. Для изменения часового пояса, скопируйте соответствующий файл из /usr/share/zoneinfo в /etc/localtime, например:

cp /usr/share/zoneinfo/Europe/Riga /etc/localtime
1.6 Изменения локали

Готовое решение содержит несколько изменений локалей:

  • Содержит следующие языки: en_US.UTF-8, ru_RU.UTF-8, ja_JP.UTF-8, cs_CZ.UTF-8, ko_KR.UTF-8, it_IT.UTF-8,
    pt_BR.UTF-8, sk_SK.UTF-8, uk_UA.UTF-8, fr_FR.UTF-8, pl.UTF-8;
  • Локаль по умолчанию en_US.UTF-8.

Эти изменения требуются для поддержки мультиязычного веб-интерфейса Zabbix.

1.7 Другие изменения
  • Сеть настроена на получение IP адреса по DHCP;
  • Утилита fping имеет права 4710 и ей назначен владелец группы zabbix - suid и только разрешено использование группе zabbix;
  • ntpd настроен на синхронизацию с пулами публичных серверов: ntp.ubuntu.com;
  • Используется LVM том с ext4 файловой системой.
  • Добавлено "UseDNS no" в файл конфигурации SSH сервера /etc/ssh/sshd_config для того, чтобы избежать долгих ожиданий при подключении к SSH;
  • Демон snmpd отключен в файле конфигурации /etc/default/snmpd.

2 Конфигурация Zabbix

Инсталляция готового решения Zabbix имеет следующие пароли и другие изменения конфигурации:

2.1 Учетные данные (имя пользователя:пароль)

Система:

  • appliance:zabbix

Используйте "sudo su" команду вместе с паролем от "appliance" пользователя для получения привилегированных root прав.

LiveCD поставляется без какого-либо пароля и использует ubuntu пользователя для выполнения входа в консоль.

База данных:

  • root:<случайный>
  • zabbix:<случайный>

Пароли к базе данных генерируются случайным образом в процессе инсталляции.
Пароль root записан в /root/.my.cnf файле, таким образом не требуется вводить пароль, находясь под аккаунтом "root".

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

  • Admin:zabbix

Для изменения пароля пользователя базы данных, потребуются изменения в следующих местах:

  • MySQL;
  • /etc/zabbix/zabbix_server.conf;
  • /etc/zabbix/web/zabbix.conf.php.
2.2 Размещения файлов
  • Файлы конфигурации расположены в /etc/zabbix.
  • Файлы журналов (логи) Zabbix сервера, прокси и агента расположены в /var/log/zabbix.
  • Веб-интерфейс Zabbix расположен в /usr/share/zabbix.
  • Домашняя папка пользователя zabbix - /var/lib/zabbix.
2.3 Изменения в настройках Zabbix
  • Имя сервера для веб-интерфейса Zabbix изменено на "Zabbix Appliance";
  • Часовой пояс веб-интерфейса изменен на Europe/Riga - родина Zabbix (этот параметр можно изменить в файле /etc/apache2/conf-available/zabbix.conf);
2.4 Сохранение конфигурации

Если вы загрузили готовое решение с Live CD или по какой-то причине не можете иметь постоянного накопителя, вы можете создать архивную копию базы данных, включая все настройки и все собранные данные.

Для создания архивной копии, выполните:

mysqldump zabbix | bzip2 -9 > dbdump.bz2

Теперь вы можете переместить файл dbdump.bz2 на другую машину.

Для восстановления из архивной копии, переместите копию в готовое решение и выполните:

bzcat dbdump.bz2 | mysql zabbix

Убедитесь, что Zabbix сервер не запущен при выполнении восстановления.

3 Доступ к веб-интерфейсу

По умолчаниб доступ к веб-интерфейсу разрешен отовсюду.

Доступ к веб-интерфейсу может быть получен с http://<хост>/zabbix.

Эти параметры могут быть изменены в /etc/apache2/conf-available/zabbix.conf. Вы должны перезапустить веб-сервер после изменения этого файла. Чтобы это сделать зайдите на сервер по SSH под root и выполните:

service apache2 restart

4 Межсетевой экран

По умолчанию, открыты только те порты, которые перечислены в изменениях. Чтобы открыть дополнительные порты, просто измените файлы "/etc/iptables/rules.v4" или "/etc/iptables/rules.v6" и перезагрузите правила межсетевого экрана:

service iptables-persistent reload

5 Возможности мониторинга

Zabbix сервер скомпилирован с поддержкой следующих функций:

  • SNMP
  • IPMI
  • Веб-мониторинг
  • VMware мониторинг
  • Оповещения по Jabber
  • Оповещения по EZ Texting
  • ODBC
  • SSH2
  • IPv6
  • SNMP трапы
  • Zabbix Java Gateway

6 SNMP трапы

Готовое решение Zabbix использует snmptrapfmt для обработки SNMP трапов. Утилита настроена на получение всех трапов отовсюду.

Аутентификация не требуется. Если вы желаете включить аутентификацию, вам необходимо изменить файл /etc/snmp/snmptrapd.conf и указать требуемые настройки аутентификации.

Все трапы записываются в /var/log/zabbix/snmptrapfmt.log файл. Этот файл ротируется при помощи logrotate до достижения размера файла в 2ГБ.

7 Обновление

Пакеты готового решения можно обновлять. Чтобы это сделать, выполните:

sudo apt install --only-upgrade 'zabbix.*'

8 Именование, скрипты запуска и другие скрипты

Представлены соответствующие скрипты запуска. Для контроля Zabbix сервера используйте следующие команды:

service zabbix-server status

Замените server на agent для демона Zabbix агента или на proxy для демона Zabbix прокси.

8.1 Увеличение доступного дискового пространства

Создайте резервную копию всех данных до выполнения любого из шагов.

Доступного дискового пространства в готовом решении может быть недостаточно. В этом случае имеется возможность расширить используемый диск. Для этого сначала расширьте блочное устройство в вашей среде виртуализации, затем выполните эти шаги.

Запустите fdisk для изменения размера раздела. Выполните под root:

fdisk /dev/sda

Эта команда запустит fdisk для диска sda. Затем, переключитесь на использование секторов и введите:

u

Не отключайте совместимость с DOS нажатием c. При отключении этой совместимости раздел будет поврежден.

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

d
       n
       p
       1
       (принимаем по умолчанию 63)
       (принимаем по умолчанию max)

Если вы хотите оставить пространство для дополнительных разделов (swap и т.д.), вы можете ввести другое значение для last sector (последний сектор). По завершении сохраните изменения введя:

w

После создания раздела (с нового диска или расширения существующего) создайте физический том:

pvcreate /dev/sdb1

Имя раздела /dev/sdb1 используется как пример; в вашем случае имя диска и номер раздела могут быть другими. Вы можете проверить номер раздела, выполнив fdisk -l /dev/sdb команду.

Проверьте только что созданный физический том:

pvdisplay /dev/sdb1

Проверьте доступные физические тома. Должно быть 2 тома zabbix-vg и только что созданный:

pvs

Расширьте существующую группу томов при помощи только что созданного физического тома:

vgextend zabbix-vg /dev/sdb1

Проверьте группу томов "zabbix-vg":

vgdisplay

Теперь расширьте ваш логический том, заняв все свободное пространство:

lvextend -l +100%FREE /dev/mapper/zabbix--vg-root

Измените размер вашего корневого тома (можно выполнить на живой системе):

resize2fs /dev/mapper/zabbix--vg-root

Перезагрузите виртуальную машину (так как раздел, который мы изменили, в настоящее время используется). Теперь файловая система должна быть увеличена до размера раздела. Проверьте "/dev/mapper/zabbix--vg-root" том:

df -h

9 Заметки о специфичных форматах

9.1 Xen

Конвертация образа для XenServer

Для использования Xen образов в Citrix Xenserver вам необходимо сконвертировать образ диска. Чтобы это сделать:

  • Создайте виртуальный диск, который будет по крайней мере такого же размера как и образ
  • Узнайте UUID этого диска
xe vdi-list params=all
  • Если имеется много дисков, их можно отфильтровать по параметру имени name-label (имя-метка), как назначенные при создании виртуального диска
  • Импортируйте образ
xe vdi-import filename="image.raw" uuid="<UUID>"

Инструкции с Brian Radford blog.

9.2 VMWare

Образы в формате vmdk используются напрямую в продуктах VMWare Player, Server и Workstation. Для использования в ESX, ESXi и vSphere образы должны быть сконвертированы с использованием конвертер VMWare.

9.3 Образ HDD/flash (raw)
dd if=./zabbix_appliance_4.0.0_x86_64.raw of=/dev/sdc bs=4k conv=fdatasync

Замените /dev/sdc на ваше Flash/HDD устройство диска.

10 Известные проблемы