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/”文件夹中。该命令还将在你的包文件夹中渲染 README 文件,前提是在 _dev/build/docs/README.md 中存在相应的模板文件。你的包下的所有 _dev 目录都将被省略。

构建的包由本地运行的 Elastic Package Registry 提供服务(参见“elastic-package stack”)。因此,如果你希望本地包由本地 Elastic Package Registry 提供服务,请确保首先使用“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 Package Registry 公开。

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 Package Registry 快照、暂存和生产阶段之间移动包。

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

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

elastic-package publish编辑

上下文:包

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

该命令检查包是否已发布(它是否出现在快照/暂存/生产分支中,或者作为拉取请求打开)。如果包修订版尚未发布,它将打开一个新的拉取请求。

elastic-package service编辑

上下文:包

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

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

elastic-package stack编辑

上下文:全局

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

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

elastic-package status [package]编辑

上下文:包

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

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

elastic-package test编辑

上下文:包

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

资产加载测试编辑

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

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

管道测试编辑

这些测试允许你练习你的包定义的任何 Ingest Node 管道。

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

静态测试edit

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

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

系统测试edit

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

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

elastic-package uninstalledit

上下文:包

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

为了在 Kibana 中卸载包,该命令使用 Kibana API。该包必须通过 Elastic Package Registry 公开。

elastic-package versionedit

上下文:全局

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