You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中Elastic Agent作为Fleet Server启动失败:无权限获取令牌

问题解答

核心结论

不行,Fleet Server的运行必须依赖Elastic的安全模块(xpack.security),哪怕是本地无许可证的开发环境,也无法在完全禁用xpack.security的情况下启动Fleet Server——因为Fleet Server需要Kibana生成并签发的安全令牌来完成身份验证和通信,而令牌的生成和管理是xpack.security的核心功能之一。

适配本地开发的自动化配置方案

既然本地需要频繁通过docker-compose重建环境,我们可以通过配置环境变量和容器参数,让整个流程完全自动化,不需要开发者手动创建令牌或执行额外步骤:

  1. 修改Elasticsearch和Kibana的docker配置

    • 在Elasticsearch的docker-compose配置中,启用xpack.security并设置固定开发密码(避免每次重建生成随机密码):
      elasticsearch:
        image: docker.elastic.co/elasticsearch/elasticsearch:8.XX.X
        environment:
          - discovery.type=single-node
          - xpack.security.enabled=true
          - ELASTIC_PASSWORD=dev123456  # 固定开发密码,可自行修改
        ports:
          - "9201:9200"  # 端口偏移1位,对应需求
        volumes:
          - es-data:/usr/share/elasticsearch/data
      
    • 在Kibana的配置中,启用xpack.security和Fleet功能,并配置Elasticsearch的认证信息:
      kibana:
        image: docker.elastic.co/kibana/kibana:8.XX.X
        environment:
          - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
          - ELASTICSEARCH_USERNAME=elastic
          - ELASTICSEARCH_PASSWORD=dev123456
          - xpack.security.enabled=true
          - xpack.fleet.enabled=true
        ports:
          - "5602:5601"  # 端口偏移1位
        depends_on:
          - elasticsearch
      
  2. 配置Elastic Agent作为Fleet Server
    在docker-compose中添加Elastic Agent服务,通过环境变量自动完成Fleet Server的初始化和令牌生成:

    fleet-server:
      image: docker.elastic.co/beats/elastic-agent:8.XX.X
      environment:
        - FLEET_SERVER_ENABLE=true
        - FLEET_SERVER_ELASTICSEARCH_HOST=http://elasticsearch:9200
        - FLEET_SERVER_ELASTICSEARCH_USERNAME=elastic
        - FLEET_SERVER_ELASTICSEARCH_PASSWORD=dev123456
        - FLEET_SERVER_SETUP=true  # 自动完成Fleet Server的初始化,包括创建令牌
        - FLEET_SERVER_PORT=8221  # 端口偏移1位
        - KIBANA_HOST=http://kibana:5601
        - KIBANA_USERNAME=elastic
        - KIBANA_PASSWORD=dev123456
      ports:
        - "8221:8221"
      depends_on:
        - elasticsearch
        - kibana
    

补充说明

  • 上述配置中使用的固定密码仅适合本地开发环境,生产环境请勿使用。
  • 端口偏移设置已对应需求,确保Elastic 7和8版本的服务端口不冲突。
  • 启用xpack.security后,本地访问Kibana需要使用配置的elastic账号和密码登录,但整个流程可通过docker-compose配置完全自动化,无需开发者手动介入。

内容的提问来源于stack exchange,提问作者Frederik Struck-Schøning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:50:15