2. Установка РБДМонитор
2.1. Установка на Linux
Доступно несколько способов установки:
RPM-пакет
Скачайте с официального сайта rpm-пакеты серверной и клиентской части РБДМонитор.
Установите серверную часть РБДМонитор:
dnf install <путь_до_rpm_пакета_rdbmonitor-server>
Установите СУБД для серверной части: РЕД Базу Данных, следуя инструкции в Руководстве администратора или Firebird.
Установите клиентскую часть РБДМонитор:
dnf install <путь_до_rpm_пакета_rdbmonitor-client>
Для мониторинга отказоустойчивого кластера клиентскую часть неоходимо установить на каждый узел.
Настройте РБДМонитор по инструкции Настройка РБДМонитор.
Установка из архива
Установите СУБД для серверной части: РЕД Базу Данных, следуя инструкции в Руководстве администратора или Firebird.
Скачайте установочный архив для серверной части с официального сайта. После скачивания распакуйте архив, выполнив команду:
tar -xzf <архив>Установите плагины
redsoft-rdbmonitor-appиredsoft-reddatabase-datasourceкомандой:sudo ./install.sh -o install -p grafana_pluginsПри установке плагинов нужно внести
redsoft-rdbmonitor-appиredsoft-reddatabase-datasourceв список доверенных, разрешив редактировать файл/etc/grafana/grafana.ini.Установите
Loki:sudo ./install.sh -o install -p lokiСкачайте установочный архив для клиентской части с официального сайта. После скачивания распакуйте архив, выполнив команду:
tar -xzf <архив>Установите клиентскую часть, выполнив
install.shс правами администратора:sudo ./install.sh -o install -p clientСкачайте установочный архив для клиентской части с официального сайта. После скачивания распакуйте архив, выполнив команду:
tar -xzf <архив>Установите клиентскую часть, выполнив
install.shс правами администратора:sudo ./install.sh -o install -p clientНастройте РБДМонитор по инструкции Настройка РБДМонитор.
2.2. Установка и настройка на Windows
Скачайте с официального сайта
zip-архивРБДМонитор.Распакуйте скачанный архив в любой каталог.
Установите службу агента мониторинга:
<путь до каталога установки>\RDBMonitor\install_service.bat
Остановите наблюдаемую СУБД.
Для сервера, который необходимо мониторить, в
firebird.confукажите следующие настройки:TracePlugin = messagetrace
Для сервера, который необходимо мониторить, в
plugins.confукажите следующие настройки:Plugin = messagetrace { Module = <путь к корневому каталогу РБДМонитор>\RdbMonitor\plugins\messagetrace\messagetrace Required = true Config = monitor_config } Config = monitor_config { ConfigFile = <путь к корневому каталогу РБДМонитор>\RdbMonitor\exporter\exporter_conf.json }Запустите наблюдаемую СУБД.
Установите СУБД для серверной части: РЕД Базу Данных, следуя инструкции в Руководстве администратора или
Firebird.Откройте
\RdbMonitor\external\promtail\promtail.ymlи укажите там следующее:server: http_listen_port: 9080 grpc_listen_port: 0 positions: filename: "<путь до каталога установки РБДМонитор>\\RdbMonitor\\external\\promtail\\positions.yaml" clients: - url: http://localhost:3100/loki/api/v1/push # IP-адрес Loki scrape_configs: - job_name: RedDatabase pipeline_stages: - multiline: firstline: '^[A-Za-z0-9\._%+\-]+.\s+\([0-9]+:[0-9]+#[0-9]+\)\s+[A-Za-z]+\s+[A-Za-z]+\s+[0-9]+\s+[0-9]+:[0-9]+:[0-9]+\s+[0-9]+' max_wait_time: 3s static_configs: - targets: - localhost labels: job: RedDatabase host: 127.0.0.1 # IP-адрес машины в сети __path__: "<корневой каталог СУБД>\\firebird.log" # Путь до firebird.logРаспакуйте архив
promtail-windows-amd64.exe.zipв ту же папку.Запустите
Promtail:Start-Process -FilePath ".\promtail-windows-amd64.exe\promtail-windows-amd64.exe" -ArgumentList '--config.file="\RdbMonitor\external\promtail\promtail.yaml"' -WindowStyle Hidden
Откройте файл
\RdbMonitor\external\loki\loki.yamlи укажите там следующее:auth_enabled: false server: http_listen_port: 3100 common: ring: kvstore: store: inmemory replication_factor: 1 path_prefix: "<путь до каталога установки РБДМонитор>\\RdbMonitor\\external\\loki" schema_config: configs: - from: 2020-05-15 store: tsdb object_store: filesystem schema: v13 index: prefix: index_ period: 24h storage_config: filesystem: directory: "<путь до каталога установки РБДМонитор>\\RdbMonitor\\external\\loki"Запустите
Loki:Start-Process -FilePath ".\loki-windows-amd64.exe\loki-windows-amd64.exe" -ArgumentList '--config.file="\RdbMonitor\external\loki\loki.yaml"' -WindowStyle Hidden
Установите
Prometheus.Установите
Grafana.Переместите из
\RdbMonitor\plugins\grafana\папкиredsoft-rdbconnector-datasourceиredsoft-rdbmonitor-appв\grafana-12.4.2\data\plugins\. Папкуdataнеобходимо предварительно создать.Откройте файл
\grafana-12.4.2\conf\defaults.iniи укажите там следующее:allow_loading_unsigned_plugins = redsoft-rdbconnector-datasource,redsoft-rdbmonitor-app
Запустите СУБД в серверной части.
Скорректируйте скрипт
create.sql, расположенный по пути\RdbMonitor\scripts\create.sql.Выполните скрипт:
isql -user <имя пользователя> -password <пароль> -i \RdbMonitor\scripts\create.sql
Установите асинхронный режим записи на диск:
gfix -write async <база данных statements.fdb>
Укажите настройки
Prometheusв файле\prometheus\prometheus.yml:global: scrape_interval: <интервал сбора метрик><единицы измерения s/m/h> scrape_timeout: <время ожидания получения в секунду> scrape_configs: - job_name: "RDBMonitor" static_configs: - targets: ["<хост>:<порт>", ..., "<хост>:<порт>"] rule_files: - rules.yml # alerting: # alertmanagers: # - static_configs: # - targets: ["localhost:9093"]Запустите
Prometheus.Запустите
Grafana.Укажите настройки агента мониторинга в файле
\RDBMonitor\exporter\exporter_conf.json.{ "exporter": { "port": <порт агента мониторинга>, "rdb_lock_print": { "enabled": true }, "scrape_system":{ "enabled": true }, "scrape_queries": { "enabled": true, "filters": "<путь к файлу с настройками фильтрации>", "default": { "shmem_size":<размер разделяемой памяти в МиБ> } }, "scrape_mon_tables":{ "enabled": true }, "user_metrics": { "enabled": true, "timeout": <таймаут сбора метрики в секундах>, "max_metric_labels": <максимальное кол-во метрик>, "max_user_metrics": <максимальное кол-во пользовательских метрик>, "max_metric_data_blocks": <максимальное кол-во блоков метрики> } }, "promtail": { "host": "<хост наблюдаемого сервера>" }, "dictserver": { "host": "<хост базы данных>", "port": <порт базы данных>, "database": "/opt/rdbmonitor/server/rdb/statements.fdb", "user": "<пользователь>", "password": "<пароль>", "Auth_plugins": ["<плагин>", ..., "<плагин>"], "loki": { "port": <порт loki> } }, "RedDatabase": { "host": "<хост СУБД>", "port": <порт СУБД>, "user": "<логин>", "password": "<пароль>", "folder_path": "<путь к папке установки RedDatabase>" }, "databases": { "<псевдоним>": { "alias": "<алиас>", "scrape": { "enabled": true, "filters":"<путь к файлу с настройками фильтрации>", "endpoint": "<сокет>" } } } }Запустите агент мониторинга от имени администратора:
Start-Process -FilePath ".\exporter.exe" -ArgumentList ".\exporter_conf.json" -WindowStyle Hidden
Или командой:
"<путь до каталога установки>\RDBMonitor\start.bat"
После настройки необходим перезапуск сервиса агента мониторинга:
Restart-Service -Name ExporterService
Откройте в браузере страницу запущенной
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.