Новости
Serverspace запустил обновленную партнерскую программу
Serverspace Black Friday
BK
июня 24, 2025
Обновлено июня 24, 2025

Как настроить мониторинг виртуальной базы данных с помощью Zabbix

Linux

Виртуальные базы данных (в облаке, на ВМ или в контейнерах) — основа современных приложений. Однако их динамическая природа создаёт вызовы: от конкуренции за ресурсы до скрытых сбоев, которые не видны на уровне ОС. Без качественного мониторинга такие проблемы приводят к простоям и потерям. Zabbix — это open-source инструмент, который позволяет отслеживать состояние баз данных на всех уровнях: от инфраструктуры до бизнес-метрик. Это руководство поможет вам настроить мониторинг виртуальных баз данных с помощью Zabbix, обеспечив прозрачность и контроль.

 

 

Развертывание Zabbix

Архитектура:

_- visual selection (1)
Рисунок 1 - Архитектура Zabbix

Этапы установки:

Этап 1 - Установка сервера - устанавливает сервер и веб-интерфейс с поддержкой PostgreSQL:

# Установка Zabbix на Ubuntu

wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb

dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb

apt update

apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-apache-conf

Этап 2 - Настройка базы - создаёт базу для хранения данных Zabbix:

CREATE DATABASE zabbix_db;

CREATE USER zabbix_user WITH PASSWORD 'StrongPassword';

GRANT ALL PRIVILEGES ON DATABASE zabbix_db TO zabbix_user;

Этап 3 - Импортируем схему - заполняет базу начальными данными:

zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix_db

Этап 4 - Настройте сервер - связывает сервер с базой:

# /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix_db

DBUser=zabbix_user

DBPassword=StrongPassword

Этап 5  - Запустите сервисы - запускает Zabbix и веб-сервер:

systemctl restart zabbix-server apache2

systemctl enable zabbix-server

Настройка мониторинга PostgreSQL

Установка агента - агент собирает метрики с сервера БД:

apt install zabbix-agent

Настройка доступа - пользователь для мониторинга PostgreSQL:

CREATE USER zabbix_mon WITH PASSWORD 'MonitorPass';

GRANT pg_monitor TO zabbix_mon;

Настройка агента - определяет пользовательские параметры для сбора метрик:

# /etc/zabbix/zabbix_agentd.conf

UserParameter=pg.connections[*], psql -U zabbix_mon -c "SELECT COUNT(*) FROM pg_stat_activity WHERE state = 'active'" -t

UserParameter=pg.locks[*], psql -U zabbix_mon -c "SELECT COUNT(*) FROM pg_locks" -t

Настройка шаблона в Zabbix:

  • Импортируйте "PostgreSQL by Zabbix agent".
  • Привяжите к хосту.
  • Укажите макросы: `{$PG.USER}=zabbix_mon`, `{$PG.PASSWORD}=MonitorPass`.

Настройка мониторинга MySQL

Создание пользователя - пользователь для мониторинга MySQL:

CREATE USER 'zabbix_mon'@'localhost' IDENTIFIED BY 'MonitorPass';

GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'zabbix_mon'@'localhost';

GRANT SELECT ON performance_schema.* TO 'zabbix_mon'@'localhost';

Настройка доступа - упрощает подключение агент:

# ~/.my.cnf

[client]

user=zabbix_mon

password=MonitorPass

Настройка агента - собирает базовые метрики MySQL:


# /etc/zabbix/zabbix_agentd.conf
UserParameter=mysql.connections,mysqladmin status | awk '{print $$4}'
UserParameter=mysql.queries_per_sec,mysqladmin status | awk '{print $$6}'

Используйте шаблон "MySQL by Zabbix agent" с макросами:
- `{$MYSQL.USER}=zabbix_mon`, `{$MYSQL.PASSWORD}=MonitorPass`.

Ключевые метрики для SRE

Пример триггера:

Срабатывающего, если число соединений превышает 90% от максимума.

{Template DB PostgreSQL:pg.connections.last()} /

{Template DB PostgreSQL:pg.max_connections.last()} * 100 > 90

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

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
050000 г. Алматы пр. Сейфуллина, д. 502
+7 (777) 555-36-66
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...