elastic-package 参考

编辑

elastic-package 参考

编辑

elastic-package 是一个用 Go 编写的命令行工具,用于开发 Elastic 包。它可以帮助您对包进行 lint 检查、格式化、测试、构建和升级。

入门

编辑
  1. 下载并构建最新版本的 elastic-package 二进制文件

    git clone https://github.com/elastic/elastic-package.git
    make build

    确保您已正确设置 $GOPATH$PATH 环境变量。elastic-package 必须可以通过您的 $PATH 访问。

  2. 切换到正在开发的包的目录

    cd my-package
  3. 运行 help 命令以查看可用的命令

    elastic-package help

命令参考

编辑

以下 elastic-package 命令可用。有关特定命令的更多详细信息,请运行 elastic-package help <command>

某些命令具有全局上下文,这意味着您可以从任何地方执行它们。其他命令具有包上下文;这些命令必须在包根文件夹下某个位置执行,并且该命令仅对该包的内容进行操作。

elastic-package help

编辑

上下文:全局

使用此命令列出 elastic-package 下所有可用的命令以及每个命令的功能简要说明。

elastic-package build

编辑

上下文:包

使用此命令构建包。目前,它仅支持“integration”包类型。

构建的包存储在包含包文件夹的本地 Git 存储库检出的根文件夹中的“build/”文件夹中。如果 _dev/build/docs/README.md 中存在相应的模板文件,该命令还会呈现包文件夹中的 README 文件。您的包下的所有 _dev 目录都将被省略。

本地运行的 Elastic 包注册表会提供构建的包(请参阅“elastic-package stack”)。因此,如果您希望本地包由本地 Elastic 包注册表提供,请确保首先使用“elastic-package build”构建该包。

您还可以将构建的包发布到全局包注册表服务。

elastic-package check

编辑

上下文:包

使用此命令验证包在格式、验证和构建方面是否正确。

它将依次执行 format、lint 和 build 命令。

elastic-package clean

编辑

上下文:包

使用此命令清理构建包时使用的资源。

该命令将删除构建的包文件(在 build/ 中)、管理开发堆栈所需的文件(在 ~/.elastic-package/stack/development 中)和堆栈服务日志(在 ~/.elastic-package/tmp/service_logs 中)。

elastic-package create

编辑

上下文:全局

使用此命令创建新包或添加更多数据流。

该命令可以帮助使用嵌入式包模板引导包的第一个草稿。然后,您可以使用它通过更多数据流扩展包。

有关创建新包的详细信息,请查看 HOWTO 指南

elastic-package export

编辑

上下文:包

使用此命令导出与包相关的资产,例如 Kibana 仪表板。

elastic-package format

编辑

上下文:包

使用此命令格式化包文件。

格式化程序支持 JSON 和 YAML 格式,并跳过“ingest_pipeline”目录,因为它很难正确格式化 Handlebars 模板文件。因此,格式化的文件会被覆盖。

elastic-package install

编辑

上下文:包

使用此命令在 Kibana 中上传和安装包。

从 Kibana 版本 8.7.0 开始,包不需要在包注册表中公开即可安装。相反,它们可以作为使用 elastic-package build 命令构建的 zip 文件上传。

  1. 确保您已验证您的包。在构建之前,请通过运行 elastic-package check 命令来验证包。
  2. 使用 --zip 参数安装特定 zip 文件,或使用 install 命令构建包并将构建的 zip 文件上传到 Kibana。
使用 --zip 安装
编辑

安装压缩包。此方法依赖于包注册表。

elastic-package stack up -d
elastic-package install --zip /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip -v
使用 elastic-package install 安装
编辑

构建并上传压缩包,而不依赖于包注册表。

elastic-package stack up -v -d
elastic-package install -v
自定义
编辑

可以自定义包安装,以便在其他 Kibana 实例中安装,方法是使用以下变量

  • ELASTIC_PACKAGE_KIBANA_HOST
  • ELASTIC_PACKAGE_ELASTICSEARCH_USERNAME
  • ELASTIC_PACKAGE_ELASTICSEARCH_PASSWORD
  • ELASTIC_PACKAGE_CA_CERT

例如

export ELASTIC_PACKAGE_KIBANA_HOST="https://test-installation.kibana.test:9243"
export ELASTIC_PACKAGE_ELASTICSEARCH_USERNAME="elastic"
export ELASTIC_PACKAGE_ELASTICSEARCH_PASSWORD="xxx"
# if it is a public instance, this variable should not be needed
export ELASTIC_PACKAGE_CA_CERT=""

elastic-package install --zip elastic_package_registry-0.0.6.zip -v
旧版本
编辑

对于 Kibana 版本 <8.7.0,必须通过包注册表公开该包。在开发情况下,这意味着应该先构建该包,然后必须启动 Elastic 堆栈。或者,至少需要在 Elastic 堆栈中重新启动 package-registry 服务

elastic-package build -v
elastic-package stack up -v -d  # elastic-package stack up -v -d --services package-registry
elastic-package install -v

要在 Kibana 中安装包,该命令使用 Kibana API。该包必须通过 Elastic 包注册表公开。

elastic-package lint

编辑

上下文:包

使用此命令使用包规范验证包的内容(请参阅:https://github.com/elastic/package-spec)。

该命令确保包符合包规范,并且 README 文件与其模板(如果存在)保持最新。

elastic-package profiles

编辑

上下文:全局

使用此命令添加、删除和管理多个配置配置文件。

各个用户配置文件显示在 ~/.elastic-package/stack 中,并包含“stack”子命令所需的所有配置文件。创建新配置文件后,可以使用 -p 标志或 ELASTIC_PACKAGE_PROFILE 环境变量指定它。用户配置文件在升级 elastic-stack 时不会被覆盖,并且可以自由修改以允许不同的堆栈配置。

elastic-package promote

编辑

上下文:全局

使用此命令在 Elastic 包注册表的快照、暂存和生产阶段之间移动包。

此命令主要供管理员使用。

它允许选择要升级的包并打开新的拉取请求以审查更改。但是,请注意,该工具会检出一个内存中的 Git 存储库并切换分支(快照、暂存和生产),因此升级大量包可能需要更长时间。

elastic-package publish

编辑

上下文:包

使用此命令发布新的包版本。

该命令检查包是否已发布(无论它是否存在于快照/暂存/生产分支中或是否以拉取请求的形式打开)。如果包版本尚未发布,它将打开一个新的拉取请求。

elastic-package service

编辑

上下文:包

使用此命令启动可以与包一起观察的服务堆栈。

该命令管理为包开发和测试目的定义的包(_dev/deploy)的服务堆栈的生命周期。

elastic-package stack

编辑

上下文:全局

使用此命令启动一个基于 Docker 的 Elastic Stack,该堆栈由 Elasticsearch、Kibana 和 Elastic 包注册表组成。默认情况下,将启动最新发布版本的 Elastic Stack,但可以指定不同的版本,包括 SNAPSHOT 版本。

有关将服务与 Elastic Stack 连接的详细信息,请参阅 service 命令

elastic-package status [package]

编辑

上下文:包

使用此命令显示包的当前部署状态。

如果指定了包名称,则会返回有关该包的信息。否则,此命令将检查当前目录是否为包目录并报告其状态。

elastic-package test

编辑

上下文:包

使用此命令对包运行测试。目前,以下类型的测试可用

资产加载测试
编辑

这些测试确保您的包定义的所有 Elasticsearch 和 Kibana 资产都按预期加载。

有关对包运行资产加载测试的详细信息,请参阅 HOWTO 指南

管道测试
编辑

这些测试允许您练习您的包定义的任何摄取节点管道。

有关如何为包配置管道测试的详细信息,请查看 HOWTO 指南

静态测试
编辑

这些测试允许您验证包的所有静态资源是否有效,例如 sample_event.json 的所有字段是否都有文档记录。

有关对包运行静态测试的详细信息,请参阅 HOWTO 指南

系统测试
编辑

这些测试允许您测试包端到端摄取数据的能力。

有关配置和运行系统测试的详细信息,请查看 HOWTO 指南

elastic-package uninstall

编辑

上下文:包

使用此命令在 Kibana 中卸载包。

要在 Kibana 中卸载包,该命令使用 Kibana API。该包必须通过 Elastic 包注册表公开。

elastic-package version

编辑

上下文:全局

使用此命令打印您已安装的 elastic-package 的版本。在报告错误时,此命令特别有用。