4. Настройка РБДМонитор
РБДМонитор состоит из клиентской и серверной части. Клиент необходимо установить на одну машину с наблюдаемой СУБД. Сервер мониторинга можно установить, как на одну машину с клиентом, так и на отдельную.
Рис. 4.1 Схема взаимодействия компонентов РБДМонитора
Состав клиентской части:
Агент мониторинга- порт 3051 по умолчанию;Promtail.
Состав серверной части:
Grafana- порт 3000 по умолчанию;Prometheus- порт 9090 по умолчанию;Loki- порт 3100 по умолчанию;СУБД с
базой данных пользовательских запросов- порт 3050 по умолчанию.
4.1. Настройка серверной части
Запустите СУБД (РЕД База Данных или Firebird):
systemctl start firebird
Откройте
create.sql, расположенный в/opt/rdbmonitor/create.sql. В первой строке укажите путь, где будет создана БД-справочник.CREATE DATABASE 'localhost:/путь/до/statements.fdb';
Выполните скрипт
create_tables.sql:isql -user sysdba -password masterkey -i /opt/rdbmonitor/create.sql
Установите асинхронный режим записи на диск:
gfix -user sysdba -password masterkey -write async <база данных statements.fdb>
Запустите
Loki:sudo systemctl start loki.service
Укажите следующие настройки
Prometheusв файле/etc/prometheus/prometheus.yml:global: scrape_interval: 60s evaluation_interval: 60s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: # - "first_rules.yml" # - "second_rules.yml" scrape_configs: - job_name: "RDBMonitor" static_configs: - targets: ["localhost:3051"] #localhost заменить на адрес наблюдаемого сервера - job_name: "Prometheus" scrape_interval: 20s scrape_timeout: 20s static_configs: - targets: ['localhost:9090'] #здесь ничего менять не нужноЗапустите
Prometheus:sudo systemctl start prometheus
Для получения уведомлений укажите настройки
Alertmanagerв файле/etc/alertmanager/alertmanager.yml(см. Alertmanager (alertmanager.yml)). Если уведомления не нужны, то этот пункт можно пропустить.После настройки запустите
Alertmanager:sudo systemctl start alertmanager
Запустите
Grafana:sudo systemctl start grafana-server
4.2. Настройка клиентской части
Для сервера, который необходимо мониторить, в
firebird.confукажите следующие настройки:TracePlugin = messagetrace
У наблюдаемой СУБД включите плагин агрегатного аудита в
plugins.conf:Примечание
Для РЕД Базы Данных нужно указывать библиотеку
messagetrace. Для Firebird -messagetrace_fb.Plugin = messagetrace { Module = /opt/rdbmonitor/client/messagetrace_[fb] Required = true Config = monitor_config } Config = monitor_config { ConfigFile = /opt/rdbmonitor/client/exporter/exporter_conf.json }Перезапустите наблюдаемую СУБД:
systemctl start firebird
В
exporter_conf.json, расположенном в/opt/rdbmonitor/client/exporter/exporter_conf.json, скорректируйте следующие настройки:"promtail": { "host": "127.0.0.1" # Адрес наблюдаемого сервера, должен совпадать со значением targets в prometheus.yaml }, ... "dictserver": { "host": "127.0.0.1", #адрес сервера мониторинга "port": 3050, "database": "/db/statements.fdb", # Путь к statements.fdb на сервере мониторинга ... "RedDatabase": { "host": "127.0.0.1", # Не нужно менять "user": "SYSDBA", "password": "masterkey", "folder_path": "/opt/RedDatabase/" # Путь к каталогу установки наблюдаемой СУБД }, "databases": { "employee_db": { # Метка наблюдаемой базы для отображения, можно указать любое название "alias": "employee", # Путь к наблюдаемой базе данных или алиас ...Предупреждение
Перед запуском агента мониторинга убедитесь, что СУБД запущена:
systemctl status firebird
Запустите клиентскую часть РБДМонитор:
systemctl start rdbmonitor-client.target
4.3. Просмотр метрик в Grafana
Откройте в браузере страницу запущенной Grafana (по умолчанию http://localhost:3000/).
По умолчанию для входа используется логин admin и пароль admin.
Укажите источники данных:
Во вкладке
Connections\(\to\)Data sourcesнажмите на кнопкуAdd data source. В открывшемся окне из списка источников выберитеPrometheus. УкажитеURL-адресдля доступа кPrometheus(по умолчаниюhttp://localhost:9090/). Необходимо настроить интервал сбора метрик. Для параметраScrape intervalукажите число, совпадающее со значением параметраscrape_intervalв конфигурационном файлеPrometheus(prometheus.yml). Нажмите на кнопкуSave & test.Укажите источником базу данных, в которой хранятся пользовательские запросы. Для этого во вкладке
Data sourcesнажмите на кнопкуAdd new data source. В открывшемся окне из списка источников выберитеРЕД База Данных. Заполните поля для соединения с базой данных и нажмите на кнопкуSave & test.Во вкладке
Data sourcesнажмите на кнопкуAdd data source. В открывшемся окне из списка источников выберитеLoki, для сбора логов операционной системы и СУБД. УкажитеURL-адресдля доступа кLoki(по умолчаниюhttp://127.0.0.1:3100) и нажмите на кнопкуSave & test.
Для отображения собранной информации необходимо включить плагин РБДМонитор:
Выберите
Home\(\to\)Administration\(\to\)Plugins;В открывшейся вкладке перейдите в
Type\(\to\)Applications\(\to\)РБДМонитор;Нажмите на кнопку
Enable.
После этого в меню Apps будет добавлен плагин РБДМонитор.
Необходимо указать добавленные источники данных в настройках плагина РБДМонитор:
Рис. 4.2 Настройка плагина