Установка zabbix на astra linux

Руссификация Zabbix

В разделе User Settings, который находится в самом низу боковой панели можно изменить язык Zabbix. В том числе можно выбрать русский. Но по умолчанию доступен только английский, а все остальные языки не активны. Чтобы сделать их активными выполните такую команду в терминале:

Программа спросит какие локали надо сгенирировать. Перемещаясь по списку с помощью клавиш вверх и вниз, найдите ru_RU.UTF-8 и ru_RU.ISO-8859-5 и отметьте их с помощью пробела. После этого нажмите Ok.

Когда генерация будет завершена вы сможете выбрать нужный язык в настройках Zabbix:

Затем весь веб-интерфейс будет на русском.

1.4. Установка Zabbix.

Установим серверную часть Zabbix из “портов” (на момент написания актуальной версией была 3.0.2): перейдем в папку с портом zabbix3-server и установим его:

# cd /usr/ports/net-mgmt/zabbix3-server# make config recursive# make install clean

При конфигурации можно будет выбрать поддерживаемые опции. Лично я выбрал почти все (хоть это и увеличивает время сборки): поддерживаемую базу — MySQL, все остальное — оставил по умолчанию. Единственное, что не рекомендую выбирать для openipmi2.0.21_1 — это IPMI 2.0 RMCP+ encryption and authentication, вызывающий ошибку при компиляции (подробности здесь). В данном случае можно обойтись уже готовым пакетом openipmi:

# pkg install openipmi

Импортируем базу данных MySQL:

# cd /usr/local/share/zabbix3/server/database/mysql# mysql -u zabbix -p zabbix < schema.sql# mysql -u zabbix -p zabbix < images.sql# mysql -u zabbix -p zabbix < data.sql

Проверить результат можно так:

# mysql -u root -pmysql> use zabbix;mysql> show tables;

Последняя команда выводит список таблиц базы. Теперь нужно добавить данные для подключения к БД в конфиге zabbix-сервера. Копируем шаблон конфигурации:

# cp /usr/local/etc/zabbix3/zabbix_server.conf.sample /usr/local/etc/zabbix3/zabbix_server.conf

и открываем на редактирование:

# nano /usr/local/etc/zabbix3/zabbix_server.confDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=<password>

Проверяем расположение fping, необходимый для работы Template ICMP Ping:

# ls -l /usr/local/sbin/fping*-r-sr-xr-x 1 root wheel 30504 Jul 6 13:10 /usr/local/sbin/fping-r-sr-xr-x 1 root wheel 32360 Jul 6 13:10 /usr/local/sbin/fping6

и добавляем пути в конфиги:

# nano /usr/local/etc/zabbix3/zabbix_server.confFpingLocation=/usr/local/sbin/fpingFping6Location=/usr/local/sbin/fping6

Добавляем zabbix-сервер в автозагрузку и запускаем:

# sysrc zabbix_server_enable=YES# service zabbix_server start

или:

# service zabbix_server onestart

Проверяем запустился ли:

# service zabbix_server statuszabbix_server is running as pid 84045

или:

# service zabbix_server onestatus

Теперь необходимо установить frontend zabbix-сервера:

# cd /usr/ports/net-mgmt/zabbix3-frontend# make config

Лично я все настройки оставил по умолчанию (галочка на MYSQL И MYSQLI установлена, на остальных — снята). Устанавливаем:

# make install clean

По завершении добавим путь к zabbix-frontend в файл виртуальных сайтов Apache:

# nano /usr/local/etc/apache24/Includes/zabbix.confAlias /zabbix "/usr/local/www/zabbix3"<Directory /usr/local/www/zabbix3>AllowOverride AllOrder deny,allowDeny from allAllow from 10.1.1.3Allow from allRequire all granted</Directory>

выставляем права для пользователя, под которым запущен Apache (как правило, это www):

# chown -R www:www /usr/local/www/zabbix3

и на всякий случай, чтобы перечитались все конфиги, перезапускаем Apache:

# service apache24 restart

Теперь сможем заходить в веб интерфейс Zabbix по адресу: http://<IP адрес>/zabbix. Заходим и продолжаем конфигурирование Zabbix:

Жмем “Next” и далее производится проверка параметров, где я получил сообщение:

- Minimum required limit on input parse time for PHP scripts is 300 (configuration option "max_input_time").- PHP option "always_populate_raw_post_data" must be set to "-1"

Возвращаемся к конфигу php и меняем параметры:

# nano /usr/local/etc/php.inimax_input_time = 300always_populate_raw_post_data = -1

перезапускаем Apache и обновляем страницу:

# service apache24 restart

Жмем “Next” и настраиваем доступ к БД:

Далее все настраивается по принципу “Next-Next-Next-Ok”, как на скриншотах:

По окончанию настройки:

Теперь можно произвести первый логин через веб-интерефс Zabbix. Для входа необходимо использовать логин Admin (с большой буквы), пароль — zabbix.

The web server: Lighttpd

Lighttpd Installation

Production environment will handle only needed packages. So no doc or managers allowed:

  1. run apk for needed packages

apk add lighttpd gamin

Lighttpd pre php configuration

  1. make the htdos public web root directories
  2. change default port to production one, http is used with 80
  3. use FAM style (gamin) file alteration monitor, increases performance ONLY ON 3.4 to 3.8 releases!!!
  4. use linux event handler, increases performance due Alpine are linux only
  5. added the service to the default runlevel, not to boot, because networking needs to be active first
  6. started the web server service
  7. Enable the mod_status at the config files
  8. change path in the config file, we are using security by obfuscation
  9. restart the service to see changes at the browser

mkdir -p /var/www/localhost/htdocs/stats /var/log/lighttpd /var/lib/lighttpd

sed -i -r 's#\#.*server.port.*=.*#server.port          = 80#g' /etc/lighttpd/lighttpd.conf

sed -i -r 's#\#.*server.event-handler = "linux-sysepoll".*#server.event-handler = "linux-sysepoll"#g' /etc/lighttpd/lighttpd.conf

chown -R lighttpd:lighttpd /var/www/localhost/

chown -R lighttpd:lighttpd /var/lib/lighttpd

chown -R lighttpd:lighttpd /var/log/lighttpd

rc-update add lighttpd default

rc-service lighttpd restart

echo "it works" > /var/www/localhost/htdocs/index.html

sed -i -r 's#\#.*mod_status.*,.*#    "mod_status",#g' /etc/lighttpd/lighttpd.conf

sed -i -r 's#.*status.status-url.*=.*#status.status-url  = "/stats/server-status"#g' /etc/lighttpd/lighttpd.conf

sed -i -r 's#.*status.config-url.*=.*#status.config-url  = "/stats/server-config"#g' /etc/lighttpd/lighttpd.conf

rc-service lighttpd restart

For testing, open a browser and go to . You will see «it works». The «webserveripaddres» is the ip address of your setup/server machine.

There’s a problem in Alpine linux, FAM (gamin) is activated as a lighttpd only service, that makes sense in docker, but on a server, it could be a problem if FAM (gamin) is also needed for other services at the same time.

OPTIONAL: alpine packagers are a mess, removed FAM on recent, so older releases of alpine can use compiled FAM packages with

install zabbix packages

Remenber that Zabbix has 3 components, and the server is the main one

  • Central servers to represent the data ( can be one zabbix server, o combined zabbix server with more zabbix proxies)
  • Clients hosts to monitored (that is made by Agents, SNMP or just ICMP)
  • Distributed proxy servers (that is only need for hosts behind firewall or closed networks)

In the server we need the central base service at leas, and of course one agent for monitoring that server:


cat > /etc/apk/repositories << EOF
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
EOF

apk update

apk add zabbix zabbix-mysql zabbix-webif zabbix-setup zabbix-utils zabbix-agentd

Now lest configure the server and the UI frontend in that server:

Настройка phpMyadmin[править]

Изначально доступ к установленному phpMyAdmin с других компьютеров запрещен. Чтобы открыть доступ с любого компьютера в file /etc/httpd2/conf/extra-available/phpMyAdmin.conf изменяем всего одну строчку, то есть добавляем нашу локалку 192.168.0.0/24, если строки там нет, то добавляем ее

Allow from 192.168.0.0/24

Настраиваем php.ini

В file /etc/php/5.2.11/apache2-mod_php/php.ini находим

max_execution_time = 30   меняем на 600
max_input_time = 30       меняем на 600
memory_limit = 5M         меняем на 256М
post_max_size = 2M        меняем на 32M
upload_max_filesize = 2M  меняем на 16M
date.timezone = Europe/Moscow (раскоментируем эту строку, регион вписываем свой)

В файле /var/www/webapps/phpMyAdmin/config.inc.php строку

$cfg = 'cookie';

заменяем на

$cfg = 'http';

Перегружаем Apache2 и MySQL-сервер

service httpd2 restart
service mysqld restart

Открываем 80 порт

-i breth0 -p tcp --dport 80 -j ACCEPT

Сохранение и Восстановление Zabbix[править]

Для того, чтобы сделать резервную копию необходимо определить файловую структуру резервного копирования. Вероятнее всего нам потребуется сохранить БД, файл конфигурации Zabbix сервера и файл настроек серверного агента. Создадим инструкцию которая будет по расписанию crontab, примерно раз в неделю в 00ч 00м запускать файл zabb_bk с правами:

home]# chmod 744 zabb_bk

Поместим файл zabb_bk в каталог /usr/local/bin

# crontab -e
#minute (0-59),
#|      hour (0-23),
#|      |       day of the month (1-31),
#|      |       |       month of the year (1-12),
#|      |       |       |       day of the week (0-6 with 0=Sunday).
#|      |       |       |       |       commands
 00     00      *       *       0  zabbix_bk

Инструкция zabb_bk

#!/bin/bash
TEMPDIR=/tmp/zb_bk/
BACKUPDIR=/home/
mkdir -p $TEMPDIR
# Стор Apache2
systemctl stop httpd2
# Стоп zabbix mysql
systemctl stop zabbix_mysql
# Создать dump MySQL и копировать во временный каталог
mysqldump -uroot -pzabbix -A > $TEMPDIR/all_bd.sql
# Старт Apache2
systemctl start httpd2
# Старт zabbix mysql
systemctl start zabbix_mysql
# Копировать каталоги во временную директорию
cp -r /etc/zabbix/zabbix_server.conf $TEMPDIR
cp -r /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php
$TEMPDIR
# Сжать и добавить дату создания(максимально до 31 дня месяца)
tar -cjf $BACKUPDIR/zabbix_`date +%d`_back.tar.bz2 $TEMPDIR
# Очистить временный каталог
rm -rf /tmp/zb_bk

Созданный архив, zabbix_23_back.tar.bz2, также можно хранить на специальном сервере для резервных копий вашей компании
Для восстановления Zabbix после краха в следствии природных, техногенных явлений или после санкционного давления, необходимо при установке нового сервера zabbix полностью восстановить имя сервера, IP сервера, пароль root mysql сервера после чего выполнить все вышеуказанные манипуляции и действия по установке вашего Zabbix сервера, сам zabbix лучше той же версии, что был, всё проверить, после чего приступить к восстановлению выполнив последовательность команд:

# cd /home
tar xvf zabbix_23_back.tar.bz2
cd /tmp/zb_bk
mysql -uroot -pzabbix -A < all_bd.sql
cp -r zabbix_server.conf /etc/zabbix/zabbix_server.conf
cp -r zabbix.conf.php /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php
//перегрузить
# systemctl restart mysqld
# systemctl restart httpd2

1.3. Установка PHP.

Установим PHP с необходимыми модулями. Процесс сборки из исходников может оказаться слишком утомительным, поэтому я ставлю из готовых пакетов c помощью package manager’а, который, если вы еще не установили, собирается из port’ов:

# cd /usr/ports/ports-mgmt/pkg# make# make install clean

Далее ставим php:

# pkg install -y php56 mod_php56 php56-extensions php56-mysqli php56-mysql

И на всякий случай выставляем права:

# chmod u+x /usr/local/libexec/apache24/libphp5.so

Приступаем к конфигурированию. Далее нужно найти и раскоментировать две строчки в конфиге apache:

# nano /usr/local/etc/apache24/httpd.confInclude etc/apache24/extra/httpd-userdir.confLoadModule userdir_module libexec/apache24/mod_userdir.so

Теперь дополним строчку в том же httpd.conf:

DirectoryIndex index.html index.php

Находим секцию LoadModule и добавляем в конце блока:

LoadModule php5_module libexec/apache24/libphp5.so

сразу после строки “AddType application/x-gzip .gz .tgz” добавим:

AddType application/x-httpd-php .php .php3 .phtmlAddType application/x-httpd-php-source .phps

и в конце файла допишем:

<FilesMatch "\.php$">    SetHandler application/x-httpd-php</FilesMatch><FilesMatch "\.phps$">    SetHandler application/x-httpd-php-source</FilesMatch>

Создаем конфигурацию php из шаблона и открываем ее на редактирование:

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini# nano /usr/local/etc/php.inidate.timezone = "Europe/Moscow"magic_quotes_gpc = Offupload_max_filesize = 512Mpost_max_size = 1Gmax_execution_time = 0

где:magic_quotes_gpc — отключает “экранирование” кавычек;upload_max_filesize — выставляет лимит для одного загружаемого на сервер файла;post_max_size — лимит для всех загружаемых на сервер файлов;max_execution_time — лимит времени в секундах на выполнение скрипта (при его превышении сервер вернет ошибку, тогда как при значении параметра 0 время не ограничивается).

Переходим в директорию расположения веб-скриптов, переименовываем файл и добавляем в него код для отображения версии и других параметров интерпретатора PHP:

# cd /usr/local/www/apache24/data && mv index.html index.php# echo '<?php phpinfo(); ?>' > index.php

Перезапустив Apache введя в браузере IP-адрес веб сервера увидим информацию о PHP, что говорит о его работоспособности:

# service apache24 restart

Здесь следует обратить внимание на включенную поддержку MySQL — если все настроено правильно, то статус обоих строчек будет “Enabled”:

Настройка Apache2[править]

Редактировать пути:

# mcedit /etc/httpd2/conf/sites-available/default.conf
DocumentRoot "/var/www/html/"
<Directory "/var/www/html/">

Проверить

# mcedit /etc/httpd2/conf/sites-available/default.conf

В секциях должна быть запись:

<Directory>
Require all granted
</Directory>

Права на каталоги:

# chown -R apache2:apache2 /var/www/webapps
# chmod -R 771 /var/www/webapps
# namei -mol /var/www/webapps/zabbix/
drwxrws--x apache2 apache2 webapps

Права рекурсивно на файлы и каталоги:

# find /var/www/webapps/zabbix -type f -exec chmod 644 {} \;
# find /var/www/webapps/zabbix -type d -exec chmod 755 {} \;

Просмотр прав каталога zabbix:

# namei -mol /var/www/webapps/zabbix/frontends/php/
drwxrws--x apache2 apache2   webapps
drwxr-xr-x apache2 apache2   zabbix
drwxr-xr-x apache2 apache2   frontends
drwxr-xr-x apache2 apache2   php
-rw-r--r-- apache2 apache2   zabbix.php

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

//или
# mcedit
-----------------------------------------
 Имя существующего файла (для ссылки):
  /etc/httpd2/conf/addon.d/A.zabbix.conf 
 Имя символической ссылки:
 /etc/httpd2/conf/extra-enabled/A.zabbix.conf
--------------------------------------------
//или
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf  /etc/httpd2/conf/extra-enabled
# ls -la /etc/httpd2/conf/extra-enabled/
...
lrwxrwxrwx  1 root root   38 апр 21 21:47 A.zabbix.conf -> /etc/httpd2/conf/addon.d/A.zabbix.conf
lrwxrwxrwx  1 root root   39 апр  9 21:25 httpd-autoindex.conf -> ../extra-available/httpd-autoindex.conf
lrwxrwxrwx  1 root root   37 апр  9 21:25 httpd-default.conf -> ../extra-available/httpd-default.conf
lrwxrwxrwx  1 root root   35 апр  9 21:25 httpd-icons.conf -> ../extra-available/httpd-icons.conf
lrwxrwxrwx  1 root root   39 апр  9 21:25 httpd-languages.conf -> ../extra-available/httpd-languages.conf
lrwxrwxrwx  1 root root   34 апр  9 21:25 httpd-mime.conf -> ../extra-available/httpd-mime.conf
lrwxrwxrwx  1 root root   33 апр  9 21:25 httpd-mpm.conf -> ../extra-available/httpd-mpm.conf
lrwxrwxrwx  1 root root   48 апр  9 21:25 httpd-multilang-errordoc.conf -> ../extra-available/httpd-multilang-errordoc.conf

# cat /etc/httpd2/conf/extra-enabled/A.zabbix.conf
Alias /zabbix /var/www/webapps/zabbix/frontends/php
<Directory "/var/www/webapps/zabbix">
        Options FollowSymLinks
        AllowOverride AuthConfig Limit
        Order allow,deny
        Allow from all
</Directory>

# service httpd2 restart
//или
# systemctl restart httpd2

Установка Zabbix 5 на Astra Linux

Для обновления Zabbix Server до 5-й версии, делаем все то же самое, что и ранее для 4-й. Скачиваем пакеты нужной нам версии и устанавливаем их вручную.

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix/zabbix-server-pgsql_5.0.6-2%2Bstretch_amd64.deb
# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix/zabbix-frontend-php_5.0.6-2%2Bbuster_all.deb

Обращаю внимание на ссылку для zabbix-frontend-php. Хоть в названии и присутствует имя релиза buster, данный пакет подходит для всех версий Debian, а все остальные пакеты объявлены deprecated

Устанавливаем Zabbix 5 на Astra Linux:

# dpkg -i zabbix-server-pgsql_5.0.6-2+stretch_amd64.deb
# dpkg -i zabbix-frontend-php_5.0.6-2+buster_all.deb

Если будет заменен дефолтный конфиг сервера, не забудьте его актуализировать. В целом по обновлению zabbix все. Перезапускаем сервер и идем в веб интерфейс.

# systemctl restart zabbix-server

Не забудьте почистить кэш браузера после обновления web интерфейса. Иначе в новой версии все будет криво отображаться, как-будто что-то сломано.

Zabbix infraestructure

Zabbix is divided into two large parts: server(s) and agent(s), and yes «servers» cos can be centralized or decentralized due the «proxyes» semi-servers.

  • The servers: represent all the recollected data and has management capabilities. Each one if are more than one, collects and stores statistical data.
  • The agents: represent each host, the clients, those machines or devices from which data is collected. Those support both passive (polling) and active checks (trapping).
  • The proxys: represent a server that can act as man-in-the-middle for distributed load, cases of hideden networking or firewalled, of course with management capabilities cos act as server for those agents/hosts.

Passive checks mean that the Zabbix server requests a value from the Zabbix agent, and the agent processes the request and returns the value to the Zabbix server.

Active checks mean that the Zabbix agent requests a list of active checks from the Zabbix server and then periodically sends the results.

Part 1 Pre-requisites: php, webserver and database

In production web, LAMP means Linux + Apache + Mysql + Php installed and integrated, but today, more and more, Apache is being replaced by Nginx or Lighttpd and MySQL by Mariadb. The LAMP documents are:

Установка и настройка zabbix агента

Установка агента очень проста:

install zabbix-agent

Для настройки агента  в строке Server указать адрес сервера:

/etc/zabbix/zabbix_agentd.conf

### Option: Server
#	List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers.
#	Incoming connections will be accepted only from the hosts listed here.
#	If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.
#	'0.0.0.0/0' can be used to allow any IPv4 address.
#	Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
#
# Mandatory: no
# Default:
# Server=

Server=192.168.32.218

Перезапустить агента:

sudo systemctl restart zabbix-agent

На сервере перейти в Настройки → Узлы → Создать узел, после чего указать Название, отображаемое имя и IP-адрес:

Перейти в Шаблоны, в строке начать печатать «lin…»

Компьютер добавлен в список узлов для проверки.

Если всё сделано правильно, то при возникновении события, указанного в шаблонах, на главном экране будет отображаться уведомление:

Установка сервера Zabbix 3.0

Подключаем официальный репозиторий 3.0:

# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Устанавливаем Zabbix сервер с веб-интерфейсом и с базой данных MySQL:

# yum install -y zabbix-server-mysql zabbix-web-mysql

Дожидаемся окончания загрузки всех зависимостей. После этого нужно создать пользователя и базу данных для мониторинга. Если вы ранее настраивали отдельно web сервер по моей статье, то можете сделать это через phpmyadmin. Если у вас его нет, то делаем все через консоль.

# mysql -uroot -ptopsecret
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabpassword';
topsecret пароль пользователя root mysql, это не системный root
zabpassword пароль пользователя zabbix, у которого полный доступ к базе mysql zabbix

Теперь импортируем схему БД и начальные данные.

# zcat /usr/share/doc/zabbix-server-mysql-3.0.1/create.sql.gz | mysql -uroot -ptopsecret zabbix

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

Имейте это ввиду.

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

# mcedit /etc/zabbix/zabbix_server.conf

Изменяем строки:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabpassword

Этих минимальных настроек достаточно, для работы сервера. Запускаем его и добавляем в автозагрузку.

# systemctl enable zabbix-server
# systemctl start zabbix-server

Проверяем лог файл на наличие ошибок.

# cat /var/log/zabbix/zabbix_server.log

Если у вас так же, значит все в порядке. Сервер штатно запустился и готов к работе.

Для продолжения настройки сервера, нам нужно зайти в web интерфейс. Перед этим отредактируем файл конфигурации web сервера. Открываем конфиг и раскомментируем одну строку, изменив ее под свой часовой пояс.

# mcedit /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Europe/Moscow

Сохраняем файл. Теперь запускаем httpd и добавляем его в автозагрузку.

# systemctl start httpd
# systemctl enable httpd

Можно заходить на веб интерфейс по адресу http://192.168.1.25/zabbix, где 192.168.1.25 ip адрес сервера, где устанавливаем и настраиваем мониторинг.

На этом этапе важно проверить настройки firewalld. Если вы его не настраивали и не отключали, то скорее всего по указанному адресу у вас ничего не откроется

В данной статье я не буду отвлекаться на настройку фаервола, это тема отдельного разговора. Подробно вопрос настройки iptables я рассмотрел отдельно. Либо настройте firewalld, либо просто отключите. В приведенной ссылке рассказано, как это сделать.

Открываем в браузере web интерфейс zabbix. Нас встречает страница приветствия. Если у вас то же самое, вы на верном пути.

Жмем Next step и попадаем на страницу проверок. Если все делали точно по инструкции, то все проверки у вас будут пройдены.

Двигаемся дальше и указываем параметры для подключения к mysql. Данные те же, что мы указывали ранее при создании БД и пользователя.

На следующем этапе надо указать адрес сервера и порт, на котором он будет работать. Оставляем значения по-умолчанию.

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

Если поучили это сообщение, то поздравляю, установка сервера мониторинга Zabbix 3.0 закончена.

Нажимаете Finish и попадаете на страницу логина в систему. Данные по умолчанию следующие:

Пользователь Admin
Пароль zabbix

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

Обращаю внимание на данный скриншот. Я устанавливал и затем заходил в панель через IE 11

Здесь можно увидеть, что реально я не залогинился админом, а зашел как гость, так как нет некоторых разделов администратора. Я несколько раз перепроверил, почистил темпы, перезапустил браузер, но ничего не помогло. Я не мог войти в систему под админом, хотя использовал админскую учетку. Все стало в порядке, когда я зашел через Chrome. Имейте это ввиду. В прошлом релизе 2.4 я не мог нормально провести установку через Yandex браузер, тут же ошибка в IE, хотя я специально использовал его, так как думал, что в нем вероятность ошибки будет меньше. Я ошибся.

Сбор данных мы настроим чуть позже, установив zabbix агент на этот же сервер. А пока сделаем некоторые минимальные и необходимые настройки на сервере.

Configure the base service

Server zabbix, or proxy one always need a main database, the service of monitoring is running with it, the UI and agents always send the data to the zabbix server or zabbix proxy (and from proxy to server).

Warning: The zabbix service DB user is and NOT , the user whatever you use postgresql or mysql, will not be used with password for agent monitoring, cos in postgresql will use the way autentication, and in mysql will use the way autentication: this makes sense cos user agent is and does not have home. This is the correct and most secure way.


mysql -u root -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('clavezabix');"
mysql -u root -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;"
mysql -u root -e "GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixdb'@'localhost' WITH GRANT OPTION;"

mysql -u zabbixdb --password=clavezabix zabbixdb < /usr/share/zabbix/database/mysql/schema.sql
mysql -u zabbixdb --password=clavezabix zabbixdb < /usr/share/zabbix/database/mysql/images.sql
mysql -u zabbixdb --password=clavezabix zabbixdb < /usr/share/zabbix/database/mysql/data.sql

sed -i 's|.*DBHost.*=.*|DBHost=localhost|g' /etc/zabbix/zabbix_server.conf
sed -i 's|DBName.*=.*|DBName=zabbixdb|g' /etc/zabbix/zabbix_server.conf
sed -i 's|.*DBPassword.*=.*|DBPassword=zabbixdb.db.1.com.1|g' /etc/zabbix/zabbix_server.conf
sed -i 's|.*DBUser.*=.*|DBUser=zabbixdb|g' /etc/zabbix/zabbix_server.conf
sed -i 's|.*DBSocket.*=.*|DBSocket=/run/mysqld/mysqld.sock|g' /etc/zabbix/zabbix_server.conf
sed -i 's|.*Fping6Location.*=.*|Fping6Location=|g' /etc/zabbix/zabbix_server.conf
sed -i 's|.*FpingLocation.*=.*|FpingLocation=/usr/sbin/fping|g' /etc/zabbix/zabbix_server.conf
sed -i 's|Nostname=.*|Nostname=monitor.zabbixnetwork|g' /etc/zabbix/zabbix_server.conf
sed -i 's|.*SourceIP.*=.*|SourceIP=0.0.0.0|g' /etc/zabbix/zabbix_server.conf

chown root:zabbix /usr/sbin/fping

rc-update add zabbix-server default

rc-service zabbix-server restart

Note: Remenber that the hostname of the server is monitor.zabbixnetwork, you can use the ip address too, but this name must be the same in the config files for active or passive servers, the web ui configured hostname server and/or zabbix configured hostname proxy server.

Установка Zabbix

Установить zabbix:

sudo apt install zabbix-frontend-php zabbix-server-pgsql

Импортировать шаблон БД zabbix:

Для ОС без установленного обновления БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7):

gunzip -c /usr/share/doc/zabbix-server-pgsql/ > create.sqlpsql -U zabbix -d zabbix -f create.sql

Для ОС с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7):

zcat /usr/share/zabbix-server-pgsql/{schema,images,data}.sql.gz | psql -h localhost zabbix zabbix
sudo a2enconf zabbix-frontend-php
sudo systemctl reload apache2

Если при выполнении команды psql -U zabbix -d zabbix -f create.sql происходит ошибка:

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

usermod -a -G shadow postgressetfacl -d -m u:postgres:r /etc/parsec/macdbsetfacl -R -m u:postgres:r /etc/parsec/macdbsetfacl -m u:postgres:rx /etc/parsec/macdbsetfacl -d -m u:postgres:r /etc/parsec/capdbsetfacl -R -m u:postgres:r /etc/parsec/capdbsetfacl -m u:postgres:rx /etc/parsec/capdbpdpl-user -l 0:0 zabbix

И выполнить команду повторно.Перезапустить apache2

sudo systemctl reload apache2

Включить zabbix:

sudo systemctl enable zabbix-serversudo systemctl start zabbix-server

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

Ввести: astra16.example.com/zabbix и нажать Next Step

Убедиться, что все обязательные компоненты установлены корректно (ОК):

Ввести данные для доступа к БД:

Назвать сервер уникальным именем:

Проверить информацию:

Установщик сообщит, что установка успешно завершена, а конфигурация сохранена:

Успех!

Для входа ввести:

Пользователь zabbix[править]

Для управления zabbix-процессами, выделена специальная учётная запись, имя=zabbix

Пользователь zabbix и группа zabbix создаётся автоматически, при установке zabbix-agent

# apt-get install zabbix-agent
# id zabbix
uid=xxx(zabbix) gid=xxx(zabbix) группы=xxx(zabbix),19(proc)

Ручная установка учётной записи имя=zabbix

# groupadd zabbix
# useradd -g zabbix zabbix
//Права на каталоги 
# namei -mol /var/log/zabbix/
drwxr-xr-x root root   /
drwxr-xr-x root root   var
drwxr-xr-x root root   log
drwxrwxr-t root zabbix zabbix
# namei -mol /var/run/zabbix/
drwxr-xr-x root   root   /
drwxr-xr-x root   root   var
drwxr-xr-x root   root   run
drwxr-xr-x zabbix zabbix zabbix

Установка пароля, только для серверной учётной записи, имя=zabbix

# passwd zabbix
...........
Enter new password: zabbix
Re-type new password: zabbix

Заключение

На этом у меня все. Я показал, как на Astra Linux установить самую свежую версию Zabbix Server. Предлагаю далее проследовать в статью по базовой настройке zabbix.

Онлайн курс Infrastructure as a code

Если у вас есть желание научиться автоматизировать свою работу, избавить себя и команду от рутины, рекомендую пройти онлайн курс Infrastructure as a code. в OTUS. Обучение длится 4 месяца.

Что даст вам этот курс:

  • Познакомитесь с Terraform.
  • Изучите систему управления конфигурацией Ansible.
  • Познакомитесь с другими системами управления конфигурацией — Chef, Puppet, SaltStack.
  • Узнаете, чем отличается изменяемая инфраструктура от неизменяемой, а также научитесь выбирать и управлять ей.
  • В заключительном модуле изучите инструменты CI/CD: это GitLab и Jenkins

Смотрите подробнее программу по .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: