Этот документ описывает логическую архитектуру OpenSearch Dashboards (OSD), его место в экосистеме OpenSearch и типовые потоки данных/аутентификации. Материал ориентирован на администраторов и инженеров эксплуатации.
OSD — это веб‑интерфейс для визуализации и анализа данных в кластере OpenSearch. Сам по себе он **без состояния** (stateless) — все артефакты (визуализации, дашборды, index patterns / data views и т. д.) хранятся в индексе в OpenSearch.
—
opensearch.hosts
(обычно координатор/ingest‑узлы или LB перед ними)..kibana_*
или .opensearch-dashboards*
— зависит от версии/миграций).flowchart LR subgraph Users["Пользователи/браузеры"] U1[User A] U2[User B] end subgraph Edge["Балансировщик / Reverse Proxy"] LB[(LB: 5601/tcp)] end subgraph OSD["OSD-узлы (stateless)"] D1[OpenSearch Dashboards #1] D2[OpenSearch Dashboards #2] end subgraph OS["Кластер OpenSearch"] CM[(Cluster Manager)] C1[(Data/ingest)] C2[(Data/ingest)] end subgraph Ingest["Слой приёма логов"] FB[Fluent Bit / Filebeat] LS[Logstash] end U1 -- HTTP(S) --> LB --> D1 U2 -- HTTP(S) --> LB --> D2 D1 -- HTTPS (9200) --> OS D2 -- HTTPS (9200) --> OS FB -- 5044/HTTP(S) --> LS -- HTTPS (9200) --> OS
Порты по умолчанию
- OSD слушает 5601/tcp
(HTTP по умолчанию).
- OpenSearch API — 9200/tcp
(HTTPS при включённой безопасности).
- Logstash (beats input) — 5044/tcp
(если используется).
Global
, Private
и настраиваемые).logs-*
, filebeat-*
, fluentbit-*
).kibanaserver
или аналог) — для фоновых операций OSD; не путать с пользовательскими сессиями.read
, crud
, create_index
и т. п.) + доступ к функциональности плагинов.http(s)://osd:5601
→ OSD редиректит на страницу логина (или в IdP при SSO).filters
/аггрегации вместо выгрузок; для экспорта — Reports/API с пагинацией/scroll (учитывайте лимиты heap и payload).sequenceDiagram participant Host as Linux host participant Shipper as Shipper (Fluent Bit/Filebeat) participant LS as Logstash (optional) participant OS as OpenSearch participant OSD as OSD Host->>Shipper: Файлы/ journald Shipper->>LS: Beats/HTTP (опц. TLS, 5044) LS-->>OS: Bulk API (HTTPS 9200) Shipper-->>OS: (альтернатива) напрямую по Bulk API OS-->>OSD: Поиск/агрегации (Query DSL) OSD-->>User: Discover/визуализации/дашборды
text/keyword
, даты/числа), анализаторы.fluentbit-YYYY.MM.DD
, filebeat-*
, logstash-*
— помогают с ротацией и TTL.5601
): чаще TLS завершается на балансировщике/реверс‑прокси.9200
): HTTPS + проверка сертификатов (в прод).5044/9200
): включайте TLS и проверку CA.9200
только доверенным источникам (OSD/Logstash/админы).vm.max_map_count
, SSD, настройка refresh_interval
и размеров сегментов.OSD → OpenSearch (минимум)
server.host: "0.0.0.0" opensearch.hosts: - "https://os-coordinator:9200" opensearch.ssl.verificationMode: full # в прод opensearch.username: "kibanaserver" # сервисный пользователь OSD opensearch.password: "<SECRET>" opensearch_security.multitenancy.enabled: true
Шаблон индексов без реплик для стенда
curl -k -u admin:'...' -X PUT https://os:9200/_index_template/logs \ -H 'Content-Type: application/json' -d '{ "index_patterns": ["logs-*","fluentbit-*","filebeat-*","logstash-*"], "template": { "settings": { "index.number_of_replicas": 0 } } }'
duplicated mapping key
и кавычки в URL — самые частые при старте OSD.read
, crud
, create_index
и т. п.).5601
наружу (или за VPN), 9200
— только доверенным источникам.Итог: OSD — тонкий UI‑слой над OpenSearch, безопасно проксирующий запросы пользователей и хранящий артефакты интерфейса в системном индексе. Масштабирование достигается горизонтальным увеличением инстансов OSD и правильной архитектурой кластера OpenSearch; безопасность — через RBAC/тенанты/TLS и сегментацию сети.