Содержание

Архитектура OpenSearch Dashboards (OSD) — практический обзор

Этот документ описывает логическую архитектуру OpenSearch Dashboards (OSD), его место в экосистеме OpenSearch и типовые потоки данных/аутентификации. Материал ориентирован на администраторов и инженеров эксплуатации.

OSD — это веб‑интерфейс для визуализации и анализа данных в кластере OpenSearch. Сам по себе он **без состояния** (stateless) — все артефакты (визуализации, дашборды, index patterns / data views и т. д.) хранятся в индексе в OpenSearch.

1) Роль OSD в экосистеме OpenSearch


2) Высокоуровневая схема

snippet.mermaid
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 API9200/tcp (HTTPS при включённой безопасности).
- Logstash (beats input) — 5044/tcp (если используется).


3) Внутренние компоненты OSD

4) Аутентификация и авторизация


5) Потоки запросов и кэширование


6) Инжест и жизненный цикл данных

snippet.mermaid
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/визуализации/дашборды

7) Сеть и TLS


8) Масштабирование и HA


9) Производительность и лимиты


10) Логирование и наблюдаемость


11) Типовые конфигурации (фрагменты)

OSD → OpenSearch (минимум)

snippet.yaml
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

Шаблон индексов без реплик для стенда

snippet.bash
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 } }
}'

12) Практические рекомендации


13) Что считать «состоянием» и как бэкапить


14) Мини‑чеклист для прод‑ввода


Итог: OSD — тонкий UI‑слой над OpenSearch, безопасно проксирующий запросы пользователей и хранящий артефакты интерфейса в системном индексе. Масштабирование достигается горизонтальным увеличением инстансов OSD и правильной архитектурой кластера OpenSearch; безопасность — через RBAC/тенанты/TLS и сегментацию сети.

DokuWiki Appliance - Powered by TurnKey Linux