Перейти к содержимому

Миграция с версии 2 на версию 3

Переход с версии 2 на версию 3 является подготовительным этапом для запуска новой системы работы с конфигурациями в GMONIT.

  1. Cоздать в Postgres базу данных datomic
  2. Cоздать в ней пользователя datomic и владельца БД datomic или назначить права существующему пользователю PG для Grafana для доступа к БД datomic.
  3. В базе данных datomic создать таблицу datomic_kvs
CREATE TABLE datomic_kvs
(
id text NOT NULL,
rev integer,
map text,
val bytea,
CONSTRAINT pk_id PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
  1. Добавить сервис transactor в docker-compose.yml или запустить его в виде отдельного docker-контейнера
transactor:
restart: unless-stopped
image: cr.yandex/crpih7d63vpcj5dfn8jj/transactor:1.0.6735
environment:
# `collector` должен иметь доступ по этому имени к `transactor`.
# Если `collector` и `transactor` развернуты не в одном docker-compose,
# то укажите доменное имя или ip адрес.
# Раскомментируйте секцию `ports` чтобы пробросить порт на хост.
HOST: transactor
PORT: 4334
# Замените $PG_HOST, $PG_USER, $PG_PASS на реальные значения сервера с БД `datomic`
# с шага №1.
SQL_URL: "jdbc:postgresql://$PG_HOST:5432/datomic?user=$PG_USER&password=$PG_PASS"
NEW_RELIC_LICENSE_KEY: 0123456789-123456789-123456789-123456789
# Замените на адрес коллектора
NEW_RELIC_HOST: ${COLLECTOR_DOMAIN}
# Замените на путь до самоподписанного сертификата
# или закомментируйте, если используете Let's encrypt или аналоги.
NEW_RELIC_CA_BUNDLE_PATH: ${CA_FILE}
NEW_RELIC_LOG: stdout
NEW_RELIC_APP_NAME: "[GMONIT] Transactor"
logging:
driver: json-file
options:
max-size: 100m
max-file: 5
healthcheck:
test: curl -f localhost:9999/health
interval: 10s
timeout: 5s
retries: 10
volumes:
- ./ssl:/gmonit/ssl
# ports:
# - "4334:4334"
depends_on:
postgres:
condition: service_healthy
  1. Заменить образ для grafana
image: cr.yandex/crpih7d63vpcj5dfn8jj/grafana:v3
  1. Заменить образ для collector
image: cr.yandex/crpih7d63vpcj5dfn8jj/collector:v3
  1. Если GMONIT развернут через docker-compose.yml, добавить сервису collector зависимость от сервиса transactor
collector:
depends_on:
# ...
transactor:
condition: service_healthy
  1. Установить коллектору переменную окружения DATOMIC_URI
# Замените $PG_HOST, $PG_USER, $PG_PASS на реальные значения сервера с БД `datomic`
# с шага №1.
DATOMIC_URI: "datomic:sql://base?jdbc:postgresql://$PG_HOST:5432/datomic?user=$PG_USER&password=$PG_USER"
  1. Увеличить на 1 значение переменой коллектора AGENT_ID_VERSION. Если переменная не задана, то установить AGENT_ID_VERSION: 1.