Установка Zabbix на Raspberry Pi

8 March
Установка Zabbix на Raspberry Pi

Установка Zabbix на Raspberry Pi - независимо от того зачем вы это делаете. Тестов ли ради или же для продакшена, процесс разбивается на несколько этапов.

Собственно нулевым этапом можно назвать установку Raspbian 10 на саму Raspberry Pi. И активацию доступа к малине через SSH. После подключения к распберри по SSH и начинается сама установка Zabbix на Raspberry Pi

1. Устанавливаем PostgreSQL сервер

Для работы Zabbix Server нужен Сервер Управления Базами Данных (СУБД). Если у нас нету внешнего СУБД, мы ставим его локально на нашу малину

sudo apt update
sudo apt install postgresql

2. Устанавливаем веб-сервер Apache2


Apache2 нам понадобится для того чтобы запустить фронтенд. Без фронтенда заббикс не столь красочен как хотелось бы :)

sudo apt install apache2

Устанавливаем часовой пояс

Открываем на редактирование php.ini

sudo nano /etc/php/7.3/apache2/php.ini

В конце добавляем строку. Подставьте свою тайм зону в случае отличия.

date.timezone = Europe/Moscow

Устанавливаем PHP

Ещё один необходимый для работы фронтенда элемент.

sudo apt install php libapache2-mod-php

Установка Zabbix на Raspberry Pi - Устанавливаем репозиторий

Вот с этого момента и начинается непосредственно установка Zabbix на Raspberry Pi, с установки репозитория

wget https://repo.zabbix.com/zabbix/5.0/raspbian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
sudo dpkg -i zabbix-release_5.0-1+buster_all.deb
sudo apt update

Устанавливаем компоненты Zabbix

Помним что в качестве БД мы будем использовать PostgreSQL. Помимо самого сервера я сразу установлю агент, и фронтенд заббикса

sudo apt install zabbix-server-pgsql zabbix-frontend-php php7.3-pgsql zabbix-apache-conf zabbix-agent

Создаём БД PostgreSQL

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix

После первой команды вам нужно будет ввести пароль который заббикс будет использовать при доступе к БД

Импортируем начальную схему

zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

Ждём, на Raspberri Pi это процесс не быстрый

Настраиваем доступ Zabbix Server к БД

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

sudo nano /etc/zabbix/zabbix_server.conf

В строку DBPassword вводим пароль который мы придумали на этапе 'Создаём БД PostgreSQL'. Чтобы быстрее найти нужную строку, в nano можно использовать комбинацию клавиш Ctrl+W

Установка Zabbix на Raspberry Pi

Включаем автозапуск и перезапускаем службы

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2

Настраиваем фронтенд

Переходим в браузере по адресу http://<ip raspberry>/zabbix

  1. Страница Welcome
    Жмём
    Next Step
  2. Страница Check of pre-requisites
    Если всё сделано правильно, то везде будет OK. Жмём
    Next step
  3. Страница Configure DB connection
    Устанавливаем в Password пароль который мы придумали на 4м этапе.
    Жмём
    Next step
  4. Страница Zabbix server details
    Можно ничего не менять и сразу нажать Next step, или же можно задать имя сервера. Я назвал его Bonsai Raspberry
  5. Страница Pre-installation summary
    Суммарная информация о нашей установке. Прочитав жмём
  6. Страница Install
    Смотрим подтверждение установки, тут же показано где создался файл zabbix.conf.php. Жмём Finsh

Авторизуемся в веб интерфейсе Zabbix Server

Стандартные логин и пароль будут Admin \ zabbix

Радуемся

Если перейти в Monitoring > Hosts и в списке в строке Zabbix Server нажать на Graphs, мы увидим телеметрию нашей Zabbix Server. А так как Zabbix Server стоит на Raspberry Pi, это телеметрия Raspberry Pi.

Список хостов только что установленного Zabbix Server
Список хостов только что установленного Zabbix Server

Показатели Raspberry Pi в Zabbix 5.0
Показатели Raspberry Pi в Zabbix 5.0

Да, всё не очень то и летает. Но опять же устанавливая Zabbix Server на распберри пи, я уверен что вы отдаёте себе отчёт зачем это делается. У меня Raspberry Pi 3B с MicroSD карточкой  10й категории объёмом 16GB. Нужно понимать что непрерывная запись телеметрии в БД, хранимой на флеш карте, рано или поздно приведёт к износу этой карты и выходу всей малины из строя. Вообще я рекомендую открепить стандартный шаблон мониторинга Zabbix Server от распберри и сделать свой, куда войдёт только то что нужно. Это и сильно сократит нагрузку Zabbix Agent'а на ЦПУ малины, а так же уменьшит количество данных записываемых в БД.

Задавайте вопросы, ставьте лайки если запись вам понравилась :). Не забывайте подписываться и репостить запись :)