Модуль централизованного хранения логов (OpenSearch)
На этой странице
Модуль централизованного хранения логов использует за основу OpenSearch.
Если в платформе и клиентском кластере установлен, включен и работает модуль локального сбора логов (Vector), пользователи, имеющие в наборах доступа права в OpenSearch могут авторизоваться в OpenSearch для просмотра логов.
Логи вашего кластера доступны из дашборда кластера по нажатию на кнопку Логи.
Для авторизации откройте ссылку в том же окне браузера, в котором открыта платформа. Нажмите кнопку log in with single sign-on. В аккаунте будут доступны логи безопасности, инфраструктурные логи и логи приложений всех кластеров платформы, в которых установлен модуль сбора системных логов.
В случае необходимости вы можете увеличить дисковое пространство для хранения логов OpenSearch, а также настроить оповещение о заполненности дискового пространства. Подробнее на странице Как увеличить объем хранилища OpenSearch, VictoriaMetrics.
Перейдите на страницу Анализ состояния в платформе Штурвал , чтобы ознакомиться с совместной работой модулей, обеспечивающих логирование в платформе.
В текущем релизе используется OpenSearch версии 2.15.0 и OpenSearch Operator версии 2.6.1.
Просмотр логов
При первом переходе в интерфейсе необходимо определить tenants. Для этого в модальном окне Select your tenant выберите пункт Private.
В интерфейсе OpenSearch перейдите в левое меню, раздел Management/Dashboards Management/Index patterns. Нажмите кнопку Create index pattern.
Введите префикс имени кластера и _тип лога
, в конце укажите -*
:
- для клиентского кластера используйте в виде префикса имя клиентского кластера.
- для кластера управления (платформы) используйте имя кластера, указанное при инсталляции кластера управления. Для просмотра имени кластера управления, перейдите в раздел Платформа/Установленные сервисы, найдите “Модуль локального сбора логов”, нажмите “Управлять”, в блоке “Спецификация” найдите значение поля logstashPrefix. Это название вашего кластера управления. Используйте его в качестве префикса имени кластера.
Должно получиться myclustername_тип лога-*
. Индексы включают типы логов:
- auditd: системные логи аудита;
- journald: логи контейнеров, kubelet, shturvald;
- logs: логи контейнеров;
- user-logs: логи приложений пользовательской нагрузки;
- events: логи событий всех объектов кластера;
- kaudit: kube-audit логи. Тип доступен, если установлены расширенные настройки безопасности в кластере. Подробнее в разделе Настройка подключения kube-audit логов.
Чтобы вывести данные по всем логам и датам для индекса, укажите *
вместо тип лога, например, myclustername_*
.
Нажмите Next step.
В поле Time field выберите @timestamp.
Нажмите Create index pattern.
Такой Index pattern необходимо создать для каждого кластера.
Перейдите в левом меню на вкладку OpenSearch Dashboards/Discover, в перечне индексов выберите Index pattern в соответствии с названием созданного вами индекса для вашего кластера.
В некоторых случаях при инициализации Dashboards, когда кластер OpenSearch ещё не полностью готов, создаётся битый индекс .kibana_1, в котором хранятся в том числе index pattern.
Решение:
- Удалить индекс .kibana_1
- Перезагрузить Pod ресурса Deployment “shturval-logs-dashboards”
Настройка подключения kube-audit логов
Для кластера, в котором установлены расширенные настройки безопасности, есть возможность настройки audit_policy и просмотра логов в OpenSearch.
Для этого в интерфейсе OpenSearch перейдите в левое меню, раздел Management/Dashboards Management/Index patterns. Нажмите кнопку Create index pattern.
- Для кластера управления: в названии введите префикс имени вашего кластера управления, затем добавьте
_kaudit-*
, это позволит выводить данные по всем датам для этого индекса. Должно получиться так:mgmtclustername_kaudit-*
- Для клиентского кластера: в названии введите префикс имени вашего кластера, затем добавьте
_kaudit-*
, это позволит выводить данные по всем датам для этого индекса. Должно получиться так:myclustername_kaudit-*
Уточнить название индекса можно в разделе Management/Index Management/Indexes.
Нажмите Next step.
В поле Time field выберите @timestamp. Завершите создание, нажав на кнопку Create index pattern.
Перейдите в левом меню на вкладку OpenSearch Dashboards/Discover, в перечне индексов выберите Index pattern в соответствии с названием созданного вами индекса для вашего кластера.
Для настройки детекции (обнаружения) аномалий используйте инструкцию.
Перенаправление логов
Для управления сбором логов в кластерах платформы “Штурвал” используется Vector. Подробнее о настройке этого сервиса.
Для настройки перенаправления логов выполните следующие действия:
-
В кластере, где нужно сделать перенаправление логов, в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите и откройте Модуль локального сбора логов (shturval-log-collector).
-
В разделе Спецификация сервиса добавьте конфигурацию
shturval
и укажите:
- тип логов, которые необходимо перенаправить: auditd, journald, k8s_audit, k8s_events,k8s_logs. В блоке
shturval
должны быть перечислены все типы логов, для которых требуется перенаправление. - получателей логов в
sinks
и их данные для аутентификации, URL-адрес подключения, настройки TLS-соединения и буфера хранения логов до отправки. - при необходимости преобразования логов перед отправкой настройте конфигурацию в параметре
transforms
.
Пример customvalues
shturval:
k8s_logs: # Тип логов для перенаправления
enable: true # Включает отправку логов elasticsearch
transforms: {} # Преобразование логов
sinks: # Конечные точки для отправки данных
elastic_bank: # Имя получателя данных
type: <ваше значение параметра>
auth: # Настройки аутентификации для подключения к elasticsearch
user: <ваше значение параметра>
password: <ваше значение параметра>
strategy: <ваше значение параметра>
endpoints: # URL-адрес для подключения
- <ваше значение параметра>
tls: # Настройки TLS-соединения
verify_certificate: true
api_version: <ваше значение параметра>
buffer: # Настройка буфера для хранения логов перед отправкой
max_size: <ваше значение параметра>
type: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
elastic_bank.type |
Тип получателя данных | string | elasticsearch |
elastic_bank.auth.user |
Имя учетной записи для подключения к Elasticsearch | string | username |
elastic_bank.auth.password |
Пароль учетной записи для подключения к Elasticsearch | string | 1234qwe |
elastic_bank.auth.strategy |
Стратегия аутентификации Elasticsearch | string | basic |
elastic_bank.endpoints |
Список URL-адресов для подключения | array | https://elastic.bank.local:9200/ |
elastic_bank.api_version |
Версия API Elasticsearch | string | v8 |
elastic_bank.buffer.max_size |
Размер буфера для хранения логов перед отправкой | int | 268435488 |
elastic_bank.buffer.type |
Тип буфера для хранения логов перед отправкой | string | disk |
- Если необходимо отключить отправку логов в Opensearch, переопределите значение sink c именем
platform-opensearch
вshturval
для одного или всех типов логов, как приведено в примере.
Пример customvalues
shturval:
k8s_logs:
enable: true
sinks:
platform-opensearch: {}
Обратите внимание! Если для kube-audit (k8s_audit) логов отключить направление в Opensearch, то они не будут доступны для просмотра на вкладке “События безопасности” дашбордов в графическом интерфейсе платформы “Штурвал”.
- Для перенаправления логов в syslog добавьте в спецификацию сервиса блок
shturval
с требуемыми параметрами.
Пример перенаправления в syslog
shturval:
k8s_audit:
enable: true
sinks:
syslog:
type: socket
inputs:
- <ваше значение параметра>
address: <ваше значение параметра>
mode: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
k8s_audit.sinks.syslog.inputs |
Преобразования (transforms) для логов k8s_audit. Перечень transforms определены в кастомном ресурсе ClusterVectorPipeline с именем k8s-audit | array | dedot_specific_fields |
k8s_audit.sinks.syslog.address |
Адрес syslog-сервера | string | 11.12.13.14:5000 |
k8s_audit.sinks.syslog.mode |
Тип протокола передачи | string | tcp |
В примере выше приведена настройка с использованием socket
. С другими способами конфигурации параметров для перенаправления логов на syslog-сервер вы можете ознакомиться в официальной документации.
- Когда настройка спецификации модуля завершена, сохраните внесенные изменения. Потребуется некоторое время для применения изменений.
Ротация логов
По умолчанию логи в кластере хранятся два дня. Для изменения этого периода вы можете поменять параметры модуля централизованного хранения логов (shturval-logs-operator
) или настроить правило ротации в OpenSearch.
Ротация по времени
- В кластере управления в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы.
- Найдите модуль централизованного хранения логов (
shturval-logs-operator
), откройте карточку модуля и в блоке Спецификация сервиса укажите количество дней ротации логов, используя параметры inactiveAge и deleteAge.
Пример customvalues
cluster:
ismpolicy:
inactiveAge: <ваше значение параметра>
deleteAge: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
ismpolicy.inactiveAge |
Срок хранения индексов в днях. По умолчанию 1 день | string | 6d |
ismpolicy.inactiveAge |
Количество дней, через которое индексы будут полностью удалены. По умолчанию 2 дня | string | 6d |
Обратите внимание! Срок хранения индексов не может превышать количество дней, через которое индексы будут удалены.
- Сохраните внесенные изменения для модуля.
Настройка ротации в OpenSearch
Выполните следующие действия:
-
После завершения установки платформы авторизуйтесь в интерфейсе платформы,
https://front.<ingress>
. Так вам будет присвоен токен для авторизации в OpenSearch. -
Авторизуйтесь, нажав на кнопку log in with single sign-on.
-
В модальном окне выберите explore on my own.
-
Создайте правило для всех вновь созданных индексов. Для этого внизу левого меню найдите dev tools. В левой части консоли пропишите политику:
Политика
PUT _plugins/_ism/policies/remove_old_indexes
{
"policy": {
"description": "Removes old indexes",
"default_state": "active",
"states": [
{
"name": "active",
"transitions": [
{
"state_name": "delete",
"conditions": {
"min_index_age": "2d"
}
}
]
},
{
"name": "delete",
"actions": [
{
"delete": {}
}
],
"transitions": []
}
],
"ism_template": {
"index_patterns": [
"*"
],
"priority": 1000
}
}
}
Значение параметра “min_index_age” определяет время жизни старых индексов. Чем дольше хранится индекс, тем больше места на диске он занимает.
- Запустите применение манифеста, нажав на кнопку выполнения.
Просмотреть созданную политику можно в левом меню в разделе State Management Policy.
-
Перейдите в разделе Index Management на страницу Indices.
-
Слева от названия индекса выберите все неслужебные индексы (индексы, которые в начале названия не имеют точку), в выпадающем списке Actions выберите apply policy.
-
Среди доступных политик выберите remove_old_indexes, нажмите apply.
Ротация логов по размеру
Есть возможность настроить ротацию индексов по размеру. Для этого необходимо в кластере управления настроить Opensearch:
- Роль доступа к индексам
- Политики ротации индексов
- Шаблоны индексов
- Первичные индексы
- Индекса Паттерны
- Настройка Vector в кластере управления
- Роли доступа к индексам
Нужно создать новую роль и привязку этой роли к существующему служебному пользователю clustername-vector для записи в алиасы индексов.
OpenSearchRole
apiVersion: opensearch.opster.io/v1
kind: OpensearchRole
metadata:
labels:
opensearch.org/cluster: logs
shturval.tech/cluster: clustername
name: clustername-vector-rollover
namespace: shturval-logging
spec:
indexPermissions:
- allowedActions:
- crud
indexPatterns:
- clustername_logs
- clustername_auditd
- clustername_journald
- clustername_user-logs
- clustername_events
- clustername_kaudit
opensearchCluster:
name: logs
OpenSearchRoleBinding
apiVersion: opensearch.opster.io/v1
kind: OpensearchUserRoleBinding
metadata:
labels:
opensearch.org/cluster: logs
shturval.tech/cluster: clustername
name: clustername-vector-rollover
namespace: shturval-logging
spec:
opensearchCluster:
name: logs
roles:
- clustername-vector-rollover
users:
- clustername-vector
- Политики ротации индексов
Пример кастомного ресурса для индекса кластера clustername_kaudit при достижении 1000Мб.
clustername-kaudit-rollover
apiVersion: opensearch.opster.io/v1
kind: OpenSearchISMPolicy
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-kaudit-rollover
namespace: shturval-logging
spec:
defaultState: rollover
description: "Rollover kube-audit-clustername indexes on 1000mb"
ismTemplate:
indexPatterns:
- 'clustername_kaudit-*'
priority: 3000
opensearchCluster:
name: logs
policyId: clustername_kaudit-rollover
states:
- actions:
- rollover:
minPrimaryShardSize: 1000mb
name: rollover
transitions:
- conditions:
minSize: 1000mb
stateName: delete
- actions:
- delete: {}
name: delete
- Шаблоны индекса
clustername-kaudit
apiVersion: opensearch.opster.io/v1
kind: OpensearchIndexTemplate
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-kaudit
namespace: shturval-logging
spec:
composedOf:
- index_codec
indexPatterns:
- 'clustername_kaudit-*'
name: clustername_kaudit
opensearchCluster:
name: logs
priority: 3000
template:
settings:
plugins.index_state_management.rollover_alias: "clustername_kaudit"
clustername-journald
apiVersion: opensearch.opster.io/v1
kind: OpensearchIndexTemplate
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-journald
namespace: shturval-logging
spec:
composedOf:
- index_codec
indexPatterns:
- 'clustername_journald-*'
name: clustername_journald
opensearchCluster:
name: logs
priority: 3000
template:
settings:
plugins.index_state_management.rollover_alias: "clustername_journald"
clustername-auditd
apiVersion: opensearch.opster.io/v1
kind: OpensearchIndexTemplate
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-auditd
namespace: shturval-logging
spec:
composedOf:
- index_codec
indexPatterns:
- 'clustername_auditd-*'
name: clustername_auditd
opensearchCluster:
name: logs
priority: 3000
template:
settings:
plugins.index_state_management.rollover_alias: "clustername_auditd"
clustername-logs
apiVersion: opensearch.opster.io/v1
kind: OpensearchIndexTemplate
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-logs
namespace: shturval-logging
spec:
composedOf:
- index_codec
indexPatterns:
- 'clustername_logs-*'
name: clustername_logs
opensearchCluster:
name: logs
priority: 3000
template:
settings:
plugins.index_state_management.rollover_alias: "clustername_logs"
clustername-user-logs
apiVersion: opensearch.opster.io/v1
kind: OpensearchIndexTemplate
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-user-logs
namespace: shturval-logging
spec:
composedOf:
- index_codec
indexPatterns:
- 'clustername_user-logs-*'
name: clustername_user-logs
opensearchCluster:
name: logs
priority: 3000
template:
settings:
plugins.index_state_management.rollover_alias: "clustername_user-logs"
clustername-events
apiVersion: opensearch.opster.io/v1
kind: OpensearchIndexTemplate
metadata:
labels:
opensearch.org/cluster: logs
name: clustername-events
namespace: shturval-logging
spec:
composedOf:
- index_codec
indexPatterns:
- 'clustername_events-*'
name: clustername_events
opensearchCluster:
name: logs
priority: 3000
template:
settings:
plugins.index_state_management.rollover_alias: "clustername_events"
- Первичные индексы
Первичные индексы необходимо создать в интерфейсе командной строки или Curl-запросом:
Пример запрос на создание clustername_kaudit
PUT clustername_kaudit-000001
{
"aliases": {
"clustername_kaudit": {
"is_write_index": true
}
}
}
- Индекс Паттерны
- В главном меню перейти в раздел Management > Dashboards Management
- Далее в левом меню перейти в подраздел Index pattern
- Нажать кнопку Create index pattern
- На первом шаге в строке поиска необходимо ввести имя Алиаса и нажать кнопку Next step
- На втором шаге из выпадающего списка нужно выбрать пункт со значением @timestamp
- При успешном создании индекс паттерна будет отображена таблица с списком всех полей этого индекса
Такую последовательность действий нужно произвести для следующих индексов кластера:
- clustername_auditd
- clustername_journald
- clustername_logs
- clustername_user-logs
- clustername_events
- clustername_kaudit
- Настройка Vector
Нужно внести изменение в Модуль локального сбора логов (SSC shturval-log-collector) для каждого типа логов, удалив -%Y.%m.%d
в index
, как приведено в примере ниже.
Пример сustomvalues
shturval:
k8s_audit:
enable: true
sources: {}
transforms: {}
sinks:
platform-opensearch:
bulk:
index: "{{ .Values.CLUSTER_NAME }}_kaudit"
Внешнее хранилище данных
По умолчанию хранение данных OpenSearch организовано на локальных дисках. При необходимости вы можете подключить внешнее сетевое хранилище данных для OpenSearch. Это может быть полезным, когда предъявляются высокие требования к отказоустойчивости системы хранения или когда место под хранение на локальных дисках ограничено.
Требования к внешнему Storage
Требования | IOPs | Скорость чтения/записи |
---|---|---|
Минимальные | 500 | 150 Мб/с |
Рекомендуемые | 16 К | 1000 Мб/с |
Операции чтения, их количество и объем данных может превышать операции записи из-за механизмом индексации и реплицирования.
Для оптимизации доступа к внешнему хранилищу используйте рекомендации настройки для скорости индексации из официальной документации:
- установление количества реплик на 0 (
index.number_of_replicas
). Каждая реплика дублирует процесс индексирования, поэтому в результате отключение реплик повышается производительность кластера. - увеличение интервала обновления индексов. По умолчанию OpenSearch обновляет каждую секунду индексы, к которым был запрос за последние 30 секунд. При увеличении интервала обновления к API осуществляется меньше запросов.
- увеличение размера translog (
index.translog.flush_threshold_size
). По умолчанию очистка translog выполняется, когда translog достигает 512 МБ. При увеличении значения параметра, очистка будет проходить реже.
Включение внешнего Storage после инсталляции кластера управления
Вы можете подключить и использовать внешний Storage сразу после инсталляции кластера управления платформы “Штурвал”. Для этого:
- При инсталляции кластера управления отключите Модуль централизованного хранения логов
shturval-logs-operator
. Для этого запустите команду инсталляции (stc install management
), в которую подставьте свои значения параметров и укажите shturval-logs-operator в--disabled-system-services
.
Пример команды инсталляции
./stc-2.10.0 install management \
--license="ВВЕДИТЕ-ВАШУ-ЛИЦЕНЗИЮ" \
--cluster-name=ВВЕДИТЕ-НАЗВАНИЕ-КЛАСТЕРА \
--ssh-user=ИМЯ-СОЗДАННОГО-ПОЛЬЗОВАТЕЛЯ \
--ssh-private-key=ВВЕДИТЕ-ПУТЬ-ДО-ПРИВАТНОГО-КЛЮЧА \
--api-endpoint=ВВЕДИТЕ-IP-ДЛЯ-API-СЕРВЕРА \
--master-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
--worker-nodes=ВВЕДИТЕ-IP-ХОСТОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛОВ \
--timezone=Europe/Moscow \
--ingress-vip=ВВЕДИТЕ-IP-АДРЕС-ДЛЯ-INGRESS \
--skip-check \
--ntp-servers=ВВЕДИТЕ-АДРЕСА-NTP-СЕРВЕРОВ-ЧЕРЕЗ-ЗАПЯТУЮ-БЕЗ-ПРОБЕЛА \
--disabled-system-services=shturval-logs-operator \
Подробнее об инсталляции на странице документации Все об инсталляции.
- В кластере управления создайте Storage Class с провиженером, совместимым с Kubernetes. В графическом интерфейсе платформы “Штурвал”:
- Перейдите на страницу StorageClasses раздела Хранилище. Нажмите + Добавить StorageClass и на стрранице добавления укажите:
- имя;
- в спецификации выберите требуемый Provisioner Type;
- задайте значения параметров.
- Добавьте в кластер Storage Class, нажав Сохранить.
- Когда Storage Class добавлен, откройте страницу Установленные сервисы раздела Сервисы и репозитории, найдите Модуль централизованного хранения логов и перейдите к управлению. В блоке Спецификация сервиса добавьте необходимые параметры в customvalues, как в примере ниже.
Пример customvalues
customvalues:
ADMIN_PASSWORD: <ваше значение параметра>
ADMIN_USERNAME: <ваше значение параметра>
BACKEND_PASSWORD: <ваше значение параметра>
CLUSTER_NAME: <ваше значение параметра>
DASHBOARDS_PASSWORD: <ваше значение параметра>
FLUENTBIT_PASSWORD: <ваше значение параметра>
OPENID_CLIENT_ID: <ваше значение параметра>
OPENID_CLIENT_SECRET: <ваше значение параметра>
OPENID_HOST_PREFIX: <ваше значение параметра>
OPENID_REDIRECT_URL: <ваше значение параметра>
cluster:
nodePoolsMaster:
persistence:
pvc:
storageClass: <ваше значение параметра>
general:
monitoring:
tlsConfig:
insecureSkipVerify: true
ismpolicy:
deleteAge: <ваше значение параметра>
enabled: true
inactiveAge: <ваше значение параметра>
security:
configFiles:
internal_users.yml:
_meta:
config_version: 2
type: internalusers
kibanaserver:
description: OpenSearch Dashboards user
hash: <ваше значение параметра>
reserved: true
operator-admin:
backend_roles:
- admin
description: OpenSearch Admin user
hash: <ваше значение параметра>
reserved: true
serviceMonitor:
enable: false
getcert:
enable: false
ingress:
cluster:
annotations:
cert-manager.io/cluster-issuer: <ваше значение параметра>
hosts:
- <ваше значение параметра>
tls:
- hosts:
- <ваше значение параметра>
secretName: <ваше значение параметра>
dashboards:
annotations:
cert-manager.io/cluster-issuer: <ваше значение параметра>
hosts:
- <ваше значение параметра>
tls:
- hosts:
- <ваше значение параметра>
secretName: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
ADMIN_PASSWORD |
Пароль учетной записи для подключения к OpenSearch | string | Kdqq |
ADMIN_USERNAME |
Имя пользователя учетной записи для подключения к OpenSearch | string | operator-admin |
BACKEND_PASSWORD |
Пароль для доступа к backend OpenSearch | string | gar17u |
CLUSTER_NAME |
Имя кластера управления | string | clustername |
DASHBOARDS_PASSWORD |
Пароль для подключения к Grafana | string | Z7vzpGF |
FLUENTBIT_PASSWORD |
Пароль для сбора логов | string | ntqKGW |
OPENID_CLIENT_ID |
Идентификатор клиента OpenID, используемый для аутентификациии | string | opensearch |
OPENID_CLIENT_SECRET |
Ключ секрета клиента OpenID, используемый для аутентификациии | string | n47wsy |
OPENID_HOST_PREFIX |
Префикс хоста OpenID для формирования URL-адреса | string | auth.apps.ip-10-11-12-13.shturval.link |
OPENID_REDIRECT_URL |
URL-адрес UI OpenSearch для перенаправления после успешной аутентификации | string | https://logs-dashboards.apps.ip-10-11-12-13.shturval.link |
cluster.nodePoolsMaster.persistence.pvc.storageClass |
Имя созданного Storage Class | string | storagename |
cluster.ismpolicy.deleteAge |
Срок хранения индексов в соответствии с политикой ISM | string | 1d |
cluster.ismpolicy.inactiveAge |
Период времени, по истечении которого индекс считается неактивным | string | 0d |
kibanaserver.hash |
BCrypt хэш пароля kibanaserver пользователей | string | $2a$12$4AcgAt3xwOWadA5s5blL6ev3 |
operator-admin.hash |
BCrypt хэш пароля admin пользователя | string | $2a$12$JJSXNfTowz7U |
cluster.annotations.cert-manager.io/cluster-issuer |
Аннотация с именем ClusterIssuer с сетификатом для кластера Opensearch | string | corp-acme |
dashboards.annotations.cert-manager.io/cluster-issuer |
Аннотация с именем ClusterIssuer с сетификатом для дашборда OpenSearch | string | corp-acme |
cluster.hosts |
Список хостов кластера Opensearch | array | logs.apps.ip-10-11-11-13.shturval.link |
cluster.tls.hosts |
Список хостов, для которых используется секрет с TLS-сертификатом | array | logs.apps.ip-10-11-11-13.shturval.link |
cluster.tls.secretName |
Имя секрета, в котором будет сохранен TLS-сертификат для кластера OpenSearch | string | logs-tls |
dashboards.hosts |
Список хостов для доступа к дашбордам OpenSearch | array | logs-dashboards.apps.ip-10-11-11-13.shturval.link |
dashboards.tls.secretName |
Имя секрета, в котором будет сохранен TLS-сертификат для дашборда OpenSearch | string | logs-dashboards-tls |
dashboards.tls.hosts |
Список хостов, для которых используется секрет | array | logs-dashboards.apps.ip-10-11-11-13.shturval.link |
- Если в установленных сервисах модуль отсутствует, перейдите на страницу Доступные чарты раздела Сервисы и репозитории. На вкладке shturval выберите чарт
shturval-logs-operator
и нажмите Установить.
Выберите необходимую версию чарта, а также неймспейс shturval-logging. После выбора версии чарта в правой части экрана отобразятся Доступные параметры конфигурации для сервиса (values). В блоке Спецификация сервиса добавьте параметры в customvalues, как в примере далее.
Пример customvalues
```yaml
customvalues:
ADMIN_PASSWORD: <ваше значение параметра>
ADMIN_USERNAME: <ваше значение параметра>
BACKEND_PASSWORD: <ваше значение параметра>
CLUSTER_NAME: <ваше значение параметра>
DASHBOARDS_PASSWORD: <ваше значение параметра>
FLUENTBIT_PASSWORD: <ваше значение параметра>
OPENID_CLIENT_ID: <ваше значение параметра>
OPENID_CLIENT_SECRET: <ваше значение параметра>
OPENID_HOST_PREFIX: <ваше значение параметра>
OPENID_REDIRECT_URL: <ваше значение параметра>
cluster:
nodePoolsMaster:
persistence:
pvc:
storageClass: <ваше значение параметра>
general:
monitoring:
tlsConfig:
insecureSkipVerify: true
ismpolicy:
deleteAge: <ваше значение параметра>
enabled: true
inactiveAge: <ваше значение параметра>
security:
configFiles:
internal_users.yml:
_meta:
config_version: 2
type: internalusers
kibanaserver:
description: OpenSearch Dashboards user
hash: <ваше значение параметра>
reserved: true
operator-admin:
backend_roles:
- admin
description: OpenSearch Admin user
hash: <ваше значение параметра>
reserved: true
serviceMonitor:
enable: false
getcert:
enable: false
ingress:
cluster:
annotations:
cert-manager.io/cluster-issuer: <ваше значение параметра>
hosts:
- <ваше значение параметра>
tls:
- hosts:
- <ваше значение параметра>
secretName: <ваше значение параметра>
dashboards:
annotations:
cert-manager.io/cluster-issuer: <ваше значение параметра>
hosts:
- <ваше значение параметра>
tls:
- hosts:
- <ваше значение параметра>
secretName: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
ADMIN_PASSWORD |
Пароль учетной записи для подключения к OpenSearch | string | Kdqq |
ADMIN_USERNAME |
Имя пользователя учетной записи для подключения к OpenSearch | string | operator-admin |
BACKEND_PASSWORD |
Пароль для доступа к backend OpenSearch | string | gar17u |
CLUSTER_NAME |
Имя кластера управления | string | clustername |
DASHBOARDS_PASSWORD |
Пароль для подключения к Grafana | string | Z7vzpGF |
FLUENTBIT_PASSWORD |
Пароль для сбора логов | string | ntqKGW |
OPENID_CLIENT_ID |
Идентификатор клиента OpenID, используемый для аутентификациии | string | opensearch |
OPENID_CLIENT_SECRET |
Ключ секрета клиента OpenID, используемый для аутентификациии | string | n47wsy |
OPENID_HOST_PREFIX |
Префикс хоста OpenID для формирования URL-адреса | string | auth.apps.ip-10-11-12-13.shturval.link |
OPENID_REDIRECT_URL |
URL-адрес UI OpenSearch для перенаправления после успешной аутентификации | string | https://logs-dashboards.apps.ip-10-11-12-13.shturval.link |
cluster.nodePoolsMaster.persistence.pvc.storageClass |
Имя созданного Storage Class | string | storagename |
cluster.ismpolicy.deleteAge |
Срок хранения индексов в соответствии с политикой ISM | string | 1d |
cluster.ismpolicy.inactiveAge |
Период времени, по истечении которого индекс считается неактивным | string | 0d |
kibanaserver.hash |
BCrypt хэш пароля kibanaserver пользователей | string | $2a$12$4AcgAt3xwOWadA5s5blL6ev3 |
operator-admin.hash |
BCrypt хэш пароля admin пользователя | string | $2a$12$JJSXNfTowz7U |
cluster.annotations.cert-manager.io/cluster-issuer |
Аннотация с именем ClusterIssuer с сетификатом для кластера Opensearch | string | corp-acme |
dashboards.annotations.cert-manager.io/cluster-issuer |
Аннотация с именем ClusterIssuer с сетификатом для дашборда OpenSearch | string | corp-acme |
cluster.hosts |
Список хостов кластера Opensearch | array | logs.apps.ip-10-11-11-13.shturval.link |
cluster.tls.hosts |
Список хостов, для которых используется секрет с TLS-сертификатом | array | logs.apps.ip-10-11-11-13.shturval.link |
cluster.tls.secretName |
Имя секрета, в котором будет сохранен TLS-сертификат для кластера OpenSearch | string | logs-tls |
dashboards.hosts |
Список хостов для доступа к дашбордам OpenSearch | array | logs-dashboards.apps.ip-10-11-11-13.shturval.link |
dashboards.tls.secretName |
Имя секрета, в котором будет сохранен TLS-сертификат для дашборда OpenSearch | string | logs-dashboards-tls |
dashboards.tls.hosts |
Список хостов, для которых используется секрет | array | logs-dashboards.apps.ip-10-11-11-13.shturval.link |
Обратите внимание! Для работы модуля должен быть включен Компонент модуля централизованного хранения логов (shturval-logs-operator-crds
).
- Включите модуль в автоматическом режиме управления и нажмите Сохранить.
Переключение с локального хранилища на внешний Storage в кластере
Если требуется подключение внешнего Storage в равернутом кластере управления с работающим OpenSearch, выполните действия:
- В кластере управления создайте Storage Class с провиженером, совместимым с Kubernetes. В графическом интерфейсе платформы “Штурвал”:
- Перейдите на страницу StorageClasses раздела Хранилище. Нажмите + Добавить StorageClass и на стрранице добавления укажите:
- имя;
- в спецификации выберите Provisioner Type;
- задайте значения параметров.
- Добавьте в кластер Storage Class, нажав Сохранить.
- Когда Storage Class добавлен, перейдите в раздел Сервисы и репозитории* на страницу Установленные сервисы, найдите Модуль централизованного хранения логов и нажмите переключатель, чтобы отключить сервис.
Обратите внимание! Миграция данных с локальных дисков платформы виртуализации в сетевое хранилище невозможна. После остановки модуля данные будут потеряны. При необходимости перед отключением Модуля централизованного хранения логов выгрузите критичные данные.
- Выполните шаги инструкции по вводу OpenSearch в эксплуатацию после отключения и перед включением модуля (п. 6 инструкции) в блоке Спецификация сервиса добавьте параметр
storageClass
в customvalues, как в примере далее.
Пример customvalues
customvalues:
cluster:
nodePoolsMaster:
persistence:
pvc:
storageClass: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
storageClass |
Имя созданного Storage Class | string | storagename |