How to reset zabbix admin password without gui access

In this article we are going to demonstrate how to reset the Zabbix Admininstrator password without GUI Access on the database level.

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

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

Заметка. В заббиксе есть 2 типа проверок:

  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

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

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

Нажмите Create host и заполните данные

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

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

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

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

Сообщение “started ” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.

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

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

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

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

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

Перед тем как мы сможем установить zabbix ubuntu 17.04, 16.04 и в других версиях, потребуется кое-что настроить. Нужно установить веб-сервер, MySQL и PHP. Если эти сервисы у вас уже настроены, то просто можете пропустить этот шаг.

Установка Apache, PHP, MySQL

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

Дальше необходимо настроить правильный часовой пояс в php.ini. Вам нужна секция Data и строка timezone:

Добавление репозитория

Например, можно использовать wget для загрузки файла:

Если у вас другая операционная система, посмотрите список файлов на сервере через браузер и выберите нужный установщик. Затем установка zabbix 3.2 на Ubuntu:

Установка и настройка Zabbix

Когда репозиторий будет добавлен, можно перейти к настройке самого сервера Zabbix. Для установки программ выполните:

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

Для нормальной работы Zabbix нужна кодировка базы данных UTF-8, если вы создадите базу в кодировке utf8mb4, то получите ошибку: «Specified key was too long; max key length is 767 bytes». Дальше нужно загрузить все таблицы в базу данных, они находятся в папке /usr/share/zabbix-server-mysql/. Вместо zabbix и zabbixdb нужно указать своего пользователя и имя базы данных:

Чтобы Zabbix смог подключиться к базе данных нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_server.conf и указать там данные аутентификации:

Далее, включаем конфигурационный файл zabbix для apache2:

Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:

Установка и настройка Zabbix Ubuntu почти завершена, осталось настроить веб-интерфейс.

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

Веб-интерфейс программы готов к работе, теперь вы можете его открыть, набрав в адресной строке http://адрес_сервера/zabbix/

На первой странице нажмите «Next». На следующем шаге программа проверит правильно ли настроен интерпретатор PHP:

Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:

На следующем шаге можно изменить ip и порт, на котором будет слушать Zabbix:

Последний шаг, проверьте все ли верно и не нужно ли чего менять:

Если получаете такую ошибку, то файл нужно скачать и сохранить в /etc/zabbix/ вручную:

Владельца файла нужно изменить на www-data, чтобы программа имела к нему права доступа:

Теперь вернитесь в браузер и нажмите «Finish»:

Перед вами откроется окно ввода логина и пароля. Используйте стандартные значения, логин admin и пароль zabbix.

Вот и все, теперь установка Zabbix Ubuntu завершена и вы можете переходить к настройке.

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

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

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

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

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

  1. Агент Zabbix посылает данные на сервер
  2. Сервер Zabbix получает и обрабатывает данные.
  3. Если полученные данные подпадают под заданные условия, то срабатывает триггер;
  4. Активный триггер сигнализирует о проблеме. Отображается уведомление на фронтенде (сайте), и в зависимости от конфигурации рассылается сообщение по почте и выполняется какие-либо действия (например, перезапуск службы, которая мониторится).

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

Подготовка сервера

1) Отключите selinux

Для этого отредактируйте файл /etc/selinux/config. Установите параметр SELINUX=permissive

setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config

2) Обновите систему

# yum update -y

3) Установите httpd и включите его автозагрузку

# yum install httpd
# systemctl enable httpd

4) Установите сервер баз данных PostgresSQL и добавьте его в автозагрузку

# yum install postgresql postgresql-server
# systemctl enable postgresql

5) Выполните инициализацию нового сервера баз данных PostgresSQL

# /usr/bin/postgresql-setup initdb

6) Запустите postgres

# systemctl start postgresql

Установка и настройка Zabbix

yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-agent

Укажите параметры временной зоны.

Откройте файл php.ini и отредактируйте его:

# nano /etc/php.ini

найдите строку:

;date.timezone =

И укажите в ней временную зону Europe/Moscow (укажите свой часовой пояс!), обязательно сняв комментарий со строки, чтобы выглядело:

date.timezone = Europe/Moscow

Далее для корректного запуска zabbix требуется поменять значения :

post_max_size = 16M
max_execution_time = 300
max_input_time = 300

Настройка PostgresSQL

Создайте пользователя, таблицу и предоставьте права на эту таблицу
Зайдите в консоль пользователя postgres

 # su postgres

подключитесь к серверу базы данных

# psql

Создайте пользователя и таблицу с именем zabbix и предоставьте пользователю права на использование данной таблицы (пароль укажите свой):

 # CREATE ROLE zabbix WITH NOSUPERUSER LOGIN PASSWORD 'zabbixpassword';
 # CREATE DATABASE zabbix WITH OWNER zabbix;
 # GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;

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

При выполнении команд получаем следующее:

postgres=# CREATE ROLE zabbix WITH NOSUPERUSER LOGIN PASSWORD 'zabbixpassword';
 CREATE ROLE
 postgres=# CREATE DATABASE zabbix WITH OWNER zabbix;
 CREATE DATABASE
 postgres=# GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
 GRANT

Проверьте что таблицы создались

# \l

Отключитесь от базы

# \q

Завершите сессию пользователя postgres

# exit

Теперь необходимо перенастроить сам сервер postgresql
Сначала разрешите слушать порт

nano /var/lib/pgsql/data/postgresql.conf

найдите строку

#listen_addresses = 'localhost'

приведите к виду

listen_addresses = '*'

раскомментируйте строку

#port = 5432

сохраните изменения.
Теперь необходимо предоставить права доступа пользователю zabbix к базе данных по паролю, для этого необходимо отредактировать другой файл

# nano /var/lib/pgsql/data/pg_hba.conf

найдите строку

host    all        all         127.0.0.1/32        ident

И перед ней добавьте запись, чтобы выглядело

host    zabbix     zabbix      127.0.0.1/32        password
host    all        all         127.0.0.1/32        ident

Далее замените все ident на md5, конечный вариант файла:

# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host zabbix zabbix 127.0.0.1/32 password
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5

Запись, разрешающая доступ, обязательно должна быть именно такой, как указано!

Перезапустите сервер postgresql

# systemctl restart postgresql

Импортируйте содержимое SQL дампа в базу данных:

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

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

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

Теперь установим агент Zabbix в Linux. Для установки Zabbix агента в Ubuntu Server 18.04 с помощью пакетного менеджера нужно скачать и установить репозиторий Zabbix. Затем из репозитория установим zabbix agent:

В CentOS для добавления репозитория и установки агента zabbix используется команды:

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

Server=IP
ServerActive=IP:10051
Hostname=testagent

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

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

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

Как и в случае с Windows агентом, вам нужно добавить ваш Linux хост в настройках сервера Zabbix

Обратите внимание на параметр Host name в настройка хоста в интерфейсе заббикс сервера — этот параметр должен совпадать с Hostname параметром, который мы указываем в конфиге Zabbix -агента. В конфиге выше я указывал имя хоста testagent

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

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

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

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

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

Перейдите на страницу загрузки https://www.zabbix.com/download и выберите репозиторий, соответствующий вашему дистрибутиву Linux. Готовые пакеты есть для всех популярных дистрибутивов.

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

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

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

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

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

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

Осталось создать базу данных для Zabbix в MySQL (вместо MySQL можно использовать PostgreSQL, просто замените в командах ‘mysql’ на ‘pgsql’).

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

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

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

DBPassword=Пароль_Пользователя_Zabbix

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

# listen 80;
# server_name example.com;

Уберите # и поменяйте example.com на домен, по которому вы хотите заходить на Zabbix, в моём случае это .

Для Apache файл нужно править файл конфигурации /etc/httpd/conf.d/zabbix.conf .

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

php_value = Europe/Moscow

Убедитесь, что время на Zabbix сервере синхронизировано с надежным NTP источником.

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

memory_limit 128M
upload_max_filesize 8M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000

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

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

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.