Руководство по установке#
В руководстве приведены инструкции по установке компонента Indicator (INDA) продукта Platform V Monitor (OPM)
Термины и определения#
С основными терминами и определениями можно ознакомиться в документации продукта Platform V Monitor (OPM).
Термин/определение |
Определение |
|---|---|
DDL |
Data Definition Language — команды языка SQL для создания и изменения объектов БД. |
LiquiBase |
JDBC это библиотека Java для работы с базами данных, включая PostgreSQL и Pangolin. |
SSL |
Secure Sockets Layer — уровень защищенных сокетов. |
Secret |
Сущность контейнерной инфраструктуры для хранения защищенных данных, например: логинов и сертификатов |
SAN |
Расширение сертификата Subject Alternative Name (SAN). В этом расширении позволяет использовать несколько дополнительных имен для сертификата. |
Системные требования#
Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются клиентом при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.
Системное программное обеспечение#
Категория ПО |
Обязательность установки |
Наименование ПО |
Версия |
Продукт, функциональная совместимость с которым подтверждена |
Назначение категории ПО |
|---|---|---|---|---|---|
Операционная система |
Да |
ОС Альт 8 СП |
8.2 и выше |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
Red Hat Enterprise Linux |
7.9 / 3.10.0-1160.25.1.el7.x86_64 и выше |
Опционально |
|||
Среда контейнеризации |
Да |
1.21.0 и выше |
Рекомендовано |
Платформа контейнеризации для запуска компонентов сервиса |
|
Red Hat OpenShift |
1.19.0 + d856161 и выше |
Опционально |
|||
Средство контейнеризации |
Да |
Рекомендовано |
Инструмент для автоматизации работы с контейнерами |
||
Инструмент сборки, тестирования, развертывания контейнеризированных приложений |
Да |
2.319.3 и выше |
Рекомендовано |
Сервер автоматизации, используемый для внедрения непрерывной интеграции и непрерывной доставки (CI/CD) для проектов программного обеспечения |
|
Java-машина |
Да |
1.8.0_292 и выше |
Рекомендовано |
Окружение для работы модулей компонента |
|
Система управления базами данных (СУБД) |
Да |
PostgreSQL SE version: 04.005.00 и выше |
Рекомендовано. Правообладателем АО «СберТех» также рекомендована СУБД, основанная на PostgreSQL, – Platform V Pangolin SE, см. раздел «Платформенные зависимости» |
ПО, взаимодействующее с конечными пользователями, приложениями и базой данных для сбора и анализа данных |
|
Nginx |
1.20.1 и выше |
Рекомендовано |
Сервер для балансировки внешних и внутренних запросов между сервисами |
||
Браузер |
Да |
Яндекс |
19.10 и выше |
Рекомендовано |
Браузер для входа в UI |
Google Chrome |
96.0 и выше |
Опционально |
|||
Брокер сообщений |
Да |
2.5.2 и выше |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован брокер сообщений, основанный на Kafka, – Platform V Corax, см. раздел «Платформенные зависимости» |
Событийный обмен сообщениями между модулями компонента |
|
Инструмент управления проектом |
Да |
3.8.3 и выше |
Рекомендовано |
Фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM |
|
Сервис централизованного хранения репозиториев артефактов (хранилище артефактов) |
Да |
3.37.0-01 и выше |
Рекомендовано |
Интегрированная платформа для проксирования, хранения и управления зависимостями Java (Maven), образами, а также распространения ПО |
|
Сервис централизованного хранения репозиториев исходного кода |
Да |
12.5 и выше |
Рекомендовано |
Хранение конфигураций при автоматизированной установке |
|
Bitbucket |
7.8.1 и выше |
Опционально |
|||
Сервис интеграции и оркестрации микросервисов в облаке |
Да |
1.12 и выше |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован сервис интеграции и оркестрации микросервисов в облаке, основанный на Istio, – Platform V Synapse Service Mesh, см. раздел «Платформенные зависимости» |
Сервис интеграции микросервисов в облаке |
|
Да |
LDAP (Lightweight Directory Access Protocol |
3 и выше |
Опционально |
Открытый и кроссплатформенный протокол, используемый для аутентификации служб каталогов |
Платформенные зависимости#
Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:
(перечень продуктов, версия, обязательность установки и аналог других производителей – приведены условно, при разработке документации их нужно актуализировать под свой компонент):
Наименование продукта |
Код |
Версия продукта |
Код и наименование компонента |
Обязательность установки (да/нет) |
Описание |
Аналог других производителей |
|---|---|---|---|---|---|---|
Platform V Audit SE |
AUD |
1.1 |
AUDT Аудит |
Нет |
Сервис для аудирования событий |
Сервис успешно прошел испытания и подтвердил свою работоспособность с компонентом AUDT. С аналогами других производителей не тестировался |
Platform V IAM SE |
IAM |
1.2 |
AUTH IAM Proxy |
Да |
Сервис выполняет функции аутентификации/авторизации запросов и реализует Policy Enforcement Point (PEP). Взаимодействует с KCSE/AUTZ или другими провайдерами аутентификации/авторизации |
Любой OIDC провайдер |
Platform V Monitor |
OPM |
1.2 |
LOGA Журналирование |
Нет |
Сервис для хранения лог-файлов |
Любой сервис сбора записей о событиях, совместимый с fluent-bit, например: Elasticsearch, InfluxDB |
MONA Объединенный мониторинг Unimon |
Нет |
Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения |
Prometheus 2.21.0 |
|||
LGDB Abyss |
Да |
Druid 1.3 |
||||
COTE Collector |
Да |
Prometheus 2.21.0 |
||||
Platform V Pangolin SE |
PSQ |
4.6.0 |
PSQL Platform V Pangolin |
Да |
Система управления базами данных, основанная на PostgreSQL |
PostgreSQL 11 |
Platform V DevOps Tools |
DOT |
1.2 |
CDJE Deploy tools |
Нет |
Сервис для развертывания и обновления компонентов Платформы и приложений потребителей, для настройки и обслуживания инфраструктуры Платформы |
Ручное развертывание |
Platform V Synapse Service Mesh |
SSM |
1.12 |
POLM Управление политиками |
Нет |
Панель управления с открытым исходным кодом, служащая для взаимодействия, мониторинга и обеспечения безопасности контейнеров в среде контейнеризации Kubernetes |
Istio control plane 1.12 |
IGEG Граничный прокси |
Нет |
Сервис для обеспечения управляемого вызова интеграционных сервисов прикладной части |
Istio proxy 1.12 |
|||
Platform V Backend |
#BD |
4.3.0 |
OTTS One-Time Password (OTP) / OTT |
Нет |
Сервис для аутентификации и авторизации межсервисных взаимодействий |
<Наименование и номер версии ПО-аналога стороннего производителя> |
Platform V Corax |
KFK |
5.1 |
KFKA Kafka Sber Edition |
Нет |
Программный брокер сообщений, представляющий собой распределенную, отказоустойчивую, реплицированную и легко масштабируемую систему передачи сообщений, рассчитанную на высокую пропускную способность |
Kafka 2.7.0 |
Пре реквизиты установки#
При использовании Jenkins для установки pipeline (опциональный способ), дополнительно:
Должен быть доступ в Jenkins и созданы необходимые сущности в нем;
Все узлы сервиса Platform V Monitor Indicator должны быть доступны для вызова со стороны Jenkins;
Должен быть доступ в репозиторий и создан в нем проект для помещения ролей и inventory.
Инструмент установки#
Установка дистрибутива производится с использованием одного из вариантов:
Ручная установка без использования скриптов развертывания
Ручная установка с использованием инструмента установки Platform V Monitor, расположенного в дистрибутиве по пути package/bh/installer/deploy-pvm.zip (инструкция по его использованию находится внутри архива
Автоматическая установка (опционально) компонентом Deploy tools в составе Platform V DevOps Tools версии не ниже release/D-01.038.1031-743
Среда контейнеризации#
Для установки компонентов сервиса в рекомендуемой конфигурации требуется наличие двух (в раздельных георезервированных ЦОД) собственных namespace в среде контейнеризации Kubernetes или OpenShift (опционально) с одинаковыми квотами и следующими пререквизитами:
Подключен Platform V Synapse Service Mesh (Istio)
Заполнен файл multiClusters.json в common репозитории с указанием обоих кластеров, для каждого из которых обязательно заданы (названия одинаковы для обеих сред контейнеризации):
openshiftCluster - адрес для API запросов к кластеру
openshiftProjectName - название namespace
openshiftSATokenCred - имя credential с типом Secret Text, в котором сохранен токен Service Account для данного namespace с ролью edit
openshiftAppsDomain - домен для Ingress (в формате apps…домен.ru)
Создан секрет с типом "Image Pull Secret", содержащий логин и пароль для загрузки образов из registry.
Аппаратные требования#
В качестве базовой единицы КТС будет использоваться вариант min2_CPU/2GB_RAM.
CPU (core) |
RAM, Gb |
HDD, Gb |
IOPS |
Прочие |
|---|---|---|---|---|
2 |
2 |
30 |
> 5 |
Предустановленный |
Состав дистрибутива#
Компонент дистрибутива |
Описание |
|---|---|
package/conf/k8s/ |
манифесты Kubernetes и параметры конфигурации с рекомендуемыми значениями |
package/conf/parameters/** |
файлы с параметрами конфигурации с рекомендуемыми значениями |
package/conf/openshift/ |
манифесты Openshift и параметры конфигурации с рекомендуемыми значениями |
package/conf/openshift/indicator/** |
файлы для развертывания |
documentation/** |
файлы с документацией |
Здесь и далее поддерживаемой системой приложений-контейнеров Kubernates или OSE, в именах и параметрах системы могут встречаться названия систем контейнеризации.
Установка#
Настройка программного и аппаратного обеспечения среды функционирования#
В качестве платформа виртуализации используется среды контейнеризации Kubernetes или Red Hat OpenShift 4+
Необходимо подготовить пространство (проект) в платформе контейнеризации в соответствии с минимальными требованиями по квотам сервиса. Проект платформы виртуализации должен быть подключен к service mesh - Istio Прописан global.ufs.synapse.controlPlane.project=(проект) в common репозитории
Настройки интеграции для компонент Platform V Synapse Service Mesh и Istio proxy (IGEG) описаны в файле indicator.istio.all.conf
Ручная установка#
Ручная установка с помощью инструмента установки#
Настроить инструмент установки Platform V Monitor в соответствии с его инструкцией, а затем выполнить в консоли следующие команды:
cd ansible; ./deploy-<id_дистрибутива>.sh
Ручная установка без использования инструмента#
Для установки сервиса Platform V Monitor Indicator вручную необходимо:
Получить дистрибутив сервиса Platform V Monitor Indicator;
Заказать схему БД Postgres или СУБД Platform V Pangolin для Platform V Monitor Indicator;
Создать секреты:
Для файлов вида *-certs.yaml, необходимо вручную создать yaml;
Во всех файлах .yaml расположенных в директориях заполнить значения переменных.
Подготовить ConfigMaps, создать файлы, которые необходимо заполнить нужными значениями параметров:
Внести изменения в файл indicator-logger.conf и indicator.istio.all.conf
Для настройки интеграции с Platform V Monitor Журналирование необходимо внести изменения в файл indicator-logger.conf.r4.yaml.
Для настройки интеграции внешних API. внести изменения в файл indicator.istio.all.conf.r4.yaml.
Если namespace подключен к Istio и требуется выводить трафик через Deployment Egress необходимо:
создать секреты:
istio-egressgateway-ca-certs secret-istio-egressgateway-ca-certs.yaml
istio-egressgateway-certs secret-istio-egressgateway-certs.yaml
заполнить значения переменных для всех файлов .yaml из директории istio.
В случае если, namespace подключен к Istio и НЕ требуется выводить трафик через Deployment Egress необходимо заполнить только файлы:
egress-se-http-logger serviceentry-egressgateway-logger-monitoring-r3.yaml
Далее необходимо установить все заполненные файлы .yaml в платформе приложений-контейнеров с помощью команды.
Kubernetes
kubectl apply -f <имя_файла.yaml>
Для OpenShift
oc apply -f <имя_файла.yaml>
Установка с использованием DevOps Tools#
Подготовить pipeline для установки (Выполнить миграцию компонент JOB или сделать свой pipeline).
Подготовить сертификаты и secrets. Для этого необходимо создать JKS файл indicator.jks (должен содержать корневой сертификат, сертификат-сервер, ключ), затем разместить его в папку ** ansible/files/ssl ** в common репозитории.
Для правильной настройки нужно сразу проставить сертификатам alias: root, cert, key.
Файл необходим для работы АС с БД SMTP LDAP Kafka и так далее c Вашими сертификатами. При использовании SSL подключения к базе данных, на сервере БД должен использоваться сертификат с Subject Alternate Name (SAN).
Также в common репозитории добавить параметры в файл ssl.conf имя файла пароль(ссылается на параметр из passwords.conf).
Пример заполнения файл ssl.conf переменными для создания Secret из JKS файла.
ssl.ose.certs.jks.file=ansible/files/ssl/indicator.jks ssl.ose.certs.jks.pass=ssl.inda.keyStore.pass
ssl.ose.jks.cacert.alias=root ssl.ose.jks.cert.alias=cert ssl.ose.jks.key.alias=key
ssl.ose.ott.module.file=ansible/files/ssl/indicator.p12
ssl.ose.ott.trust.file=ansible/files/ssl/sigma_ott_trust.p12
в переменной "ssl.ose.jks.cacert.alias" добавлена возможность перечисления alias сертификатов, которые будут загружены в truststore istio.
Также для использования сертификатов межсервисного взаимодействия через ISTIO необходимо проверить настройки данного пункта:
##########################
# Параметры istio INDA
##########################
ssl.ose.istio.keyStore.ingress.CertAlias=istio
ssl.ose.istio.keyStore.ingress.KeyStoreFromFile=ansible/files/ssl/istio-nightly.jks
ssl.ose.istio.keyStore.egress.CertAlias=istio
ssl.ose.istio.keyStore.egress.KeyStoreFromFile=ansible/files/ssl/istio-nightly.jks
ssl.ose.istio.keyStore.ingress.password=ssl.inda.keyStore.pass
ssl.ose.istio.keyStore.egress.password=ssl.inda.keyStore.pass
ssl.ose.istio.keyStore.RootCertAlias=root
# k8s/base/secrets
ssl.ose.inda.certs.jks.file=ansible/files/ssl/istio-nightly.jks
ssl.ose.inda.certs.jks.pass=ssl.inda.keyStore.pass
ssl.ose.inda.jks.cacert.alias=root
ssl.ose.inda.jks.cert.alias=istio
ssl.ose.inda.jks.key.alias=istio
# k8s/base/istio/secrets (egress)
ssl.ose.inda.egress.certs.jks.file=ansible/files/ssl/istio-nightly.jks
ssl.ose.inda.egress.certs.jks.pass=ssl.inda.keyStore.pass
ssl.ose.inda.egress.jks.cacert.alias=root
ssl.ose.inda.egress.jks.cert.alias=istio
ssl.ose.inda.egress.jks.key.alias=istio
# k8s/base/istio/secrets (ingress)
ssl.ose.inda.ingress.certs.jks.file=ansible/files/ssl/istio-nightly.jks
ssl.ose.inda.ingress.certs.jks.pass=ssl.inda.keyStore.pass
ssl.ose.inda.ingress.jks.cacert.alias=root
ssl.ose.inda.ingress.jks.cert.alias=istio
ssl.ose.inda.ingress.jks.key.alias=istio
Если настройки Istio не идут в составе дистрибутива тогда необходимо перенастроить файл с манифестами Openshift.
global.poddisruptionbudget.minAvailable=50% global.poddisruptionbudget.maxUnavailable=50%
global.ufs.synapse.envoy.image=путь_registry
registry=ваш_registry.space registry_path_inda=/folder_dev/ci90000061_inda_dev
registry_path_loga=/folder/ci90000078_loga registry_path_aiom=/folder/ci90000102_aiom_dev
Произвести настройку secrets в файле _passwords.conf на основе параметров которые есть distrib.yml, файл находится в составе дистрибутива.
Пример заполнения файла _passwords.conf.
Имя параметра |
Примеры значений |
|---|---|
ssl.inda.keyStore.pass |
PAssWord!1 |
jdbc.INDICATOR.user |
PAssWord!2 |
jdbc.INDICATOR.password |
PAssWord!3 |
GRAFANA_SMTP_PASS |
PAssWord!4 |
GRAFANA_LDAP_BIND_PASSWORD |
PAssWord!5 |
GRAFANA_DATASOURCE_ABYSS_PASSWORD |
PAssWord!6 |
GRAFANA_ADMIN_USER |
PAssWord!7 |
GRAFANA_ADMIN_PASS |
PAssWord!8 |
GF_SECURITY_SECRET_KEY |
PAssWord!9 |
OTT_TRUST_STORE_PWD |
PAssWord!9 |
OTT_CERTSTORE_PWD |
PAssWord!9 |
OTT_CERTSTORE_PRIVATE_KEY_PWD |
PAssWord!9 |
Здесь и далее в именах и параметрах системы могут встречаться названия системы jdbc. JDBC это библиотека Java для работы с базами данных, включая PostgreSQL и Pangolin
Где, GF_SECURITY_SECRET_KEY – это ключ, которым будут шифроваться данные пользовательских конфигураций в БД.
Если все заполнено правильно, тогда при Deploy создастся secret в платформе приложений-контейнеров с сертификатами:
TEMPLATE
{% if aiom.ose.secrets.export.certificates.from.jks == true %}
apiVersion: v1
kind: Secret
metadata:
name: indicator.certs.${distrib.release.version}
type: Opaque
data:
cacert.pem: >-
{{ lookup('jks', configCommon.currentName + '/' + (certsFileJks | default(vars['ssl.ose.certs.jks.file'])), password_variable_name=caCertFilePass | default(vars['ssl.ose.certs.jks.pass']), alias=rootCertAlias | default(vars['ssl.ose.jks.cacert.alias']), type='certificate') }}
cert.pem: >-
{{ lookup('jks', configCommon.currentName + '/' + (certsFileJks | default(vars['ssl.ose.certs.jks.file'])), password_variable_name=caCertFilePass | default(vars['ssl.ose.certs.jks.pass']), alias=CertAlias | default(vars['ssl.ose.jks.cert.alias']), type='certificate') }}
cert-key.pem: >-
{{ lookup('jks', configCommon.currentName + '/' + (certsFileJks | default(vars['ssl.ose.certs.jks.file'])), password_variable_name=caCertFilePass | default(vars['ssl.ose.certs.jks.pass']), alias=keyAlias | default(vars['ssl.ose.jks.key.alias']), type='key') }}
{% endif %}
Пример готового Secret в платформе приложений-контейнеров:
apiVersion: v1
kind: Secret
metadata:
name: indicator.certs.pvm
type: Opaque
data:
cacert.pem: >-
base64_encoded_text
cert.pem: >-
base64_encoded_text
cert-key.pem: >-
base64_encoded_text
2.Внести изменения в файл indicator-logger.conf и indicator.istio.all.conf.
Для настройки интеграции с Platform V Monitor Журналирование необходимо внести изменения в файл indicator-logger.conf в пункт:
#Параметры брокеров и топика куда отбрасывается лог
fluent-bit.ose.configmaps.fluent-bit.data.brokers=host
fluent-bit.ose.configmaps.fluent-bit.data.topics=IDR.Indicator
fluent-bit.ose.configmaps.fluent-bit.data.security.protocol=SSL
Для настройки интеграции внешних API. внести изменения в файл indicator.istio.all.conf в пунктах:
#параметры egress для взаимодействия APP UI — c внешним бэкендом
indicator.ose.istio.egress.common.internal-port=11085
#unimon-backend
indicator.ose.istio.egress.unimon-backend.enabled=true
indicator.ose.istio.egress.serviceentry.unimon-backend.hosts=host
indicator.ose.istio.egress.unimon-backend.port=443
indicator.ose.istio.egress.serviceentry.unimon-backend.protocol=HTTPS
#almgr-backend
indicator.ose.istio.egress.almgr-backend.enabled=true
indicator.ose.istio.egress.serviceentry.almgr-backend.hosts=host
indicator.ose.istio.egress.almgr-backend.port=443
indicator.ose.istio.egress.serviceentry.almgr-backend.protocol=HTTPS
#aiom-backend
indicator.ose.istio.egress.aiom-backend.enabled=true
indicator.ose.istio.egress.serviceentry.aiom-backend.hosts=host
indicator.ose.istio.egress.aiom-backend.port=443
indicator.ose.istio.egress.serviceentry.aiom-backend.protocol=HTTPS
С полным описанием настроек можно ознакомиться в файле.
Выполнить настройки external.
#параметры egress для взаимодействия APP UI — c внешним бэкендом
||||
|#unimon.external
|indicator.ose.istio.egress.unimon.external.enabled|false или true||
|indicator.ose.istio.egress.serviceentry.unimon.external.hosts|host||
|indicator.ose.istio.egress.unimon.external.port|443||
|indicator.ose.istio.egress.redirect.https.unimon|2029||
|indicator.ose.istio.egress.serviceentry.unimon.external.protocol|HTTPS||
||||
|#almgr.external
|indicator.ose.istio.egress.almgr.external.enabled|false или true||
|indicator.ose.istio.egress.serviceentry.almgr.external.hosts|host||
|indicator.ose.istio.egress.almgr.external.port|443||
|indicator.ose.istio.egress.redirect.https.almgr|2030||
|indicator.ose.istio.egress.serviceentry.almgr.external.protocol|HTTPS||
||||
|#aiom.external||
|indicator.ose.istio.egress.aiom.external.enabled|false или true||
|indicator.ose.istio.egress.serviceentry.aiom.external.hosts|host||
|indicator.ose.istio.egress.aiom.external.port|443||
|indicator.ose.istio.egress.redirect.https.aiom|2031||
|indicator.ose.istio.egress.serviceentry.aiom.external.protocol|HTTPS||
Если внешние или смежные Platform V Monitor, сервис (Abyss) будут за балансировщиком в таком случае можно в конфигурации Indicator отключить избыточные конфигурации «…. Enabled=true» потому что достаточно одного созданного туннеля до HOST для любых взаимодействий с этим HOST.
Для настройки георезервирования См. подробнее раздел Настройка георезервирования в Руководстве по системному администрированию
3.Настроить конфигурационный файл /conf/config/parameters/ необходимо указать значения в indicator.conf для переменных:
Имя параметра |
Примеры значений |
Описание |
|---|---|---|
# Параметры для INDICATOR |
||
# Изменить имя Deployment,Service,HPA,Route - запрещено использовать спецсимволы и "_" валидный пример new-name, если это не нужно использовать в значение ${distrib.release.version} |
||
CHANGE_NAME_DEPLOYMENT |
${distrib.release.version} |
|
#параметры server (для настройки IAM Proxy) |
||
GRAFANA_SERVER_DOMAIN |
${global.platform.iam.core.host} |
Глобальная переменная. Этот параметр используется только как часть параметра rooturl. Для настройки proxy указывается domain proxy (Ваш_url.Вашдомен.ru) |
GRAFANA_SERVER_ROOT_URL |
https://%(domain)s/indicator |
Это полный URL-адрес, используемый для доступа к indicator из веб-браузера. Для настройки proxy указывается ссылка на proxy (https://%(domain)s/indicator/) |
GRAFANA_SERVER_SUB_PATH |
false или true |
true если в root_url указан sub path (в примере выше /indicator/) |
# Возможны значения "debug", "info", "warn", "error", "critical" |
||
GRAFANA_LOGGING_LEVEL |
info |
Уровень логирования |
#Параметры для подключения к БД (Grafana) |
||
GRAFANA_DB_TYPE |
PostgreSQL или sqlite3 |
Тип базы данных |
# Используем внутренний порт для egress из файла indicator.istio.all.conf - соответсвующий первому хосту |
||
GRAFANA_DB_HOST |
${EFS_PSTGR_DB_HOST}:${EFS_PSTGR_DB_PORT} |
Глобальная переменная. IP и port подключения к БД. Если если выбран тип базы sqlite3, то параметр принимает значение например 100.0.0.0:3306 |
GRAFANA_DB_NAME |
${EFS_PSTGR_DB_NAME} |
Глобальная переменная.Имя БД |
#При GRAFANA_DB_SSL_MODE=disable параметры: ?prepareThreshold=0&binary_parameters=yes, при GRAFANA_DB_SSL_MODE=verify-full параметр: ?binary_parameters=yes |
||
GRAFANA_DB_PARAMETERS |
?binary_parameters=yes |
|
# При GRAFANA_DB_SSL_MODE=verify-full не забываем перевести параметр в true (indicator.ose.deployment.spec.template.spec.containers.indicator.change.permission.for.key=true см.внизу файла) |
||
GRAFANA_DB_SSL_MODE |
verify-full |
Для Postgres, использовать или disable, или require ,или verify-full. При GRAFANA_DB_SSL_MODE=disable параметры: ?prepareThreshold=0&binary_parameters=yes, при GRAFANA_DB_SSL_MODE=verify-full параметр: ?binary_parameters=yes GRAFANA_DB_PARAMETERS=?binary_parameters=yes. При GRAFANA_DB_SSL_MODE=verify-full не забываем перевести параметр в true (indicator.ose.deployment.spec.template.spec.containers.indicator.change.permission.for.key=true см.внизу файла) |
INDICATOR_DB_SKIP_MIGRATIONS |
false или true |
|
GRAFANA_DB_CA_CERT_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem |
Глобальная переменная.Путь к используемому сертификату |
GRAFANA_DB_CLIENT_KEY_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
Глобальная переменная.Путь к ключу клиента |
GRAFANA_DB_CLIENT_CERT_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
Глобальная переменная. Путь к сертификату клиента |
GRAFANA_DB_SERVER_CERT_NAME |
Имя используемого сертификата |
|
#Проверяет соответствие установленной через liquibase версии БД |
||
INDICATOR_EXPECTED_LIQUIBASE_TAG |
v.4.1.0 |
|
INDICATOR_LIQUIBASE_TABLENAME |
liq_databasechangelog |
|
GRAFANA_SMTP_ENABLED |
false или true |
Включение функционала для отправки Email |
GRAFANA_SMTP_SKIP_VERIFY |
false или true |
Если GRAFANA_SMTP_SKIP_VERIFY=true то оставить пустым параметр -> GRAFANA_SMTP_CERT_FILE=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem. Если GRAFANA_SMTP_SKIP_VERIFY=true то оставить пустым параметр -> GRAFANA_SMTP_KEY_FILE=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
GRAFANA_SMTP_HOST |
hostname |
Сервер для подключения к SMTP |
GRAFANA_SMTP_USER |
username |
УЗ для подключения к SMTP |
GRAFANA_SMTP_FROM_ADDR |
address@email.com |
Адрес, используемый при отправке электронных писем |
GRAFANA_SMTP_FROM_NAME |
indicator |
Имя, которое будет использоваться при отправке электронных писем |
# ЕСЛИ GRAFANA_SMTP_SKIP_VERIFY=true то оставить пустым параметр -> GRAFANA_SMTP_CERT_FILE=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
||
# ЕСЛИ GRAFANA_SMTP_SKIP_VERIFY=true то оставить пустым параметр -> GRAFANA_SMTP_KEY_FILE=${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
||
GRAFANA_SMTP_CERT_FILE |
см. значение GRAFANA_SMTP_SKIP_VERIFY |
Глобальная переменная. Путь к файлу сертификата для SMTP |
GRAFANA_SMTP_KEY_FILE |
см. значение GRAFANA_SMTP_SKIP_VERIFY |
Глобальная переменная. Путь к файлу ключу для SMTP |
#Параметры security |
||
GRAFANA_SECURITY_COOKIE_SAMESITE |
lax или none |
Устанавливает атрибут SameSite cookie и запрещает браузеру отправлять этот файл cookie вместе с меж сайтовыми запросами. Для того чтобы ключ IAM Proxy передавался в iframe и Grafana его принимала требуется указать none |
GRAFANA_SECURITY_ALLOW_EMBEDDING |
false или true |
Если параметр принимает значение значение false, то HTTP-заголовок X-Frame-Options: deny будет установлен в HTTP-ответах Grafana. Чтобы Grafana можно было использовать через Iframe нужно указать true |
GRAFANA_SECURITY_CSP_ENABLED |
false или true |
Установите значение true, чтобы добавить заголовок Content-Security-Policy в запросы. CSP позволяет контролировать ресурсы, которые может загружать агент пользователя, и помогает предотвращать атаки XSS. |
# пример для iframe (перечислять url через пробел) GRAFANA_SECURITY_CSP_TEMPLATE=frame-src https://host1 https://host2:18082; |
||
GRAFANA_SECURITY_CSP_TEMPLATE |
frame-src https://host1 https://host2:18082; |
Шаблон Content-Security-Policy, используемый при добавлении заголовка Content-Security-Policy в ваши запросы. |
#Параметры для подключения к LDAP |
||
GRAFANA_LDAP_ENABLED |
false или true |
Включение аутентификации через LDAP |
GRAFANA_LDAP_HOST |
ИмяВашегоСервера.ru |
Сервер для подключения к LDAP |
GRAFANA_LDAP_PORT |
333 |
Порт для подключения к LDAP |
GRAFANA_LDAP_BIND_DN |
ИмяВашейУЗ@.ru |
УЗ для подключения |
GRAFANA_LDAP_SEARCH_BASE_DNS |
["DC=ru"] |
Массив базовых DNS для поиска |
GRAFANA_LDAP_ALLOW_SIGN_UP |
false или true |
|
GRAFANA_LDAP_USE_SSL |
false или true |
|
GRAFANA_LDAP_START_TLS |
false или true |
|
GRAFANA_LDAP_SSL_SKIP_VERIFY |
||
GRAFANA_LDAP_ROOT_CA_CERT |
CA cert. для LDAP |
|
GRAFANA_LDAP_CLIENT_CERT |
Сертификат клиента TLS для LDAP |
|
GRAFANA_LDAP_CLIENT_KEY |
Клиентский ключ TLS для LDAP |
|
#Параметры auth |
||
GRAFANA_AUTH_LOGIN_FORM |
false или true |
Установите значение true, чтобы отключить (скрыть) форму входа в систему |
GRAFANA_AUTH_SIGNOUT_MENU |
false или true |
Установите значение true, чтобы отключить ссылку выхода из бокового меню |
GRAFANA_AUTH_SIGNOUT_REDIRECT_URL |
${rest_entry_point}/openid-connect-auth/logout |
|
#Параметры auth.proxy |
||
GRAFANA_AUTHPROXY_ENABLED |
false или true |
Включение функционала auth proxy например для работы через Platform V IAM SE |
GRAFANA_AUTHPROXY_HEADER_NAME |
Auth-Svc-User |
Имя заголовка HTTP, которое будет содержать имя пользователя или адрес электронной почты |
GRAFANA_AUTHPROXY_HEADER_PROPERTY |
username |
Свойство заголовка HTTP |
GRAFANA_AUTHPROXY_AUTO_SIGN_UP |
false или true |
Установите значение "true", чтобы включить автоматическую регистрацию пользователей, которые не существуют в базе данных Grafana |
GRAFANA_AUTHPROXY_KEY_URL |
${global.platform.iam.jwks.core.url} |
Глобальная переменная. Url на jwks iam для получения публичного ключа. Работает только через HTTP |
GRAFANA_AUTHPROXY_CACHE_KEY |
false или true |
|
GRAFANA_AUTHPROXY_FIELD_NAME |
preferred_username |
Имя поля(в jwt токене) из которого берется имя пользователя. |
GRAFANA_AUTHPROXY_PROJECTID_FIELD_NAME |
Имя поля(в jwt токене) из которого берутся роли по projectId, по данному полю также составляется список projectId. |
|
GRAFANA_BASICAUTH_ENABLED |
||
# Default UI theme ("dark" or "light") |
||
GRAFANA_USER_DEFAULT_THEME |
light или dark |
Выбор темы по умолчанию |
#alerting |
||
GRAFANA_ALERTING_ENABLED |
false или true |
Включение/отключение алертинга |
#explore |
||
GRAFANA_EXPLORE_ENABLED |
false или true |
Включение/отключение explore |
#Параметры для подключения к Abyss (Datasource Indicator) |
||
GRAFANA_DATASOURCE_ABYSS_NAME |
Indicator-Abyss |
|
GRAFANA_DATASOURCE_ABYSS_URL |
https:// |
URL для подключения к Abyss API или URL Druid в зависимости от параметра WORK_MODE |
GRAFANA_DATASOURCE_ABYSS_WORK_MODE |
abyss |
Режим работы Datasource |
GRAFANA_DATASOURCE_ABYSS_PROJECT |
unimon |
Наименование проекта в Abyss |
GRAFANA_DATASOURCE_ABYSS_USER |
grafana-external |
Пользователь для подключения к Abyss |
GRAFANA_DATASOURCE_ABYSS_HEADERNAMESLIST |
Authorization |
Список заголовков |
GRAFANA_DATASOURCE_ABYSS_TLS_CA_ENABLED |
false или true |
Включите аутентификацию TLS с помощью CA cert |
GRAFANA_DATASOURCE_ABYSS_TLS_AUTH_ENABLED |
false или true |
Включите аутентификацию TLS с помощью клиентского сертификата |
GRAFANA_DATASOURCE_ABYSS_TLS_SERVER_NAME |
Необязательный. Управляет именем сервера, используемым для проверки общего имени сертификата/альтернативного имени субъекта. По умолчанию используется URL-адрес источника данных |
|
GRAFANA_DATASOURCE_ABYSS_SKIP_TLS_VERIFY |
false или true |
Определяет, проверяет ли клиент цепочку сертификатов сервера и имя хоста |
GRAFANA_DATASOURCE_ABYSS_TLS_CA_CERT |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem |
Корневой сертификат. Указывать если GRAFANA_DATASOURCE_ABYSS_TLS_CA_ENABLED=true |
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_CERT |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
Сертификат клиента TLS для исходящих запросов. Указывать если GRAFANA_DATASOURCE_ABYSS_TLS_AUTH_ENABLED=true |
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_KEY |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
Клиентский ключ TLS для исходящих запросов. Указывать если GRAFANA_DATASOURCE_ABYSS_TLS_AUTH_ENABLED=true |
#Имя таблицы в Abyss для работы дашбордов 3 поколения платформы |
||
GRAFANA_DRUID_TABLE_NAME |
custodian |
Имя таблицы для дашбордов (provisioning) 3 поколения |
#Имя таблицы в Abyss для работы дашбордов 4 поколения платформы |
||
GRAFANA_DRUID_TABLE_UNIMON_NAME |
unimon_task |
Имя таблицы для дашбордов (provisioning) 4 поколения |
#Имя таблицы в Abyss для работы дашбордов инфры |
||
GRAFANA_DRUID_TABLE_INFRA |
unimon_task |
Имя таблицы в Abyss для работы дашбордов инфры |
#Имя таблицы в Abyss для метрик самомониторинга Indicator |
||
GRAFANA_DRUID_TABLE_INDICATOR_STATS |
unimon_task |
Имя таблицы в Abyss для работы дашбордов инфры |
#Имя таблицы в Abyss для метрик Единого коллектора |
||
GRAFANA_DRUID_TABLE_COLLECTOR |
collector_table_name |
Имя таблицы в Abyss для работы дашбордов с метриками Osiris |
#Имя датасорса для дашборда Indicator Metrics для метрик самомониторинга Indicator |
||
GRAFANA_DRUID_TABLE_INDICATOR_STATS |
unimon_task |
Имя таблицы в Abyss для метрик самомониторинга Indicator |
#Имя датасорса для дашборда Indicator Metrics для метрик инфраструктурных |
||
GRAFANA_DASH_DATASOURCE_INDA_STATS |
Indicator-Abyss |
Имя таблицы в Abyss для метрик самомониторинга Indicator |
#Имя датасорса для дашборда Indicator Metrics для метрик инфраструктурных |
||
GRAFANA_DASH_DATASOURCE_IFRA |
Indicator-Abyss |
Имя датасорса для дашборда Indicator Metrics для инфраструктурных метрик |
#Имя датасорса для дашборда Единого коллектора |
||
GRAFANA_DASH_DATASOURCE_COLLECTOR |
Abyss telemetry-collector |
|
#Параметры логирования Grafana |
||
GF_PATHS_LOGS |
/fluent-bit/etc/logs/ |
|
#Ограничение в размере полученных данных датасорсом от поставщика данных |
||
GRAFANA_DATASOURCES_DATA_LIMIT_PER_ONE_QUERY |
10000000 |
При превышении этого значения выходит ошибка #INDA-0008 DS_DATASIZE_OUT_OF_LIMIT. по умолчанию настройка равна 0 — ограничение отсутствует. |
#Поддержка старых сертификатов интеграции с SM |
||
GODEBUG=x509ignoreCN |
||
#Параметры для управления статистикой |
||
INDICATOR_DATASOURCE_METRICS_PUBLISH_ENABLED |
false или true |
Параметр включает публикацию метрик статистики |
INDICATOR_DATASOURCE_METRICS_WRITE_IN_TABLE |
false или true |
|
INDICATOR_DATASOURCE_METRICS_MAX_QUERY_LIMIT |
100 |
|
INDICATOR_DATASOURCE_METRICS_KEEP_STATISTICS_DAYS |
7 |
|
#Параметры аудита |
||
INDICATOR_AUDIT_ENABLED |
false или true |
Признак включения аудита |
INDICATOR_AUDIT_BLOCK_OPERATION |
false или true |
Блокировка операции при недоступности PV.AUDIT |
INDICATOR_AUDIT_SEND_AUDIT_EVENT_BEFORE_OPERATION |
false или true |
Разрешение отправлять в аудит событие до совершения операции |
INDICATOR_AUDIT_USE_CHANGEABLE_PARAMETERS |
false или true |
Выделение изменяемых параметров в событии аудита в отдельную группу false — proxy audit api v4.1 true — proxy audit api v4.2 |
INDICATOR_AUDIT_SEND_ONLY_CHANGED_PARAMS |
false или true |
Если параметр use_changeable_parameters включен, то передаются параметры, которые изменились (экономия трафика). Не передаются только параметры специфические для события, общие передаются всегда. |
INDICATOR_AUDIT_WRITE_TO_FILES |
false или true |
Разрешение писать события аудита в файлы |
INDICATOR_AUDIT_SEND_TO_PV_AUDIT |
false или true |
Разрешение отправлять события аудита в PV.Audit |
INDICATOR_AUDIT_PROXY_URL |
http://{audit-host}:7070 |
url audit proxy, по которому идет отправка событий аудита, только http! |
INDICATOR_AUDIT_PROXY_MODULE_NAME |
indicator |
Название модуля при отправке событий в pv audit |
INDICATOR_AUDIT_REGISTER_METAMODEL |
false или true |
Разрешение на регистрацию метамодели при старте подсистемы аудита |
INDICATOR_AUDIT_METAMODEL_VERSION |
1 |
Версия метамодели |
INDICATOR_AUDIT_EVENT_MODE |
speed или reliability |
speed — быстрая отправка, в редких случаях при сбоях возможна потеря. Proxy-приложение проверяет сообщение, дополняет технической информацией и отправляет в Kafka. Возвращает ответ клиенту об успешной регистрации сразу же после удачной записи первой реплики события. Алгоритм регистрации в этом режиме может быть изменен в будущем без согласования с потребителями.reliability — надежная отправка. Proxy-приложение проверяет сообщение, дополняет технической информацией и отправляет в kafka. Возвращает ответ клиенту об успешной регистрации только при записи минимального количества реплик события (зависит от серверных настроек Kafka) |
INDICATOR_AUDIT_RETRY_CNT |
3 |
Кол-во попыток отправки события в audit proxy |
INDICATOR_AUDIT_RETRY_SLEEP |
100 |
Пауза в ms — задержка, при неудачной попытки отправки события в audit proxy |
#список полей через запятую, которые не будут передаваться в аудит |
||
INDICATOR_AUDIT_DATASOURCE_BACK_HIDE_FIELDS |
headers |
|
#Параметры подключения к Сервис авторизации (PVMSecure) |
||
INDICATOR_PVMSECURE_ENABLED |
false или true |
включен режим работы с Platform V MonitorAuthorization service |
INDICATOR_PVMSECURE_HOST |
http://host:port |
хост на котором запущен Platform V MonitorAuthorization service |
INDICATOR_PVMSECURE_INDICATOR_NAMESPACE |
INDICATOR |
namespace где находится ресурс индикатор в pvm secure |
INDICATOR_PVMSECURE_ADMINS_NAMESPACE |
PVM_ADMINS |
namespace СуперАдмин |
INDICATOR_PVMSECURE_API_VERSION |
1 |
версия api pvm secure |
INDICATOR_PVMSECURE_LOGIN |
login |
имя пользователя под которым индикатор будет ходить в Platform V MonitorAuthorization service |
INDICATOR_PVMSECURE_ADMIN_ROLE |
INDA_ORG_ADMIN |
название permission в Platform V MonitorAuthorization service, при котором будет выдаваться роль администратора организации |
INDICATOR_PVMSECURE_EDITOR_ROLE |
INDA_ORG_EDITOR |
название permission в Platform V MonitorAuthorization service, при котором будет выдаваться роль редактора в организации |
INDICATOR_PVMSECURE_VIEWER_ROLE |
INDA_ORG_VIEWER |
название permission в Platform V MonitorAuthorization service, при котором будет выдаваться роль просмотра в организации |
INDICATOR_PVMSECURE_CACHE_EXPIRATION |
300 |
время хранения информации (permission) из Platform V MonitorAuthorization service в indicator |
INDICATOR_PVMSECURE_CREATE_USER_ON_MIGRATION |
false или true |
При включенной настройке перед выдачей прав пользователю идет попытка его создания, ошибка создания пользователя (что он уже создан) игнорируется |
#Параметры настроек для Frontend |
||
INDICATOR_FRONTEND_PARAMS_INSTANCE_NAME |
PVM |
|
INDICATOR_FRONTEND_PARAMS_HELP_LINK |
||
INDICATOR_FRONTEND_PARAMS_QUESTIONNAIRE_LINK |
||
#index-pvm - новый UI, index - старый grafana UI (только для страницы аутентификации) |
||
INDICATOR_FRONTEND_INDEX_TEMPLATE |
index-pvm |
|
#Параметры сервисов Indicator |
||
INDICATOR_SERVICES_REFRESH_TIMEOUT |
60 |
|
INDICATOR_SWAGGER_STATUS |
false |
|
#INDICATOR_MAX_HTTP_BODY_SIZE_FROM_CLIENT - максимальный размер body запроса от внешнего клиента(браузера) в байтах, 0 -> неограничен |
||
INDICATOR_MAX_HTTP_BODY_SIZE_FROM_CLIENT |
10485760 |
Параметр для максимального размера body запроса от внешнего клиента(браузера) в байтах, 0 -> неограничен |
########################## |
||
########################## |
||
# SPEC OF DEPLOYMENTS |
||
# Параметры Docker Image Indicator |
||
# Параметры Docker Image Indicator |
||
indicator.ose.deployment.spec.template.spec.image.pull.secret |
registry |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-registry |
Ваш_docker-registry |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.app-name |
ci01976100/ci02696395_indicator/indicator_core/indicator |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.docker-image |
url_registry/${indicator.ose.deployment.spec.template.spec.containers.indicator.app-name} |
Глобальная переменная. |
indicator.ose.deployment.spec.template.spec.containers.indicator.container-port |
3000 |
|
#Параметры Init контейнера |
||
indicator.ose.deployment.spec.template.spec.containers.indicator-init.app-name |
/registry_redhat_io/rhel7:7.6 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator-init.docker-image |
${dockerRegistry}${indicator.ose.deployment.spec.template.spec.containers.indicator-init.app-name} |
Глобальная переменная. |
# Создать Secret (conf/openshift/secrets/secret-inda-certs.yaml) с сертификатами которые экспортируются из JKS файла indicator.jks (Common repository ansible/files/ssl/indicator.jks) |
||
# Необходимы для взаимодействия Fluent-bit sidecar с Kafka, PostgreSQL |
||
indicator.ose.secrets.export.certificates.from.jks |
true или false |
Параметр установки сертификатов из JKS файла |
# cert-key.pem для изменения прав на 600(-rw-------) использовать если GRAFANA_DB_SSL_MODE=verify-full |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.change.permission.for.key |
true или false |
Изменять права для ключа (по умолчанию openshift добавляет права на чтение файлу, приложение может из этого не стартовать) |
#Параметры для определения каталога с ssl сертификатами |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts |
/certificates/security/ssl |
|
# Каталог в который будет помещен только cert-key.pem для изменения прав на 600(-rw-------) использовать если GRAFANA_DB_SSL_MODE=verify-full |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts.from.jks |
/indicator-certificates |
Каталог в который будет помещен только cert-key.pem для изменения прав на 600(-rw-------) использовать если GRAFANA_DB_SSL_MODE=verify-full |
# Параметры для пода Indicator который запускается в K8S |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.kubernetes.deploy |
false |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.securityContext.runAsUser |
472 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator-init.securityContext.runAsUser |
1001 |
|
#Параметры для автоскейлинга |
||
indicator.openshift.autoscaling.max_replicas |
6 |
Макс значение автоскейлинга |
indicator.openshift.autoscaling.min_replicas |
1 |
Мин значение автоскейлинга |
indicator.openshift.autoscaling.targetCPUUtilizationPercentage |
80 |
Пороговое значение автоскейлинга |
#Параметры лимитов и запросов для Indicator Grafana |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.limits.cpu |
150m |
Лимит cpu |
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.limits.memory |
600Mi |
Лимит memory |
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.requests.cpu |
100m |
Лимит cpu |
indicator.ose.deployment.spec.template.spec.containers.indicator.resources.requests.memory |
400Mi |
Лимит memory |
#RollingUpdate |
||
indicator.ose.deployment.spec.strategy.activeDeadlineSeconds |
21600 |
|
indicator.ose.deployment.spec.strategy.intervalSeconds |
1 |
|
indicator.ose.deployment.spec.strategy.maxSurge |
1 |
|
indicator.ose.deployment.spec.strategy.maxUnavailable= |
25% |
|
indicator.ose.deployment.spec.strategy.timeoutSeconds |
600 |
|
indicator.ose.deployment.spec.strategy.updatePeriodSeconds |
1 |
|
# Параметры Liveness & Readness Prob's |
||
# Liveness |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.path |
/healthz |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.failureThreshold |
3 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.initialDelaySeconds |
30 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.periodSeconds |
5 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.successThreshold |
1 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.liveness.timeoutSeconds |
10 |
|
# Readness |
||
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.path |
/api/health |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.failureThreshold |
3 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.initialDelaySeconds |
60 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.periodSeconds |
5 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.successThreshold |
1 |
|
indicator.ose.deployment.spec.template.spec.containers.indicator.readness.timeoutSeconds |
10 |
|
# PodDisruptionBudget |
||
inda.ose.poddisruptionbudget.enabled |
false |
|
indicator.ose.poddisruptionbudget.spec.minAvailable |
${global.poddisruptionbudget.minAvailable} |
|
########################## |
Запустить созданный PIPELINE, указав параметры:
SUBSYSTEM:
INDICATOR;DISTRIB_VERSION:
<выбрать необходимую версию>;Репозиторий\ветка с настройками ФП:
branch R1;Установить флаг в параметр: —
OPENSHIFT_DEPLOYиMigration_FP_Conf.MIGRATION_FP_CONF — загрузит конфиг файл/ы в дистрибутив OPENSHIFT_DEPLOY — развернет Indicator в среде контейнеризации. Если ставить одну галочку MIGRATION_FP_CONF работает наоборот. Из дистрибутива параметры будут переданы в FP репозиторий для дальнейшего их ручной корректировки.
Если нужна интеграция с Istio, необходимо выбрать параметр OPENSHIFT_INGRESS_EGRESS_DEPLOY
Перед установкой нового релиза необходимо удалить Deployment Config из проекта OpenShift.
Дождитесь завершения работы Pipeline CD.
Если ошибок не возникло,
Indicatorустановлен.
Обновление#
Перед обновлением рекомендуется выполнить архивацию и сохраYfcнение БД (backup) для возможности использования дашбордов предыдущей версии. Обновление Indicator представляет собой установку новой версии релиза через Jenkins. Необходимые настройки сервиса будут осуществлены при установке дистрибутива через Jenkins. Дополнительных настроек не требуется.
При обновлении с версии 2 до версии 3 обратить внимание при заполнении переменной в файле indicator.conf.
При миграции в файле indicator.conf параметры не изменяются, их необходимо изменить на новые.
Например, для переменных сертификата:
Имя параметра |
Примеры значений |
|---|---|
GRAFANA_DATASOURCE_ABYSS_TLS_CA_CERT |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem |
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_CERT |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
GRAFANA_DATASOURCE_ABYSS_TLS_CLIENT_KEY |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
GRAFANA_DB_CA_CERT_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cacert.pem |
GRAFANA_DB_CLIENT_KEY_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert-key.pem |
GRAFANA_DB_CLIENT_CERT_PATH |
${indicator.ose.deployment.spec.template.spec.containers.indicator.volumeMounts.mountPath.sslcerts}/cert.pem |
Также исправить путь к сертификатам fluent-bit. Сертификаты подключаются как том из Secret — kafka-cert.yaml
fluent-bit.ose.configmaps.fluent-bit.data.key.location=/fluent-bit/cert/cert-key.pem fluent-bit.ose.configmaps.fluent-bit.data.certificate.location=/fluent-bit/cert/cert.pem fluent-bit.ose.configmaps.fluent-bit.data.ca.location=/fluent-bit/cert/cacert.pem
Во втором релизе была переменная (в indicator.conf): docker.registry=ваш_registry.ru
В третьем релизе перешли на глобальную переменную: ${dockerRegistry}, а docker.registry была удалена.
В связи с этим нужно будет заменить ${docker.registry} на ${dockerRegistry} в тех переменных, где есть ссылка на переменную.
При изменении параметра ссылки геороута, сервис будет недоступен до завершения обновления.
Перед установкой нового релиза необходимо удалить Deployment Config из проекта OpenShift.
Запуск DDL скриптов (Liquibase)#
Для создания объектов в схеме с помощью liquibase скриптов рекомендуется использовать учетную запись администратор АС.
Начиная с версии 4.1 для обновления используются скрипты LiquiBase.
Для обновления схемы БД до текущей версии выполните следующие действия:
Выполнить скрипт запустив PIPELINE_Deploy, установив флаг DB_UPDATE;
Запуск DDL скриптов (Liquibase) в ручном режиме#
Каталог package/db содержит дистрибутивы скриптов миграции базы данных.
Дистрибутив скриптов миграции БД – это zip архив, который содержит:
утилиту liquibase в виде jar;
jdbc драйвер;
файл 0001_changelog.xml – сценарий миграции.
Параметры запуска скриптов миграции описываются в манифесте distrib.yml в секции dbscripts.
Список УЗ, указанных в поле "Список технологических учетных записей", имеет следующие права в схеме (для всех существующих и будущих объектов схемы):
USAGE схемы;
SELECT, UPDATE, INSERT в таблицы схемы;
Все привилегии на Sequence;
EXECUTE на Functions;
EXECUTE на Routines;
USAGE на Types.
В БД создается табличное пространство (значение берется из поля "Имя табличного пространства, создающегося инсталлятором") и пользовательская база данных (значение берется из поля "Имя базы данных, создающейся инсталлятором"), владельцем которых становится групповая роль as_admin. Правом работы с этой ролью обладаю Доменные Учетные Записи, введенные в поле "Список администраторов АС". Для этого необходимо залогиниться в БД под ним и выполнить команду:
чтобы накатить набор скриптов, необходимо выполнить команды liquibase, указанный в changelog.xml
java -jar liquibase-sqlplus-3.5.1.jar --liquibaseSchemaName=schema--username=dbusername --password=dbpassword--url=jdbc:postgresql://dburl:dbport/dbname --defaultSchemaName=schema--classpath=postgresql-9.4.1212.jar --driver=org.postgresql.Driver --changeLogFile=changelog.xml update
liquibaseSchemaName – схема, в которой liquibase создает свои 2 таблицы. defaultSchemaName – схема, в которую необходимо накатывать изменения.
Для работы приложения после успешного выполнения liquibase скриптов рекомендуется использовать ТУЗы
Удаление#
Удаление Indicator представляет собой удаление собранного пространства в платформе приложений-контейнеров. Происходит удаление и всех созданных ранее дашбордов и организаций.
Проверка работоспособности#
Предварительно должен быть настроен Data Source См. подробнее раздел Добавление источника данных (Data Sources) в Руководство по системному администрированию
Для проверки работоспособности:
Перейти по ссылке из платформы приложений-контейнеров в Indicator (Networking -> Routes -> Location).
Войти в Indicator под пользователем администратор с первоначальным паролем (логин и пароль задается в параметрах файла passwords.conf при сборке) и ввести новый пароль.
Посмотреть собранные метрики можно на дашборде Sample Dashboard All Namespaces:
Войти в Indicator на дашборд Sample Dashboard All Namespaces.
В верхней части дашборда указаны фильтры. Выбрать нужные значения, при этом заполнятся доступные значения для остальных фильтров.
На дашборде появятся панели (графики и таблицы) со значениями для каждой выбранной в фильтре метрики.
Откат#
Перед откатом, необходимо восстановить БД для возможности использования дашбордов предыдущей версии. Откат к предыдущей версии Indicator выполняется через Jenkins. Для отката необходимо выполнить установку предыдущей стабильной версии в соответствии с инструкцией.
При откате с версии 4.0 на 3.0, необходимо очистить конфигурации из платформы приложений-контейнеров.
Начиная с версии 4.1 для отката используются скрипты LiquiBase Для того, чтобы был возможен rollback изменений, необходимо тегировать накаты (например, по релизам) и использовать формат xml скриптов для наката.
Чтобы откатить изменения под тегом version1, необходимо выполнить команду liquibase
java -jar liquibase-sqlplus-3.5.1.jar --liquibaseSchemaName=schema--username=dbusername --password=dbpassword--url=jdbc:postgresql://dburl:dbport/dbname --defaultSchemaName=schema--classpath=postgresql-9.4.1212.jar --driver=org.postgresql.Driver --changeLogFile=changelog.xml rollback version1
Где, version1 - это тег версии релиза. Теги можно посмотреть в базе в таблице databasechangelog, в столбце tag.
liquibaseSchemaName – схема, в которой liquibase создает свои 2 таблицы. defaultSchemaName – схема, в которую необходимо накатывать изменения.
Часто встречающиеся проблемы и пути их устранения#
Ошибка |
Описание |
|---|---|
Bad Gatewayundefined |
Данное сообщение возникает при настройке Datasource, информирует о недоступности источника Data source, необходимо проверить корректность ссылки endpoint |
Failed to update datasource |
Не удалось обновить Data source, данное сообщение возникает при обновлении настройки Datasource, необходимо проверить корректность ссылки endpoint |
SMTP not configuerd … |
Ошибка возникает при настройке алерта. Администратору необходимо выполнить настройку smtp в конфигурационном файле |
Panel plugin not found |
Сообщение появляется если на панели не установлен нужный плагин для отображения |
Druid — not found |
Данное сообщение информирует об отсутствии источника Data source |
Error:tsdb.HandleRequest() error could not find executor for datasource type: |
Ошибка возникает если 2 экземпляра Platform V Monitor Indicator работают с одной БД, проверить настройки конфигурации БД |
"failed to save dashboard" logger=provisioning.dashboard type=file… |
Рекомендуется не запускать разные инсталляции одновременно на одну БД, в связи с возможными различиями как касаемо дашбордов, так и другого функционала, которого может не быть в предыдущей версии. (например новое приложение/датасорс), у пользователя который войдет на старую инсталляцию и попытается воспользоваться им возникнут ошибки. |
Ошибка сертификата что отсутствует SAN(Subject Alternate Name) |
Сертификаты без SAN уже устаревшая технология, которую не рекомендуется использовать. Сертификат для работы с БД должен быть с SAN |
Invalid value: "host.ru": field is immutable","reason":"Invalid" |
Ошибка возникает при установке сервиса с настроенным георезервированием. Необходимо удалить существующий rout в платформе контеризации |
Чек-лист валидации установки#
для проекта в платформе приложений-контейнеров создались объекты приложений на основании файла конфигурации indicator.conf;
вход в Indicator осуществляется успешно;
на дашборде "Sample Dashboard All Namespaces" проверить наличие метрик и отображение графиков.