本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

CLI: sts

概述

SUSE® Observability sts CLI 提供了对 SUSE® Observability API 功能的便捷访问。它可以用于使用 SUSE® Observability 数据进行自动化,配置 SUSE® Observability 和开发 StackPacks。

先决条件

  • SUSE® Observability URL - 您的 SUSE® Observability 实例的 URL(与访问网页界面时使用的 URL 相同)。

  • API Token - 用于身份验证的有效 API 词元,可以从您的 SUSE® Observability 实例中的 CLI 页面获取。

要获取您的 API 词元:

  1. 登录到您的 SUSE® Observability 实例。

  2. 导航到 主菜单 > CLI

  3. 复制页面上显示的 API 词元。

快速入门

安装和配置 sts CLI 的最快方法是使用您 SUSE® Observability 实例中可用的预填充命令:

  1. 登录到您的 SUSE® Observability 实例。

  2. 导航到 Main menu > CLI

  3. 复制适合您操作系统的命令并在终端中运行。

这些命令已预填充您特定 SUSE® Observability 实例的正确 URL 和 API 词元,使安装和配置成为一步完成。

下载 CLI

  • Windows

  • macOS

  • Linux

  • Docker

打开一个 Powershell 终端(版本 5.1 或更高)并运行以下步骤。这可以一步一步完成,或者合并为一个脚本。安装后,sts 命令将在 Powershell 终端和命令提示符(cmd.exe)中对当前用户可用。

  1. 为 CLI 设置源版本和目标路径:

    $CLI_PATH = $env:USERPROFILE +"\stackstate-cli"
    If (!(test-path $CLI_PATH)) { md $CLI_PATH }
    Invoke-WebRequest https://dl.stackstate.com/stackstate-cli/LATEST_VERSION -OutFile $CLI_PATH\VERSION
    $VERSION=type $CLI_PATH\VERSION
    $VERSION=$VERSION -replace "[v]"
    $CLI_DL = "https://dl.stackstate.com/stackstate-cli/v$VERSION/stackstate-cli-$VERSION.windows-x86_64.zip"
    echo "Installing {stackstate-product-name} CLI v$VERSION to: $CLI_PATH"
  2. 下载并解压 CLI 到目标 CLI 路径。去除剩余的工件:

    Invoke-WebRequest $CLI_DL -OutFile $CLI_PATH\stackstate-cli.zip
    Expand-Archive -Path "$CLI_PATH\stackstate-cli.zip" -DestinationPath $CLI_PATH -Force
    rm $CLI_PATH\stackstate-cli.zip, $CLI_PATH\VERSION
  3. 将 CLI 路径注册到当前用户的 PATH 中。这将使得 sts 命令在任何地方可用:

    $PATH = (Get-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Environment" -Name PATH).Path
    if ( $PATH -notlike "*$CLI_PATH*" ) {
      $PATH = "$PATH;$CLI_PATH"
      (Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Environment" -Name PATH –Value $PATH)
      $MACHINE_PATH = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path
      $env:Path = "$PATH;$MACHINE_PATH"
    }
  4. 验证 CLI 是否正常工作:

    sts version

打开终端并运行以下步骤。这可以一步一步完成,也可以作为一个完整的脚本一起完成。安装后,sts 命令将对当前用户可用。

  1. 下载适用于 x86_64(Intel)或 arm64(M1)的最新 CLI 版本。

    (VERSION=`curl https://dl.stackstate.com/stackstate-cli/LATEST_VERSION` &&
      VERSION=${VERSION#v} &&
      ARCH=`uname -m` &&
      curl https://dl.stackstate.com/stackstate-cli/v$VERSION/stackstate-cli-$VERSION.darwin-$ARCH.tar.gz | tar xz --directory /usr/local/bin)
  2. 验证 CLI 是否正常工作:

    sts version

打开终端并运行以下步骤。这可以一步一步完成,也可以作为一个完整的脚本一起完成。安装后,sts 命令将对当前用户可用。

  1. 下载并解压适用于 x86_64 的最新版本:

    (VERSION=`curl https://dl.stackstate.com/stackstate-cli/LATEST_VERSION` && VERSION=${VERSION#v} &&
    curl https://dl.stackstate.com/stackstate-cli/v$VERSION/stackstate-cli-$VERSION.linux-x86_64.tar.gz | tar xz --directory /usr/local/bin)
  2. 验证 CLI 是否正常工作:

    sts version

要使用 Docker 运行最新版本的 CLI,请执行:

docker run stackstate/stackstate-cli2

或者,前往 SUSE® Observability 界面中的 CLI 页面,复制 快速安装 命令用于 Docker——该命令已预填充正确的 <URL><API-TOKEN>,用于配置 CLI 以适应您的 SUSE® Observability 实例。

您现在可以通过将 CLI 命令附加到 docker run 命令的末尾来运行 CLI 命令(例如,docker run stackstate/stackstate-cli2 version)。

配置 CLI

身份验证

API 词元

默认情况下,CLI 将使用您在保存 CLI 配置时提供的 API 词元进行身份验证。

使用环境变量是使用 API 词元的最安全方式。您可以将 API 词元存储在秘密管理器中,并将其作为环境变量注入到您的 shell 中。

  • Windows / macOS / Linux

  • Docker

  1. 在 SUSE® Observability 界面中,前往 主菜单 > CLI 并复制您的 API 词元。

  2. 运行以下命令,其中 <URL> 是您 SUSE® Observability 实例的 URL,<API-TOKEN> 是您从 SUSE® Observability 界面中的 CLI 页面复制的 API 词元:

    sts context save --name <NAME> --url <URL> --api-token <API-TOKEN>
  3. 将测试与您的 SUSE® Observability 实例的连接,并在 ~/.config/stackstate-cli/config.yaml 存储配置文件。

CLI 的 Docker 版本无法使用配置文件进行配置。使用环境变量指定您的 SUSE® Observability 实例的配置,并将这些传递给 Docker:

  • STS_CLI_URL - 您的 SUSE® Observability 实例的 URL。

  • STS_CLI_API_TOKEN - 从 SUSE® Observability 用户界面 Main menu > CLI 页面获取的 API 词元。

  • STS_CA_CERT_PATH - 用于使用自签名证书的服务器的 PEM 编码 CA 证书文件的路径。包含证书的目录必须挂载到 Docker 容器中。

  • STS_CA_CERT_BASE64_DATA - 用于使用自签名证书的服务器的 base64 编码 CA 证书数据(如果指定了 STS_CA_CERT_PATH 则忽略)。

  • STS_SKIP_SSL - 禁用 SSL 证书验证(忽略证书配置,请谨慎使用)。

例如:

docker run \
   -v /path/to/certs:/certs \
   -e STS_CLI_URL \
   -e STS_CLI_API_TOKEN \
   -e STS_CA_CERT_PATH=/certs/ca.crt \
   stackstate/stackstate-cli2 settings list --type Layer

服务词元

您可以选择使用 CLI 创建一个或多个服务词元,以便与 SUSE® Observability 基础和管理 API 进行身份验证。例如,服务词元可以用于在没有真实用户在 SUSE® Observability 实例上执行操作的 CI(持续集成)场景中进行身份验证。

要创建服务词元,请运行以下命令:

sts service-token create --name <NAME> --roles <ROLE(s)> [--expiration <yyyy-MM-dd>]

这将创建一个新的服务词元并打印出来。--expiration 参数是可选的,可用于设置服务词元的到期日期。

一旦您拥有这个,您可以配置 CLI 使用它:

sts context save --name <NAME> --service-token <TOKEN> --url <URL>

管理多个上下文

sts CLI 支持不同(身份验证)上下文的配置和管理。这使您可以轻松在管理员和普通用户之间切换,或在不同的 SUSE® Observability 实例之间切换。例如,您可以为 SUSE® Observability 的测试和生产实例使用不同的上下文。您可以在 sts CLI 中列出、保存、删除、设置和验证上下文。运行 sts context -h 以获取可用命令及其用法的详细信息。

配置选项

您不需要配置文件即可运行 sts CLI。您还可以通过环境变量和标志的组合来配置 CLI。

如果向 CLI 提供多种类型的配置,处理顺序将是:

  1. 标志

  2. 环境变量

  3. 配置文件

环境变量 标志 说明

STS_CLI_URL

--url

指向您的 SUSE® Observability 实例的 API 词元。

STS_CLI_API_TOKEN

--api-token

指向您的 SUSE® Observability 实例的 API 词元。使用环境变量是使用 API 词元的最安全方式。您可以将 API 词元存储在秘密管理器中,并将其作为环境变量注入到您的 shell 中。

STS_CLI_SERVICE_TOKEN

--service-token

指向您的 SUSE® Observability 实例的服务词元。使用服务词元的最安全方式是通过环境变量。您可以将服务词元存储在秘密管理器中,并将其作为环境变量注入到您的 shell 中。

STS_CA_CERT_PATH

--ca-cert-path

用于自签名证书或来自私有 CA 的证书的服务器的 PEM 编码 CA 证书文件的路径。

STS_CA_CERT_BASE64_DATA

--ca-cert-base64-data

用于自签名证书或来自私有 CA 的证书的服务器的 Base64 编码 CA 证书数据。如果指定了 STS_CA_CERT_PATH,则忽略。

STS_SKIP_SSL

--skip-ssl

禁用 SSL 证书验证。当设置为 true 时,CLI 将不验证 SSL 证书,并将忽略 STS_CA_CERT_PATHSTS_CA_CERT_BASE64_DATA 设置。请谨慎使用,因为这会降低安全性。

STS_CLI_API_PATH

附加到 URL 末尾以获取 API 端点的路径。(默认为 /api

STS_CLI_CONTEXT

--context

要使用的上下文名称。

除了覆盖配置文件的特定部分外,还可以覆盖默认配置文件位置。这是通过 --config <PATH> 标志完成的。

可用的命令

sts CLI 提供以下顶级命令:

命令 说明

代理

管理 SUSE® Observability 代理

completion

为 shell 生成自动补全脚本

环境

管理 CLI 上下文和配置

仪表盘

管理仪表盘

状态

与健康同步相关的命令

许可证

管理 SUSE® Observability 许可证信息

monitor

管理监视器和监视配置

rbac

管理 RBAC

service-token

管理服务令牌。

设置

管理实例设置和配置

stackpack

管理和上传 StackPacks

主题

管理 Kafka 主题

拓扑同步

管理拓扑同步

用户会话

检查用户会话

version

显示版本信息

所有命令都接受 --help 标志,该标志记录每个命令的用法。

要获取有关任何命令及其子命令的详细信息,请运行:

sts [command] --help

升级

要升级到最新版本的 sts CLI,请 再次运行安装命令

您可以使用命令 sts version 检查当前运行的 sts CLI 的版本。

卸装

  • Windows

  • macOS

  • Linux

  • Docker

快速卸载

打开一个 Powershell 终端并运行:

. { iwr -useb https://dl.stackstate.com/stackstate-cli/install.ps1 } | iex; uninstall

当前用户的 sts CLI 及所有相关配置已被去除。

手动卸载

打开一个 Powershell 终端并逐步或一次性运行每个步骤。当前用户的 sts CLI 及所有相关配置将被去除。

  1. 去除二进制文件:

    $CLI_PATH = $env:USERPROFILE+"\stackstate-cli"
    rm -R $CLI_PATH 2>1  > $null
  2. 去除配置:

    rm -R $env:USERPROFILE+"\.config\stackstate-cli" 2>1  > $null
  3. 从环境路径中去除 CLI:

    $PATH = (Get-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Environment' -Name PATH).Path
    $i = $PATH.IndexOf(";$CLI_PATH")
    if ($i -ne -1) {
      $PATH = $PATH.Remove($i, $CLI_PATH.Length+1)
      (Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Environment' -Name PATH –Value $PATH)
    }

快速卸载

打开终端并运行:

curl -o- https://dl.stackstate.com/stackstate-cli/uninstall.sh | bash

当前用户的 sts CLI 及所有相关配置已被去除。

手动卸载

  1. 打开终端。

  2. 要去除 sts CLI,请运行以下命令:

    rm -r /usr/local/bin/sts
  3. 要去除 sts CLI 的配置,请运行以下命令:

    rm -r ~/.config/stackstate-cli

当前用户的 sts CLI 及所有相关配置已被去除。

快速卸载

打开终端并运行:

curl -o- https://dl.stackstate.com/stackstate-cli/uninstall.sh | bash

当前用户的 sts CLI 及所有相关配置已被去除。

手动卸载

  1. 打开终端。

  2. 要去除 sts CLI,请运行以下命令:

    rm -r /usr/local/bin/sts
  3. 要去除 sts CLI 的配置,请运行以下命令:

    rm -r ~/.config/stackstate-cli

当前用户的 sts CLI 及所有相关配置已被去除。

要去除 CLI 镜像和容器,请运行:

docker rmi -f stackstate/stackstate-cli2

开放源代码

SUSE® Observability sts CLI 是开源的,可以在 GitHub 上找到: