Metricbeat Beat не удалось подключиться к es (включен xpack)

Версия Helm: "v3.1.1"

helm get release вывод

статус helm metricbeat ИМЯ: metricbeat ПОСЛЕДНЕЕ РАЗВЕРТЫВАНИЕ: Чт, 30 апр, 10:05:32 2020 NAMESPACE: по умолчанию СТАТУС: развернуто РЕДАКЦИЯ: 1

Опишите ошибку: Невозможно подключиться к elasticsearch, развернутая карта конфигурации не содержит ввода имени пользователя: и пароля.

Действия по воспроизведению:

  1. Включить xpack в elasticsearch
  2. run - helm install metricbeat elastic / metricbeat --set imageTag = 7.6.2 --values ​​metrics.yaml

metrics.yaml

daemonset:
  extraEnvs:
    - name: 'ES_USERNAME'
      valueFrom:
        secretKeyRef:
          name: elastic-credentials
          key: username
    - name: 'ES_PASSWORD'
      valueFrom:
        secretKeyRef:
          name: elastic-credentials
          key: password
  # Allows you to add any config files in /usr/share/metricbeat
  # such as metricbeat.yml for daemonset
  metricbeatConfig:
    metricbeat.yml: |
      metricbeat.modules:
      - module: kubernetes
        metricsets:
          - container
          - node
          - pod
          - system
          - volume
        period: 10s
        host: "${NODE_NAME}"
        hosts: ["${NODE_NAME}:10250"]
        # bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        # ssl.verification_mode: "none"
        # If using Red Hat OpenShift remove ssl.verification_mode entry and
        # uncomment these settings:
        #ssl.certificate_authorities:
          #- /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
        processors:
        - add_kubernetes_metadata: ~
      - module: kubernetes
        enabled: true
        metricsets:
          - event
      - module: system
        period: 10s
        metricsets:
          - cpu
          - load
          - memory
          - network
          - process
          - process_summary
        processes: ['.*']
        process.include_top_n:
          by_cpu: 5
          by_memory: 5
      - module: system
        period: 1m
        metricsets:
          - filesystem
          - fsstat
        processors:
        - drop_event.when.regexp:
            system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
      output.elasticsearch:
        username: '${ES_USERNAME}'
        password: '${ES_PASSWORD}'
        hosts: ["elasticsearch-master:9200"]


deployment:
  extraEnvs:
    - name: 'ES_USERNAME'
      valueFrom:
        secretKeyRef:
          name: elastic-credentials
          key: username
    - name: ES_PASSWORD'
      valueFrom:
        secretKeyRef:
          name: elastic-credentials
          key: password
  # Allows you to add any config files in /usr/share/metricbeat
  # such as metricbeat.yml for deployment
  metricbeatConfig:
    metricbeat.yml: |
      metricbeat.modules:
      - module: kubernetes
        enabled: true
        metricsets:
          - state_node
          - state_deployment
          - state_replicaset
          - state_pod
          - state_container
        period: 10s
        hosts: ["${KUBE_STATE_METRICS_HOSTS}"]
      output.elasticsearch:
        username: '${ES_USERNAME}'
        password: '${ES_PASSWORD}'
        hosts: ["elasticsearch-master:9200"]

metricbeat.yml после развертывания не содержит ввода имени пользователя и пароля:

 metricbeat.modules:
    - module: kubernetes
      metricsets:
        - container
        - node
        - pod
        - system
        - volume
      period: 10s
      host: "${NODE_NAME}"
      hosts: ["${NODE_NAME}:10255"]
      processors:
      - add_kubernetes_metadata:
          in_cluster: true
    - module: kubernetes
      enabled: true
      metricsets:
        - event
    - module: system
      period: 10s
      metricsets:
        - cpu
        - load
        - memory
        - network
        - process
        - process_summary
      processes: ['.*']
      process.include_top_n:
        by_cpu: 5
        by_memory: 5
    - module: system
      period: 1m
      metricsets:
        - filesystem
        - fsstat
      processors:
      - drop_event.when.regexp:
          system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
    output.elasticsearch:
      hosts: '${ELASTICSEARCH_HOSTS:elasticsearch-master:9200}'

Ожидаемое поведение: должен без проблем подключаться к es, используя имя пользователя и пароль.

Предоставьте журналы и / или вывод сервера (если необходимо):

   pipeline/output.go:100 Failed to connect to backoff(elasticsearch(http://elasticsearch-master:9200)): 401 Unauthorized: {"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}

Любой дополнительный контекст:

Я могу подключить эластичный поиск, используя те же учетные данные, и он также отлично работает с входом в систему Kibana.


person paulpuvi    schedule 02.05.2020    source источник
comment
Из readme: обратите внимание, что мы не поддерживаем версию Helm 3. Вы пробовали это с Helm версии 2? В github.com/elastic/helm-charts/issues/401 есть еще кое-что подробности о плане обновления и о том, как его можно обойти.   -  person xeraa    schedule 03.05.2020


Ответы (1)


Я поддерживаю диаграммы Elastic Helm.

Из-за недавнего рефакторинга значения daemonset.xxx и deployment.xxx, задокументированные в главной ветке репозитория Git, несовместимы с текущей выпущенной версией диаграммы.

Если вы хотите установить текущую выпущенную версию (7.6.2), вы можете найти значения для использования в README из версии 7.6.2.

Если вы хотите развернуть следующую версию, которая должна быть выпущена в ближайшее время и будет использовать значения daemonset.xxx и deployment.xxx, вы можете клонировать репо и использовать инструкции по установке из ветки 7.7.

PS: Как упоминалось в комментарии, обратите внимание, что эластичные диаграммы еще не поддерживают Helm v3, мы по-прежнему рекомендуем использовать Helm v2.

person jmlrt    schedule 11.05.2020