Fleet UI 开发流程
编辑Fleet UI 开发流程编辑
请参阅 Kibana 文档了解 如何设置您的开发环境、运行 Elasticsearch 以及 启动 Kibana.
一种常见的开发工作流程是
-
克隆 Kibana 仓库
git clone https://github.com/[YOUR_USERNAME]/kibana.git kibana cd kibana
-
安装依赖项
nvm use npm install -g yarn
-
引导 Kibana
yarn kbn bootstrap
-
在一个 shell 中启动 Elasticsearch
yarn es snapshot -E xpack.security.authc.api_key.enabled=true
-
在另一个 shell 中启动 Kibana
yarn start --xpack.fleet.enabled=true --no-base-path
- 从 https://elastic.ac.cn/downloads/past-releases/#elastic-agent 下载 fleet-server 软件包
- 解压缩 fleet server 压缩包并
cd
到该目录 -
安装 fleet-server(另请参阅替代解决方案)
sudo ./elastic-agent install -f \ --fleet-server-es=http://elastic:changeme@localhost:9200 \ --fleet-server-policy=<default policy id>
在安装任何 fleet server 之前,可以通过 Kibana 中的 Fleet UI 指示获取
默认策略 ID
。Fleet Server 将在+https://users_machine_ip:8220+
中启动 - 在 Fleet UI 右上角更新 Fleet 设置以设置正确的 Fleet Server 主机(上一步中的 IP)。
- 之后,用户可以随意注册代理。
- Kibana fleet 插件中的任何代码更新都应自动被拾取,并导致服务器重新启动,或在下次页面刷新时提供给浏览器。
Fleet Server 的替代解决方案编辑
您可以选择在容器中本地运行 Fleet Server,而不是下载 fleet server 软件包并将其作为本地进程运行。
在本地机器上的容器中运行 Fleet Server 可能很有用,这样可以释放您的实际“裸机”机器来运行 Elastic Agent 以进行测试。否则,您只能在本地机器上运行一个专用于 Fleet Server 的 Elastic Agent 实例,这会使测试集成和策略变得困难。
以下是 Fleet Server 自述文件 的改编内容
-
将以下配置添加到您的
config/kibana.yml
中server.host: 0.0.0.0
-
将以下选项附加到用于启动 Elasticsearch 的命令中
-E http.host=0.0.0.0
此命令应如下所示
yarn es snapshot --license trial -E xpack.security.authc.api_key.enabled=true -E path.data=/tmp/es-data -E http.host=0.0.0.0
-
运行 Fleet Server Docker 容器。确保在您的本地 Kibana 实例使用 BASE-PATH 时包含 BASE-PATH 值。YOUR-IP 应对应于 Docker 网络用来表示主机 IP 地址的 IP 地址。对于 Windows 和 Mac 机器,这应该是 192.168.65.2。如果您不确定此 IP 应是什么,请运行以下命令以查找它
docker run -it --rm alpine nslookup host.docker.internal
要运行 Fleet Server Docker 容器,请执行以下操作
docker run -e KIBANA_HOST=http://{YOUR-IP}:5601/{BASE-PATH} -e KIBANA_USERNAME=elastic -e KIBANA_PASSWORD=changeme -e ELASTICSEARCH_HOST=http://{YOUR-IP}:9200 -e ELASTICSEARCH_USERNAME=elastic -e ELASTICSEARCH_PASSWORD=changeme -e KIBANA_FLEET_SETUP=1 -e FLEET_SERVER_ENABLE=1 -e FLEET_SERVER_INSECURE_HTTP=1 -p 8220:8220 docker.elastic.co/beats/elastic-agent:{VERSION}
确保您提供 -p 8220:8220 端口映射,以将 Fleet Server 容器的端口 8220 映射到您本地机器的端口 8220,以便 Fleet 与 Fleet Server 通信。
对于最新版本,请使用 8.0.0-SNAPSHOT。否则,您可以在 https://www.docker.elastic.co/r/beats/elastic-agent 上查看可用版本。
Fleet Server 容器运行后,您就可以像在本地机器上运行
+https://127.0.0.1:8220+
上运行的本地进程一样对待它,在通过 UI 配置 Fleet 时。然后,您可以在本地机器上直接运行elastic-agent
以进行测试。