2. Установка РБДМонитор

2.1. Установка на Linux

Доступно несколько способов установки:

2.1.1. RPM-пакет

Примечание

РБДМонитор состоит из клиентской и серверной части. Клиент необходимо установить на одну машину с наблюдаемой СУБД. Сервер мониторинга можно установить, как на одну машину с клиентом, так и на отдельную.

  1. Скачайте с официального сайта rpm-пакеты серверной и клиентской части РБДМонитор.

  2. Установите серверную часть РБДМонитор:

    dnf install <путь_до_rpm_пакета_rdbmonitor-server>
    
  3. Установите СУБД для серверной части: РЕД Базу Данных, следуя инструкции в Руководстве администратора или Firebird.

  4. Установите клиентскую часть РБДМонитор:

    dnf install <путь_до_rpm_пакета_rdbmonitor-client>
    

    Для мониторинга отказоустойчивого кластера клиентскую часть неоходимо установить на каждый узел.

  5. Разместите файл лицензии по пути /opt/RDBMonitor/client/exporter. Один файл лицензии предназначен для одного Агента мониторинга. Использовать одну лицензию для нескольких наблюдаемых сервером нельзя.

  6. Настройте РБДМонитор по инструкции Настройка РБДМонитор.

2.1.2. Установка из архива

Примечание

РБДМонитор состоит из клиентской и серверной части. Клиент необходимо установить на одну машину с наблюдаемой СУБД. Сервер мониторинга можно установить, как на одну машину с клиентом, так и на отдельную.

Установка клиентской части

  1. Скачайте установочный архив для клиентской части с официального сайта. После скачивания распакуйте архив, выполнив команду:

    tar -xzf <архив>
    
  2. Установите клиентскую часть, выполнив install.sh с правами администратора:

    sudo ./install.sh -o install -p client
    
  3. Разместите файл лицензии по пути /opt/RDBMonitor/client/exporter. Один файл лицензии предназначен для одного Агента мониторинга. Использовать одну лицензию для нескольких наблюдаемых сервером нельзя.

Установка серверной части

  1. Установите СУБД для серверной части: РЕД Базу Данных, следуя инструкции в Руководстве администратора или Firebird.

  2. Скачайте установочный архив для серверной части с официального сайта. После скачивания распакуйте архив, выполнив команду:

    tar -xzf <архив>
    
  3. Установите плагины redsoft-rdbmonitor-app и redsoft-reddatabase-datasource командой:

    sudo ./install.sh -o install -p grafana_plugins
    

    При установке плагинов нужно внести redsoft-rdbmonitor-app и redsoft-reddatabase-datasource в список доверенных, разрешив редактировать файл /etc/grafana/grafana.ini.

  4. Установите Loki:

    sudo ./install.sh -o install -p loki
    
  5. Настройте РБДМонитор по инструкции Настройка РБДМонитор.

2.2. Установка и настройка на Windows

РБДМонитор состоит из клиентской и серверной части. Клиент необходимо установить на одну машину с наблюдаемой СУБД - наблюдаемый сервер. Сервер можно установить, как на одну машину с клиентом, так и на отдельную - сервер мониторинга.

_images/scheme.png

Рис. 2.1 Схема взаимодействия компонентов РБДМонитора

Состав клиентской части:

  • Агент мониторинга - порт 3051 по умолчанию;

  • Promtail.

Состав серверной части:

  • Grafana - порт 3000 по умолчанию;

  • Prometheus - порт 9090 по умолчанию;

  • Loki - порт 3100 по умолчанию;

  • СУБД с базой данных пользовательских запросов - порт 3050 по умолчанию.

2.2.1. Установка серверной части

  1. Скачайте с официального сайта zip-архив РБДМонитор.

  2. Распакуйте скачанный архив в любой каталог.

  3. Установите СУБД для серверной части: РЕД Базу Данных, следуя инструкции в Руководстве администратора или Firebird.

  4. В loki.yml, расположенном по пути <каталог установки на сервере мониторинга>\RdbMonitor\external\loki, укажите значения следующих полей:

    path_prefix: "D:\\RdbMonitor\\external\\loki" # Путь до папки установки РБДМонитор на сервере мониторинга\\Папка Loki
    
    ...
    
    directory: "D:\\RdbMonitor\\external\\loki" # Путь до папки установки РБДМонитор на сервере мониторинга\\Папка Loki
    
  5. Распакуйте архив loki-windows-amd64.exe.zip в текущую папку.

  6. Установите Prometheus от имени администратора:

    Invoke-WebRequest -Uri "https://github.com/prometheus/prometheus/releases/download/v3.11.1/prometheus-3.11.1.windows-amd64.tar.gz" -OutFile "D:\prometheus.tar.gz"
    

    Распакуйте скачанный архив в любую папку.

  7. В корне установки 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'] #здесь ничего менять не нужно
    
  8. Установите Grafana от имени администратора:

    curl.exe -o "D:\grafana.tar.gz" https://mirrors.huaweicloud.com/grafana/12.4.2/grafana-enterprise_12.4.2_23531306697_windows_amd64.tar.gz
    

    Распакуйте скачанный архив в любую папку.

  9. В корне распакованного архива grafana создайте папку \data\plugins\. Переместите в неё плагины: каталоги redsoft-rdbconnector-datasource и redsoft-rdbmonitor-ap из \RdbMonitor\plugins\grafana\.

  10. В файле defaults.ini, расположенном по пути \grafana-12.4.2\conf\defaults.ini, укажите:

    [plugins]
    allow_loading_unsigned_plugins = redsoft-rdbconnector-datasource,redsoft-rdbmonitor-app
    
  11. Откройте create_tables.sql, расположенный в \RdbMonitor\scripts\create_tables.sql. В первой строке укажите путь, где будет создана БД-справочник.

    CREATE DATABASE 'localhost:D:\путь\до\statements.fdb';
    

    Выполните скрипт create_tables.sql:

    isql.exe -user sysdba -password masterkey -i \RdbMonitor\scripts\create_tables.sql
    

    Установите асинхронный режим записи на диск:

    gfix.exe -user sysdba -password masterkey -write async <база данных statements.fdb>
    
  12. Запустите Loki от имени администратора:

    Start-Process -FilePath "D:\loki\loki-windows-amd64.exe" -ArgumentList '--config.file="D:\RdbMonitor\external\loki\loki.yml"' -WindowStyle Hidden
    
  13. Запустите Prometheus от имени администратора:

    Start-Process -FilePath "D:\prometheus-3.11.1.windows-amd64\prometheus.exe" -ArgumentList '--config.file=D:\prometheus-3.11.1.windows-amd64\prometheus.yml' -WindowStyle Hidden
    
  14. Запустите Grafana от имени администратора:

    Start-Process -FilePath "D:\grafana-12.4.2\bin\grafana.exe" -ArgumentList '-server' -WindowStyle Hidden
    

2.2.2. Установка клиентской части

  1. В firebird.conf укажите TracePlugin = messagetrace.

  2. В plugins.conf укажите следующие настройки:

    Примечание

    Для РЕД Базы Данных нужно указывать библиотеку messagetrace. Для Firebird - messagetrace_fb.

    Plugin = messagetrace {
       Module = <путь к корневому каталогу РБДМонитор>\RdbMonitor\plugins\messagetrace\messagetrace[_fb]
       Required = true
       Config = monitor_config
    }
    
    Config = monitor_config {
       ConfigFile = <путь к корневому каталогу РБДМонитор>\RdbMonitor\exporter\exporter_conf.json
    }
    
  3. Перезапустите наблюдаемую СУБД.

  4. Скачайте с официального сайта zip-архив РБДМонитор.

  5. Распакуйте скачанный архив в любой каталог.

  6. Для РЕД Базы Данных версии 5.2.0 и ниже и любой версии Firebird скачайте и установите C++ Redistributable последней версии.

  7. В файле promtail.yml, расположенном по пути \RdbMonitor\external\promtail\, укажите следующие настройки:

    positions:
      filename: "D:\\RdbMonitor\\external\\promtail" # Путь до папки установки РБДМонитор на наблюдаемом сервере\\папка promtail
    
    clients:
      - url: http://localhost:3100/loki/api/v1/push # IP-адрес сервера мониторинга вместо localhost
    
    ...
    static_configs:
    - targets:
      - localhost
      labels:
          job: RedDatabase
          host: 127.0.0.1 # IP-адрес наблюдаемого сервера
          __path__: "C:\\Program Files\\RedDatabase\\firebird.log" # Путь до лог-файла СУБД на наблюдаемом сервере
    
  8. Распакуйте архив promtail-windows-amd64.exe.zip в текущую папку. Запустите Promtail от имени администратора:

    Start-Process -FilePath "D:\RdbMonitor\external\promtail\promtail-windows-amd64.exe" -ArgumentList '--config.file="D:\RdbMonitor\external\promtail\promtail.yaml"' -WindowStyle Hidden
    
  9. В exporter_conf.json, расположенном в \RdbMonitor\exporter\exporter_conf.json, скорректируйте следующие настройки:

    "promtail": {
        "host": "127.0.0.1" # Адрес наблюдаемого сервера, должен совпадать со значением targets в prometheus.yaml
    },
    
    ...
    
    "dictserver": {
        "host": "127.0.0.1", #адрес сервера мониторинга
        "port": 3050,
        "database": "D:\\db\\statements.fdb", # Путь к statements.fdb на сервере мониторинга
    ...
    
    "RedDatabase": {
        "host": "127.0.0.1", # Не нужно менять
        "user": "SYSDBA",
        "password": "masterkey",
        "folder_path": "C:\\Program Files\\RedDatabase" # Путь к каталогу установки наблюдаемой СУБД
    },
    "databases": {
        "employee_db": {
            "alias": "employee",
    ...
    
  10. Разместите файл лицензии по пути \RDBMonitor\exporter. Один файл лицензии предназначен для одного Агента мониторинга. Использовать одну лицензию для нескольких наблюдаемых сервером нельзя.

  11. Установите и запустите службу Агента мониторинга от имени администратора:

    \RdbMonitor\exporter_service\ExporterService.exe install
    \RdbMonitor\exporter_service\ExporterService.exe start
    

    После этого будет запущена служба RDBMonitor.

2.2.3. Просмотр метрик в Grafana

Откройте в браузере страницу запущенной Grafana (по умолчанию http://localhost:3000/). По умолчанию для входа используется логин admin и пароль admin.

Укажите источники данных:

  1. Во вкладке Connections \(\to\) Data sources нажмите на кнопку Add data source. В открывшемся окне из списка источников выберите Prometheus. Укажите URL-адрес для доступа к Prometheus (по умолчанию http://localhost:9090/). Необходимо настроить интервал сбора метрик. Для параметра Scrape interval укажите число, совпадающее со значением параметра scrape_interval в конфигурационном файле Prometheus (prometheus.yml). Нажмите на кнопку Save & test.

  2. Укажите источником базу данных, в которой хранятся пользовательские запросы. Для этого во вкладке Data sources нажмите на кнопку Add new data source. В открывшемся окне из списка источников выберите РЕД База Данных. Заполните поля для соединения с базой данных и нажмите на кнопку Save & test.

  3. Во вкладке Data sources нажмите на кнопку Add data source. В открывшемся окне из списка источников выберите Loki, для сбора логов операционной системы и СУБД. Укажите URL-адрес для доступа к Loki (по умолчанию http://127.0.0.1:3100) и нажмите на кнопку Save & test.

Для отображения собранной информации необходимо включить плагин РБДМонитор:

  1. Выберите Home \(\to\) Administration \(\to\) Plugins;

  2. В открывшейся вкладке перейдите в Type \(\to\) Applications \(\to\) РБДМонитор;

  3. Нажмите на кнопку Enable.

После этого в меню Apps будет добавлен плагин РБДМонитор.

Необходимо указать добавленные источники данных в настройках плагина РБДМонитор:

_images/plugin_conf.png

Рис. 2.2 Настройка плагина

После нажатия на РБДМонитор в списке приложений (Apps) откроется Обзорная страница.