Добавить дашборд в Opensearch

Кастомный дашборд в интерфейсе Opensearch можно создать с помощью редактирования объектов в интерфейсе платформы “Штурвал” и правки конфигураций в интерфейсе OpenSearch.

Дашборд Ingress

  1. В кластере управления в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите Модуль управления внешними подключениями (shturval-ingress-controller) и нажмите Управлять. В блоке “Спецификация сервиса” в секцию controller добавьте config.
Пример customvalues
controller:
  config:
    log-format-escape-json: 'true'
    log-format-upstream: <ваше значение параметра>
Параметр Описание Тип данных Пример
log-format-upstream Формат журнала логов NGINX string {“ingress_time”: “$time_iso8601”, “ingress_remote_addr”: “$proxy_protocol_addr”, “ingress_x_forwarded_for”: “$proxy_add_x_forwarded_for”, “ingress_request_id”: “$req_id”, “ingress_remote_user”: “$remote_user”, “ingress_bytes_sent”: $bytes_sent, “ingress_request_time”: $request_time, “ingress_status”: $status, “ingress_vhost”: “$host”, “ingress_request_proto”: “$server_protocol”, “ingress_path”: “$uri”, “ingress_request_query”: “$args”, “ingress_request_length”: $request_length, “ingress_duration”: $request_time, “ingress_method”: “$request_method”, “ingress_http_referrer”: “$http_referer”, “ingress_http_user_agent”: “$http_user_agent” }

Сохраните изменения.

  1. В кластере управления в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите Модуль локального сбора логов (shturval-log-collector) и нажмите Управлять. В блоке “Спецификация сервиса” добавьте секцию shturval логов k8s_logs. В параметре transforms задайте parse_ingress_logs и переопределите inputs для filter_system_namespaces.
Пример сustomvalues

shturval:
  k8s_logs:
    transforms: 
      parse_ingress_logs: 
      type: remap
      inputs: [dedot_fields]
      source: |
        if .kubernetes.pod_namespace == "ingress" && .stream == "stdout" {
          parsed = parse_json!(.message)
          . = merge!(., parsed)
          del(.message)
        }
    filter_system_namespaces: 
      type: filter
      inputs: [parse_ingress_logs]
      condition: |
        .kubernetes.namespace_labels."shturval_tech/type" == "system"
Скриншот

mgmtdashlogcollector

  1. В кластере управления нажмите кнопку “Логи” и авторизуйтесь в интерфейс OpenSearch.
Скриншот

mgmtclusterdash

  1. Создайте Index Pattern для кластера, в котором необходимо сделать дашборд. В случае, если Index Pattern уже создан, перейдите к следующему пункту.
  2. В интерфейсе OpenSearch перейдите в раздел “Dashboards Management” на страницу “Saved Objects”.
  3. На открывшейся странице нажмите “Import” и загрузите файл с дашбордом и связанными визуализациями в формате ndjson.
Скриншот

savedobjectsos

  1. Выберите IndexPattern, к которому необходимо применить конфигурацию.
Скриншот

importsavedobjects

Отобразится список дашбордов, которые будут загружены:

Скриншот

importedsavedobjects

  1. Сохраните конфигурацию.
  2. Перейдите на страницу “Dashboards”. На странице будет доступен дашборд “Ingress”.
Скриншоты

osdash1

osdash

Дашборд Kube-API

  1. Нажмите кнопку “Логи” и авторизуйтесь в интерфейс OpenSearch.
  2. Создайте IndexPattern для индекса с префиксом *_kaudit-*. Это приведет к созданию единого IndexPattern для kube-audit индексов всех кластеров.
  3. В интерфейсе OpenSearch перейдите в раздел “Dashboards Management” на страницу “Saved Objects”.
  4. На открывшейся странице нажмите “Import” и загрузите файл kube-api.ndjson в формате ndjson.
  5. Выберите IndexPattern, к которому необходимо применить конфигурацию.
Скриншот

kube-apidash

  1. Сохраните конфигурацию.
  2. Перейдите на страницу “Dashboards”. На странице будет доступен дашборд “Kubernetes API Audit”.
Скриншот

kubeapiserverdash

×