Этот документ описывает логическую архитектуру 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 и сегментацию сети.