Руссификация 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:
- run apk for needed packages
apk add lighttpd gamin
Lighttpd pre php configuration
- make the htdos public web root directories
- change default port to production one, http is used with 80
- use FAM style (gamin) file alteration monitor, increases performance ONLY ON 3.4 to 3.8 releases!!!
- use linux event handler, increases performance due Alpine are linux only
- added the service to the default runlevel, not to boot, because networking needs to be active first
- started the web server service
- Enable the mod_status at the config files
- change path in the config file, we are using security by obfuscation
- 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
Смотрите подробнее программу по .