elastic-package 参考
elastic-package 是一个用 Go 编写的命令行工具,用于开发 Elastic Packages。它可以帮助您进行 lint、format、test、build 和 promote 您的 packages。
下载并构建 elastic-package 二进制文件的最新 main 版本
git clone https://github.com/elastic/elastic-package.git make build提示确保您已正确设置
$GOPATH和$PATH环境变量。elastic-package必须可以从您的$PATH访问。进入正在开发的 package 的目录
cd my-package运行
help命令查看可用命令elastic-package help
以下 elastic-package 命令可用。有关特定命令的更多详细信息,请运行 elastic-package help <command>。
某些命令具有全局上下文,这意味着您可以从任何地方执行它们。其他命令具有包上下文;这些命令必须从包根文件夹下的某个位置执行,并且命令将仅操作该包的内容。
上下文:全局
使用此命令列出 elastic-package 下所有可用的命令以及每个命令的简要说明。
上下文:包
使用此命令构建一个包。目前,它仅支持“integration”包类型。
构建的包存储在位于包含您的包文件夹的本地 Git 存储库签出的根文件夹中的“build/”文件夹中。如果 _dev/build/docs/README.md 中存在相应的模板文件,该命令还将渲染您包中的 README 文件。您的包下的所有 _dev 目录都将被省略。
构建的包由本地运行的 Elastic Package Registry 提供服务(请参阅“elastic-package stack”)。因此,如果您希望本地包由本地 Elastic Package Registry 提供服务,请务必先使用“elastic-package build”构建该包。
您也可以将构建的包发布到全局包注册表服务。
上下文:包
使用此命令验证包在格式、验证和构建方面是否正确。
它将按顺序一次性执行 format、lint 和 build 命令。
上下文:包
使用此命令清理用于构建包的资源。
该命令将删除构建的包文件(在 build/ 中)、用于管理开发堆栈的文件(在 ~/.elastic-package/stack/development 中)和堆栈服务日志(在 ~/.elastic-package/tmp/service_logs 中)。
上下文:全局
使用此命令创建新包或添加更多数据流。
该命令可以使用嵌入式包模板来引导包的第一个草稿。然后,您可以使用它来扩展包以包含更多数据流。
有关创建新包的详细信息,请参阅 HOWTO 指南。
上下文:包
使用此命令导出与包相关的资产,例如 Kibana dashboards。
上下文:包
使用此命令格式化包文件。
格式化程序支持 JSON 和 YAML 格式,并跳过“ingest_pipeline”目录,因为很难正确格式化 Handlebars 模板文件。因此,格式化后的文件将被覆盖。
上下文:包
使用此命令将包上传并安装到 Kibana。
从 Kibana 版本 8.7.0 开始,包无需在 Package Registry 中公开即可安装。取而代之的是,它们可以作为使用 elastic-package build 命令构建的 zip 文件上传。
- 确保您已验证包。在构建之前,请通过运行
elastic-package check命令来验证包。 - 使用
--zip参数安装特定的 zip 文件,或使用install命令构建包并将构建的 zip 文件上传到 Kibana。
安装 zip 包。此方法依赖于 Package Registry。
elastic-package stack up -d
elastic-package install --zip /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip -v
构建并上传 zip 包,而不依赖于 Package Registry。
elastic-package stack up -v -d
elastic-package install -v
包安装可以定制,以便使用以下变量安装到其他 Kibana 实例中
ELASTIC_PACKAGE_KIBANA_HOSTELASTIC_PACKAGE_ELASTICSEARCH_USERNAMEELASTIC_PACKAGE_ELASTICSEARCH_PASSWORDELASTIC_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,包必须通过 Package Registry 公开。在开发情况下,这意味着必须先构建包,然后启动 Elastic stack。或者,至少需要重新启动 Elastic stack 中的 package-registry 服务。
elastic-package build -v
elastic-package stack up -v -d
elastic-package install -v
- elastic-package stack up -v -d --services package-registry
要将包安装到 Kibana,该命令使用 Kibana API。包必须通过 Elastic Package Registry 公开。
上下文:包
使用此命令使用包规范(请参阅:https://github.com/elastic/package-spec)验证包的内容。
该命令确保包与包规范一致,并且 README 文件与其模板(如果存在)保持最新。
上下文:全局
使用此命令添加、删除和管理多个配置配置文件。
Individual user profiles appear in ~/.elastic-package/stack and contain all the config files needed by the "stack" subcommand. Once a new profile is created, it can be specified with the -p flag, or the ELASTIC_PACKAGE_PROFILE environment variable. User profiles are not overwritten on an upgrade of elastic-stack and can be freely modified to allow for different stack configs.
上下文:全局
使用此命令在 Elastic Package Registry 的快照、暂存和生产阶段之间移动包。
此命令主要供管理员使用。
它允许选择要提升的包并打开新的拉取请求来审查更改。但是,请注意,该工具会签出内存中的 Git 存储库并在分支(snapshot、staging 和 production)之间切换,因此提升大量包可能需要更长时间。
上下文:包
使用此命令发布新的包修订版。
该命令检查包是否已发布(无论它是否已存在于 snapshot/staging/production 分支中或作为拉取请求打开)。如果包修订版尚未发布,它将打开一个新的拉取请求。
上下文:包
使用此命令启动可由包观察到的服务堆栈。
该命令管理包(_dev/deploy)定义的用于包开发和测试的服务堆栈的生命周期。
上下文:全局
使用此命令启动一个基于 Docker 的 Elastic Stack,包括 Elasticsearch、Kibana 和 Elastic Package Registry。默认情况下,会启动最新发布的 Elastic Stack 版本,但也可以指定不同的版本,包括 SNAPSHOT 版本。
有关将服务与 Elastic Stack 连接的详细信息,请参阅 service 命令。
上下文:包
使用此命令显示包的当前部署状态。
如果指定了包名称,则会返回有关该包的信息。否则,此命令会检查当前目录是否为包目录并报告其状态。
上下文:包
使用此命令运行包的测试。目前,以下类型的测试可用
这些测试可确保您的包定义的 Elasticsearch 和 Kibana 资产按预期加载。
有关运行包的资产加载测试的详细信息,请参阅 HOWTO 指南。
这些测试允许您测试您的包定义的任何 Ingest Node Pipeline。
有关如何为包配置 pipeline 测试的详细信息,请参阅 HOWTO 指南。
这些测试允许您验证包的所有静态资源是否有效,例如 sample_event.json 的所有字段是否已记录。
有关运行包的静态测试的详细信息,请参阅 HOWTO 指南。
这些测试允许您测试包端到端的数据摄取能力。
有关配置和运行系统测试的详细信息,请参阅 HOWTO 指南。
上下文:包
使用此命令卸载 Kibana 中的包。
要卸载 Kibana 中的包,该命令使用 Kibana API。包必须通过 Elastic Package Registry 公开。
上下文:全局
使用此命令打印您已安装的 elastic-package 的版本。此命令在报告错误时特别有用。