Автозапуск zabbix server ubuntu

Обновлено: 08.07.2024

В качестве альтернативы ручной настройке или повторному использованию существующего сервера для 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.016.04.3

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

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

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

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

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

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

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

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

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

Открыты порты Zabbix агента (10050 TCP) и Zabbix траппера (10051 TCP);
1.3 Дополнительные пакеты

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

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

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

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

Откройте файл /etc/network/interfaces в вашем любимом редакторе; Измените следующие строки после iface eth0 inet static: Выполните команды sudo ifdown eth0 && sudo ifup eth0. Для получения более подробной информации о других возможных опциях обратитесь к официальной документации по Ubuntu.
1.5 Изменение часового пояса

По умолчанию готовое решение использует UTC часовой пояс для системного времени. Для изменения часового пояса, скопируйте соответствующий файл из /usr/share/zoneinfo в /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;

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

1.7 Другие изменения
Утилита fping имеет права 4710 и ей назначен владелец группы zabbix - suid и только разрешено использование группе zabbix; Добавлено “UseDNS no” в файл конфигурации SSH сервера /etc/ssh/sshd_config для того, чтобы избежать долгих ожиданий при подключении к SSH; Демон snmpd отключен в файле конфигурации /etc/default/snmpd.

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

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

2.1 Учетные данные (имя пользователя:пароль)
Используйте “sudo su” команду вместе с паролем от “root” пользователя для получения привилегированных root прав. Пароли к базе данных генерируются случайным образом в процессе инсталляции.
Пароль root записан в /root/.my.cnf файле, таким образом не требуется вводить пароль, находясь под аккаунтом “root”.

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

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 или по какой-то причине не можете иметь постоянного накопителя, вы можете создать архивную копию базы данных, включая все настройки и все собранные данные.

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

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

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

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

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

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

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

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

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

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

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

6 SNMP трапы

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

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

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

7 Обновление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.1 Xen

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

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

Создайте виртуальный диск, который будет по крайней мере такого же размера как и образ Если имеется много дисков, их можно отфильтровать по параметру имени name-label (имя-метка), как назначенные при создании виртуального диска

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

9.2 VMWare

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

date

07.05.2020

directory

CentOS, Linux, Ubuntu, Windows Server 2016

comments

комментариев 8

Zabbix это open-source система мониторинга корпоративного уровня. На текущий момент Zabbix одна из самых популярных и функциональных бесплатных систем мониторинга. Благодаря простой установке и настройке Zabbix можно использовать для мониторинга крупных инфраструктур с сотнями серверов, так и для мелких конфигураций. В этой статье мы рассмотрим, как выполнить установку и базовую настройку сервера Zabbix 4.4 с веб-интерфейсом на базе Linux Ubuntu и CentOS, установить агенты Zabbix на сервере Windows и Linux, и добавить новые хосты в систему мониторинга.

Общий интерфейс Zabbix сервера представлен на скриншоте ниже.

веб интерфейс системы мониторинга zabbix

Из чего состоит Zabbix и что он может?

Zabbix простой установке и настройке, написан на C (сервер, прокси и агент) и PHP (фронтенд). Zabbix Server и Zabbix Proxy может работать только на Linux системах. Агент можно установить на большом количестве поддерживаемых ОС и платформах.

Инсталляция Zabbix сервера состоит из:

  • бинарника zabbix_server (обычно работает как сервис);
  • MySQL (MariaDB)/PostgreSQL базы данных;
  • Веб сервера Apache2/Nginx с обработчиком PHP;
  • Файлов самого frontend сайта (.php, .js, .css и т.д.).

Обычно схема работы выглядит так:

    Агент Zabbix посылает данные на сервер

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

Установка Zabbix Server в Linux (Ubuntu, CentOS)

В этой статье мы рассмотрим пример установки Zabbix Server 4.4 на Linux (на примере Ubuntu Server 18.4 и CentOS) через пакетный менеджер.

Например, для установки Zabbix на Ubuntu 18.04 нужно последовательно выбрать :

Zabbix Version (4.4) -> OS Distribution (Ubuntu) -> OS Version (18.04 Bionic) -> Database (MySQL) -> Веб сервер (Nginx или Apache).

инструкция по установке zabbix, получение репозиториев

Скачем и добавим репозиторий:

Теперь можно установить необходимые пакеты:

установка zabbix-server в linux ubuntu

Для установки Zabbix в CentOS 8/RHEL 8 нужно подключить репозиторий с актуальной версией Zabbix (можно установить Zabbix из ветки 4.0 LTS или последнюю версию Zabbix 4.4):

Предполагаем, что на сервере уже установлены: nginx, MySQL/MariaDB, php и php-fpm. Теперь через пакетный менеджер установим сам сервер Zabbix и агент:

Создайте базу данных и дайте права пользователю, из-под которого Zabbix будет обращаться к базе данных:

mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ВашПароль';
mysql> quit;

Импортируйте базу данных Zabbix. Нужно будет ввести пароль, который вы указали при создании пользователя.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix

Измените конфигурационный файл /etc/zabbix/zabbix_server.conf, укажите пароль от вновь созданного пользователя.

Так как в моем случае веб сервером служит nginx, нужно изменить nginx.conf, раскомментировав следующие строчки

Выставим временную зону в PHP. В файле /etc/zabbix/php-fpm.conf раскомментируем строчку

Дополнительно можно выставить следующие параметры PHP в /etc/php.ini :

Добавьте службу zabbix-server в автозапуск и запустите ее:

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

Теперь нужно настроить frontend (веб-интерфейс) Zabbix. В браузере откройте указанный ранее URL адрес zabbix сервера. В моем случае это test.zabbix.local (или на домен, который вы указывали. Не забудьте прописать его у себя в hosts файле или на DNS сервере).

zabbix веб installer

Убедитесь, что во всех требования инсталлятора указано ОК.

zabbix check pre-requisites

Укажите данные для подключения к БД. Используйте пользователя и пароль, который создали ранее.

данные для подключения к базе данных zabbix

Укажите название Zabbix сервера. Порт рекомендую оставлять стандартный – TCP 10051.

  • TCP 10050 — порт пассивного агента, по нему zabbix сервер опрашивает клиентов;
  • TCP 10051 — порт, на котором zabbix сервер получает данные от клиентов (активный агент).

Не забудьте открыть данные порты. Например, на Zabbix сервере на базе CentOS можно открыть порты в firewalld с помощью firewall-cmd:

А на агенте достаточно открыть 10050:

Не забудьте перезагрузить firewalld:

имя и порты zabbix сервера

После этого жмите Next Step и Finish. После успешной установки вас попросит залогиниться. По-умолчанию логин Admin , пароль zabbix (замените его).

авторизация веб-интерфейсе в zabbix

zabbix dashboard

На этом установка сервера Zabbix Server завершена.

Установка Zabbix Agent в Windows

Выберите нужную версию агента под Windows. Я выберу формат msi (amd64) (без OpenSSL). Если вы планируете устанавливать zabbix agent на сервера/компьютеры домена через групповые политики или SCCM, то можете скачать zip архив с бинарными файлами и конфигурационными файлами.

Запустите инсталлятор, примите лицензионное соглашение, укажите запрошенные данные. Обратите внимание, что в поле “Server or Proxy for active checks” я указал IP адрес в формате IP:PORT. Поскольку порт я оставлял стандартный, я пишу IP:10051.

настройка параметров zabbix сервера при установке агента в windows

Далее еще пару раз нажмем Next и Install.

После этого убедимся, что наш агент установлен. В списке служб должен появиться сервис Zabbix Agent.

служба zabbix agent в windows

На клиенте Windows нужно разрещить входящие подключения с IP адреса сервера Zabbix в Брандмауэре Windows:

New-NetFirewallRule -DisplayName "ZabbixMonitoring" –RemoteAddress 192.168.1.100 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow

Добавление устройства на Zabbix-сервере

Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).

Заметка. В заббиксе есть 2 типа проверок:
  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.

Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration -> Hosts.

добавление хоста в мониторинг Zabbix

Нажмите Create host и заполните данные. Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента.

добавление windows устройства в Zabbix сервере

Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.

Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

шаблоны zabbix для windows

Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:\Program Files\Zabbix Agent\zabbix_agentd.txt).

перезапуск службы Zabbix agent

лог zabbix_agentd.txt

проверка получение данных от хоста в zabbix

данные об устройстве в веб интерфейсе zabbix

В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.

Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.

события в dashboard zabbix

На этом настройка Windows Agentа завершена.

Установка Zabbix Agent в Linux

Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.

После этого запустите сервис агента:

Убедитесь, что агент успешно запустился.

установка zabbix agent в linux ubuntu

Строка cannot parse list of active checks говорит о том, что на сервере нет активных проверок для этого хоста.

добавление ubuntu в мониторинг zabbix

23

Перезагрузите Zabbix агент и проверьте лог.

лог zabbix_agentd

Проверьте, что данные от агента появились на сервере Zabbix.

данные с linux сервера появились в веб интерфейсе zabbix

На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping.


Установка Zabbix будет происходить на подготовленный и настроенный сервер (Ubuntu Server 14.04 LTS). Для работы Zabbix нам потребуется установленный и настроенный WEB сервер.

Внимание! Вышла новая версия Zabbix 3.0 LTS

Настройка хостовой машины

В данной статье я использую имя хоста zabbix.local, IP-адрес 192.168.13.50 и шлюз 192.168.13.241 эти параметры могут отличаться от Ваших, поэтому придется заменить их на свои.

Получение привилегий ROOT

Так как дальнейшая настройка системы и установка сервисов Zabbix потребует привилегий супер пользователя root, рассмотрим более подробно данный вопрос.

Просто добавьте sudo перед Вашей командой она будет выполнена от имени пользователя root. Например обновим систему:

sudo apt-get update

sudo apt-get dist-upgrade

Можно воспользоваться командой sudo su, она позволит Вам приключиться на пользователя root внутри терминала (не активируя его).

Вы также можете полностью активировать пользователя root (по умолчанию отключен в Ubuntu):

и указать пароль. После этого можно войти в систему как root, но это не одобряется разработчиками Ubuntu и сообществом по различным причинам.

Созданный по умолчанию пользователь в Ubuntu (при установке системы) может решать все административные задачи через sudo. Активировать пользователя root для доступа к системе мне кажется не обоснованным решением.

Установка SSH

Если Вы не установили OpenSSH сервер во время установки системы, Вы можете сделать это сейчас:

sudo apt-get install ssh openssh-server

С этого момента Вы можете использовать SSH клиента, такого как PuTTY и связаться с Вашей машиной Ubuntu server 14.04.

Если вы хотите использовать пользователя root отредактируйте sshd_config:

Созданный по умолчанию пользователь в Ubuntu (при установке системы) может решать все административные задачи через sudo. Создавать возможность root доступа по SSH мне кажется не обоснованным решением.

Необходимо внести только одно изменение (выделено красным):

Настройка сети

Поскольку установка Ubuntu настроила систему на получение настроек сети через DHCP, то сейчас мы должны изменить это, что бы сервер имел статический IP-адрес. Отредактируем /etc/network/interfaces и настроим его под свои нужды (в данном примере установки я буду использовать IP-адрес 192.168.13.50):

Настраиваем сетевые параметры:

Затем отредактируйте /etc/hosts :

Сделаем что бы файл выглядел следующим образом:

Приводим к следующему виду:

Перезапустим машину для применения всех настроек:

Подготовка окружения

Если Вы не выбирали LAMP при установке Ubuntu Server, следуйте инструкциям ниже.

LAMP — акроним, обозначающий набор (комплекс) серверного программного обеспечения . LAMP назван по первым буквам входящих в его состав компонентов:

Linux — операционная система Linux;

MariaDB / MySQL — СУБД;

PHP — язык программирования, используемый для создания веб-приложений.

Другими словами LAMP - это минимальный набор программного обеспечения, необходимый для работы WEB сервера.

В процессе установки Вам будет предложено ввести пароль пользователя root для MySQL, вводим пароль и подтверждение.

Установим пароль root для MySQL

Для работы Zabbix нам потребутся пакет GD для php5. Этот пакет обеспечивает обработку графики непосредственно из PHP-скриптов. Он поддерживает PNG, JPEG, XPM форматы. Для установки выполним:

Также нам нужно подготовить окружение. Для этого установим gcc и make.

Все процессы демонов Zabbix требуют непривилегированного пользователя. Если демон Zabbix запущен от аккаунта пользователя без привилегий, то он будет работать под этим пользователем.

Однако, если демон запущен из под аккаунта 'root', демон переключится на аккаунт пользователя 'zabbix', который должен существовать. Для создания такого аккаунта пользователя (принадлежащего к своей группе, “zabbix”), выполните:

groupadd zabbix

useradd -r -g zabbix zabbix

Получаем исходные коды ZABBIX

Проверяем последнюю доступную версию Zabbix (мой выбор остановился на последней LTS версии 2.2.10):

Проверяем имя необходимого архива:

Распаковываем и переходим в директорию:

Создаем базу данных ZABBIX в MySQL

Подключаемся к MySQL серверу:

Вводим пароль пользователя root (мы устанавливали его в начале статьи) нажимаем Enter.

Создание базы данных:

CREATE DATABASE `zabbix` CHARACTER SET utf8 COLLATE utf8_general_ci;

Желательно сразу выбрать базу данных mysql, т.к. все настройки дальнешие будут вноситься в нее.

Создаем пользователя zabbix c с паролем Zaq12wsx для базы данных zabbix:

GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'Zaq12wsx' WITH GRANT OPTION;

Отключаемся от MySQL сервера:

Переходим в каталог с sql скриптами:

Выолняем по очереди (ввод пароя пользователя zabbix в нашем примере Zaq12wsx, нажимаем Enter, и дожидаемся выполнения каждого из скриптов):

mysql -u zabbix -p zabbix < schema.sql

mysql -u zabbix -p zabbix < images.sql

mysql -u zabbix -p zabbix < data.sql

Видем вывод таблиц созданных в результате выполнения скриптов.

На этом создание базы данных для Zabbix завершено.

Сконфигурируем исходный код

Узнаем возможные варианты компиляции, выполним команду:

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

Описание возможных вариантов компиляции Zabbix и необходимых пакетов

Рассмотрим подробнее секцию Optional Features, точнее ряд ключей:

  • –enable-server Этот ключ включает сборку сервера.
  • –enable-proxy Этот ключ включает сборку прокси. В рамках этой статьи мы не будем его использовать.
  • –enable-agent Этот ключ включает сборку. Так как сервер будет мониторить в т.ч. сам себя, поставим его обязательно.
  • –enable-java Если есть потребность в мониторинге Java, нужна компиляция с этим ключом. Для его использования нам потребуется Java, которую можно поставить командой:
  • –enable-ipv6 Ключ включает поддержку ipv6.

Перейдем к секции Optional Packages:

Важно. Сервер не может быть скомпилирован с поддержкой нескольких баз. В рамках данной статьи я опущу ключи, не относящиеся к конфигурации Zabbix + MySQL.

  • –with-mysql[=ARG] Данный ключ укажет, что необходима компиляция с поддержкой MySQL. В нашем случае он обязателен. Если сервер MySQL стоит на отдельном сервере либо не стоит полного MySQL – требуется установка:

apt-get install libmysqlclient-dev

  • –with-jabber[=DIR] Если мы захотим использовать Jabber для уведомлений, укажем этот ключ. Требуется установка:

apt-get install libiksemel-dev libcurl4-openssl-dev

  • –with-libcurl[=DIR] Если мы хотим мониторить Web сервисы, укажем этот ключ. Требуется установка:

apt-get install libcurl4-openssl-dev

  • –with-iodbc[=ARG ] или –with-unixodbc[=ARG] Если мы захотим мониторить базы данных, нам понадобится один из этих ключей в зависимости от окружения. В примере используется iodbc. Требуется установка:

apt-get install iodbc libiodbc2

  • –with-net-snmp[=ARG] или –with-ucd-snmp[=ARG] При использовании проверок SNMP, нам потребуется один из ключей. Так как NET-SNMP является продолжением UCD-SNMP, по возможности используйте его. Требуется установка:
  • –with-ssh2[=DIR] Ключ необходим при проверках SSH.
  • –with-openipmi[=DIR] Если нам потребуется мониторинг по IPMI, укажем этот ключ. По возможности избегайте частых проверок по причине тормознутости модулей IPMI (будь то решения от Supermicro или от HP. Требуется установка:
  • –with-ldap[=DIR] Включение поддержки проверок ldap.

Мы будем компилировать Zabbix со следующими ключами: --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-jabber. В реальных инсталляциях желательно использовать минимальное количество ключей, чем меньше, тем лучше (только действительно необходимый функционал). Соответственно Вам нужно установить необходимые пакеты из списка выше, иначе компиляция Zabbix выполнена не будет.

В данной конфигурации Вы получите Zabbix server с поддержкой MySQL, Zabbix agent, мониторинг по протоколу SNMP, мониторинг WEB ресурсов, уведомления на Email, SMS оповещения, уведомления с помощью Jabber.

Но приступать к компиляции рано. Если вы планируете использовать СМС оповещения, то стоит обратить внимание на одну известную проблему. В неоторых случаях при отправке сервером Zabbix смс уведомления оно затраивается (на одно событие у Вас приходит 3 смс), что в свою очередь влечет увеличение затрат на мобильную связь. Если Вы не собираетесь использовать смс оповещения можете пропустить правку скрипта sms.c

Zabbix сервер отправляет 3 sms (Решение)

Итак решение, редактиреум:

Нас интересует участок кода отвечающий за инициализацию устройства и отправку смс уведомления:

Приводим его к следующему виду (выделено красным) и сохраняем:

На этом правка скрипта окончена.

Создаем конфигурационный скрипт.

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-jabber

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

Собираем и устанавливаем ZABBIX

Теперь нам осталось только запустить make install.

Отредактируем конфигурационные файлы

Отредактируйте файл конфигурации Zabbix агента /usr/local/etc/zabbix_agentd.conf

В файле вы должны указать IP адрес Zabbix сервера. Подключения с остальных хостов будут отклонены. Укажите также ListenIP.

Отредактируйте файл конфигурации Zabbix сервера /usr/local/etc/zabbix_server.conf

Вы должны указать имя базы данных, пользователя и пароль.

Автозапуск демонов ZABBIX при старте системы

Скопируем стартовые скрипты с каталога исходного кода zabbix в /etc/init.d

cp misc/init.d/debian/zabbix-server /etc/init.d

cp misc/init.d/debian/zabbix-agent /etc/init.d

Даем права на запуск и помещаем их в стартовый скрипт загрузки операционной системы:

chmod 755 /etc/init.d/zabbix-server

update-rc.d zabbix-server defaults

chmod 755 /etc/init.d/zabbix-agent

update-rc.d zabbix-agent defaults

Проверим запустились ли службы:

Все необходимые службы работают. Zabbix сервер и Zabbix агент стартуют автоматически при загрузке системы.

Устанавливаем веб интерфейс

Создадим каталог где будет расположен веб интерфейс Zabbix:

Скопируем frontend с исходных кодов в созданный каталог:

Мы подготовили структуру директорий. Теперь для корректной работы Apache необходимо изменить владельца:

chown -R www-data:www-data /var/www/html/zabbix

Так же необходимо отредактировать права доступа, чтобы убедиться, что доступ на чтение разрешен к общей веб-директории и всем файлам и папкам, содержащимся в ней. Это необходимо для того, чтобы страницы сайта отображались корректно:

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

Указываем необходимые настройки и сохраняем:

Для включения виртуального хоста используется утилита a2ensite:

Перезапустим веб сервер:

Откройте URL Zabbix в нашем случае 192.168.13.50

Нас встречает помощник установки веб-интерфейса.

Помошник установки веб интерфейса Zabbix

Убедитесь, что все требования к программному обеспечению выполнены.

Проверяем требования к программному обеспечению

Укажите информацию для подключения к базе данных (база данных - zabbix, пользователь - zabbix, пароль - Zaq12wsx).

Укажите информацию для подключения к базе данных

Введите подробные сведения о сервере Zabbix.

Введите подробные сведения о сервере Zabbix.

Проверим указанные настройки.

Проверяем указанные настройки.

Настройка завершена нажмите Finish

Веб-интерфейс Zabbix готов! По умолчанию имя пользователя admin, пароль zabbix.

В этом руководстве мы покажем вам, как установить Zabbix Server на Ubuntu 20.04 LTS.

Требования для установки Zabbix на Ubuntu

Шаг 1: Установка и настройка Apache

В этом шаге мы установим веб-сервер Apache.Первое что потребуется сделать это обновить все списки репозиториев Ubuntu и установить пакеты Apache. Для этого выполните следующую команду:

Теперь установите apache с помощью следующей команды:

Служба Apache запустится после установки. Но вы можете сами ее запустить, для этого выполните следующую команду.

Чтобы apache2 запускался при старте системы, введите вот такую команду:

Шаг 2: Установите PHP и связанные модули

Интерфейс Zabbix написан на PHP, поэтому требуется установить PHP. Ubuntu предоставляет в своих репозиториях PHP 7.4. Который мы установим в этом руководстве.

$ sudo apt install php php-mbstring php-gd php-xml php-bcmath php-ldap php-mysql

Вы можете проверить установленную версию PHP с помощью следующей команды:

Проверка версии PHP на Ubuntu

Проверка версии PHP на Ubuntu

После завершения установки перейдите в каталог конфигурации PHP и отредактируйте файл /etc/php/7.4/apache2/php.ini. Измените параметры, как показано ниже, и обязательно установите правильный часовой пояс в соответствии с вашим языком.

Параметры которые требуется изменить

memory_limit 256M
upload_max_filesize 16M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000
date.timezone="Africa/Nairobi"

Чтобы изменения вступили в силу, перезапустите службу Apache

$ sudo systemctl restart apache2

Шаг 3: Установите сервер базы данных MariaDB

Далее мы собираемся установить MariaDB в качестве базы данных. Там будут храниться пользовательские данные и различные метрики.

Чтобы установить пакеты сервера MariaDB, выполнив следующую команду:

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

Начните с установки пароля root.

Установить пароль для mariadb

Установить пароль для mariadb

Настройка безопасности mariadb

Настройка безопасности mariadb

Шаг 4: Создайте пользователя Zabbix и базу данных

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

CREATE DATABASE zabbix_db character set utf8 collate utf8_bin;
CREATE USER 'zabbix_user'@'localhost' IDENTIFIED BY 'P@ssword321';
GRANT ALL PRIVILEGES ON zabbix_db.* TO 'zabbix_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Создайте пользователя Zabbix и базу данных

Создайте пользователя Zabbix и базу данных

Затем загрузите схему базы данных Zabbix.

$ cd /usr/share/doc/zabbix-server-mysql
$ zcat create.sql.gz | mysql -u zabbix -p zabbixdb

Вам потребуется ввести пароль.

Шаг 5: Включите репозиторий Zabbix

Чтобы добавить репозиторий Zabbix в вашу систему, загрузите пакет Debian выпуска Zabbix. Это можно сделать при помощи команды wget.

Затем, чтобы включить репозиторий Zabbix, введите:

$ sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

Чтобы синхронизировать вновь добавленный репозиторий с системой, обновите списки пакетов

Шаг 6: Установите Zabbix сервер на Ubuntu 20.04

Для установки сервера Zabbix установим пакет zabbix-server-mysql, Он обеспечит поддержку MySQL. А пакет zabbix-frontend-php предоставляет веб-интерфейс для сервера. Zabbix-agent предназначен для различных для метрик. Пакет zabbix-apache-conf предназначен для работы Apache.

$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent zabbix-apache-conf

Шаг 7: Настройка Zabbix сервера

После установки Zabbix потребуются некоторые дополнительные настройки. Файл конфигурации находится по адресу /etc/zabbix/zabbix_server.conf . Так что откройте этот файл с помощью редактора Vim.

$ sudo vim /etc/zabbix/zabbix_server.conf

Обновите конфигурацию базы данных в соответствии с пользовательскими настройками БД.

DBHost=localhost
DBName=zabbix_db
DBUser=zabbix_user
DBPassword=P@ssword321

Теперь включите службу автозагрузки Zabbix при старте системы. Далее перезапустите службу, чтобы новые настройки вступили в силу.

$ sudo systemctl enable zabbix-server
$ sudo systemctl restart zabbix-server

Вы можете проверить состояние Zabbix с помощью команды:

$ sudo systemctl status zabbix-server

Проверка состояния Zabbix на Ubuntu

Проверка состояния Zabbix на Ubuntu

$ sudo systemctl restart apache2

Также убедитесь, что Apache работает:

Zabbix установлен в Ubuntu

Zabbix установлен в Ubuntu

Шаг 6: Настройка брандмауэра

Затем перезагрузите службу брандмауэра чтобы правила вступили в силу:

Шаг 7: Завершение установки Zabbix в браузере

Теперь Zabbix установлен на Ubuntu 20.04. Единственное, что остается, это завершить установку в браузере. Для этого запустите свой браузер и перейдите по указанному адресу:

Приветствие Zabbix сервера

Приветствие Zabbix сервера

Настройка подключения к базе данных Zabbix

Настройка подключения к базе данных Zabbix

Информация о zabbix server

Информация о zabbix server

Zabbix предварительная установка краткая информация

Zabbix предварительная установка краткая информация

Если установка завершится успешно, то вы должны увидеть поздравления, как на рисунке ниже:

Zabbix-сервер установка завершена

Zabbix-сервер установка завершена

Войдите в систему со следующими учетными данными по умолчанию:

Имя пользователя: Admin
Пароль: zabbix

После успешного входа в систему вы увидите панель мониторинга Zabbix, ее можно увидеть на рисунке ниже:

Zabbix-сервер панель мониторинга

Zabbix-сервер панель мониторинга

Заключение

И это все! Теперь вы можете начать добавлять свои устройства на сервер мониторинга, чтобы следить за их производительностью. В этом руководстве мы показали вам, как установить Zabbix Server на систему Ubuntu 20.04. Так же рекомендую прочитать статью по установке сервера мониторинга OBServium

Читайте также: