搜索

6.2. 为 Splunk 配置操作日志存储

download PDF

Splunk 是 Elasticsearch 的一个替代方案,可为 Red Hat Quay 数据提供日志分析。

启用 Splunk 日志记录可以在 Red Hat Quay 部署过程中或使用配置工具部署后完成。配置包括直接将操作日志转发到 Splunk 或 Splunk HTTP 事件收集器(HEC)的选项。

使用以下步骤为您的 Red Hat Quay 部署启用 Splunk。

6.2.1. 为 Splunk 安装和创建用户名

使用以下步骤安装并创建 Splunk 凭证。

流程

  1. 通过进入到 Splunk 并输入所需凭证来创建 Splunk 帐户。
  2. 导航到 Splunk Enterprise Free Trial 页面,选择您的平台和安装软件包,然后单击 Download Now
  3. 在您的机器上安装 Splunk 软件。出现提示时,创建一个用户名,如 mvapich _admin 和密码。
  4. 创建用户名和密码后,将为 Splunk 部署提供一个 localhost URL,例如 http://<sample_url>.remote.csb:8000/。在您首选的浏览器中打开 URL。
  5. 使用安装期间创建的用户名和密码登录。您会被定向到 Splunk UI。

6.2.2. 生成 Splunk 令牌

使用以下步骤之一为 Splunk 创建 bearer 令牌。

6.2.2.1. 使用 Splunk UI 生成 Splunk 令牌

使用以下步骤,使用 Splunk UI 为 Splunk 创建 bearer 令牌。

先决条件

  • 已安装 Splunk 并创建了一个用户名。

流程

  1. 在 Splunk UI 上,进入到 Settings Tokens
  2. 单击 Enable Token Authentication
  3. 如果需要,点 Token Settings 并选择 Token Authentication 来确保启用 Token Authentication
  4. 可选:为您的令牌设置过期时间。默认值为 30 天。
  5. 点击 Save
  6. 单击 New Token
  7. 输入用户和 受众 的信息。
  8. 可选:设置 ExpirationNot Before 信息。
  9. Create。您的令牌会出现在 Token 框中。立即复制令牌。

    重要

    如果在复制令牌前关闭框,您必须创建一个新令牌。关闭 New Token 窗口后,整个令牌将不可用。

6.2.2.2. 使用 CLI 生成 Splunk 令牌

使用以下流程,通过 CLI 为 Splunk 创建 bearer 令牌。

先决条件

  • 已安装 Splunk 并创建了一个用户名。

流程

  1. 在 CLI 中,输入以下 CURL 命令以启用令牌身份验证,传递 Splunk 用户名和密码:

    $ curl -k -u <username>:<password> -X POST <scheme>://<host>:<port>/services/admin/token-auth/tokens_auth -d disabled=false
  2. 通过输入以下 CURL 命令,传递 Splunk 用户名和密码来创建令牌。

    $ curl -k -u <username>:<password> -X POST <scheme>://<host>:<port>/services/authorization/tokens?output_mode=json --data name=<username> --data audience=Users --data-urlencode expires_on=+30d
  3. 保存生成的 bearer 令牌。

6.2.3. 配置 Red Hat Quay 以使用 Splunk

使用以下步骤将 Red Hat Quay 配置为使用 Splunk 或 Splunk HTTP 事件收集器(HEC)。

先决条件

  • 已安装 Splunk 并创建了一个用户名。
  • 您已生成 Splunk bearer 令牌。

流程

  1. 将 Red Hat Quay 配置为使用 Splunk 或 Splunk HTTP 事件收集器(HEC)。

    1. 如果选择使用 Splunk,请打开 Red Hat Quay config.yaml 文件并添加以下配置字段:

      # ...
      LOGS_MODEL: splunk
      LOGS_MODEL_CONFIG:
          producer: splunk
          splunk_config:
              host: http://<user_name>.remote.csb 1
              port: 8089 2
              bearer_token: <bearer_token> 3
              url_scheme: <http/https> 4
              verify_ssl: False 5
              index_prefix: <splunk_log_index_name> 6
              ssl_ca_path: <location_to_ssl-ca-cert.pem> 7
      # ...
      1
      字符串.Splunk 集群端点。
      2
      整数.Splunk 管理集群端点端口。与 Splunk GUI 托管的端口不同。可以在 Splunk UI 的 Settings Server Settings General Settings 下找到。
      3
      字符串.为 Splunk 生成的 bearer 令牌。
      4
      字符串.用于访问 Splunk 服务的 URL 方案。如果 Splunk 配置为使用 TLS/SSL,则必须为 https
      5
      布尔值.是否启用 TLS/SSL。默认值为 true
      6
      字符串.Splunk 索引前缀。可以是新的或使用的索引。可以从 Splunk UI 创建。
      7
      字符串.到包含用于 TLS/SSL 验证的证书颁发机构(CA)的单个 .pem 文件的相对容器路径。
    2. 如果选择使用 Splunk HEC,请打开 Red Hat Quay config.yaml 文件并添加以下配置字段:

      # ...
      LOGS_MODEL: splunk
      LOGS_MODEL_CONFIG:
        producer: splunk_hec 1
        splunk_hec_config: 2
          host: prd-p-aaaaaq.splunkcloud.com 3
          port: 8088 4
          hec_token: 12345678-1234-1234-1234-1234567890ab 5
          url_scheme: https 6
          verify_ssl: False 7
          index: quay 8
          splunk_host: quay-dev 9
          splunk_sourcetype: quay_logs 10
      # ...
      1
      在配置 Splunk HEC 时指定 mvapich _hec
      2
      Splunk HTTP 事件收集器操作日志配置的日志模型配置。
      3
      Splunk 集群端点。
      4
      Splunk 管理集群端点端口。
      5
      Splunk 的 HEC 令牌.
      6
      用于访问 Splunk 服务的 URL 方案。如果 Splunk 位于 SSL/TLS 之后,则必须是 https
      7
      布尔值.为 HTTPS 连接启用(true)或禁用(false) SSL/TLS 验证。
      8
      要使用的 Splunk 索引。
      9
      记录此事件的主机名。
      10
      要使用的 Splunk sourcetype 的名称。
  2. 如果要配置 ssl_ca_path,您必须配置 SSL/TLS 证书,以便 Red Hat Quay 信任它。

    1. 如果您使用独立部署 Red Hat Quay,可以通过将证书文件放在 extra_ca_certs 目录或相对容器路径内部并由 ssl_ca_path 指定来提供 SSL/TLS 证书。
    2. 如果使用 Red Hat Quay Operator,请创建一个配置捆绑包 secret,包括 Splunk 服务器的证书颁发机构(CA)。例如:

      $ oc create secret generic --from-file config.yaml=./config_390.yaml --from-file extra_ca_cert_splunkserver.crt=./splunkserver.crt config-bundle-secret

      config.yaml 中指定 conf/stack/extra_ca_certs/splunkserver.crt 文件。例如:

      # ...
      LOGS_MODEL: splunk
      LOGS_MODEL_CONFIG:
          producer: splunk
          splunk_config:
              host: ec2-12-345-67-891.us-east-2.compute.amazonaws.com
              port: 8089
              bearer_token: eyJra
              url_scheme: https
              verify_ssl: true
              index_prefix: quay123456
              ssl_ca_path: conf/stack/splunkserver.crt
      # ...

6.2.4. 创建操作日志

使用以下步骤创建可将操作日志转发到 Splunk 的用户帐户。

重要

您必须使用 Splunk UI 来查看 Red Hat Quay 操作日志。目前,在 Red Hat Quay Usage Logs 页中查看 Splunk 操作日志不被支持,并返回以下消息: Method not implemented。Splunk 不支持日志查找

先决条件

  • 已安装 Splunk 并创建了一个用户名。
  • 您已生成 Splunk bearer 令牌。
  • 您已配置了 Red Hat Quay config.yaml 文件来启用 Splunk。

流程

  1. 登录到您的 Red Hat Quay 部署。
  2. 点您要用来为 Splunk 创建操作日志的组织名称。
  3. 在导航窗格中,点 Robot Accounts Create Robot Account
  4. 出现提示时,输入机器人帐户的名称,如 spunkrobotaccount,然后单击 Create robot account
  5. 在您的浏览器中,打开 Splunk UI。
  6. 单击 Search and Reporting
  7. 在搜索栏中,输入索引的名称,如 <mvapich _log_index_name >,然后按 Enter 键。

    搜索结果在 Splunk UI 上填充。日志以 JSON 格式转发。响应可能类似如下:

    {
      "log_data": {
        "kind": "authentication", 1
        "account": "quayuser123", 2
        "performer": "John Doe", 3
        "repository": "projectQuay", 4
        "ip": "192.168.1.100", 5
        "metadata_json": {...}, 6
        "datetime": "2024-02-06T12:30:45Z" 7
      }
    }
    1
    指定日志事件的类型。在本例中,身份验证 表示日志条目与身份验证事件相关。
    2
    事件中涉及的用户帐户。
    3
    执行操作的个人。
    4
    与事件关联的存储库。
    5
    执行操作的 IP 地址。
    6
    可能包含与事件相关的其他元数据。
    7
    事件发生的时间戳。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.