第 6 章 为 Elasticsearch 配置操作日志存储

默认情况下,过去三个月的用量日志存储在 Red Hat Quay 数据库中,并通过 web UI 在机构和存储库级别公开。需要适当的管理特权才能查看日志条目。对于具有大量日志操作的部署,您现在可以将使用日志存储在 Elasticsearch 中,而不是 Red Hat Quay 数据库后端。要做到这一点,您需要提供自己的 Elasticsearch 堆栈,因为它没有包括在 Red Hat Quay 中作为可自定义组件。

启用 Elasticsearch 日志记录可以在 Red Hat Quay 部署或部署后使用 Red Hat Quay Config Tool 进行。生成的配置存储在 config.yaml 文件中。配置后,通过 Web UI (存储库和组织)通过 Web UI 提供使用日志访问权限。

以下是如何配置操作日志存储,使其从默认 Red Hat Quay 数据库更改为使用 Elasticsearch:

  1. 获取 Elasticsearch 帐户。
  2. 打开 Red Hat Quay Config Tool (在 Red Hat Quay 部署过程中或之后)。
  3. 滚动到 Action Log Storage Configuration 设置,然后选择 Elasticsearch 而不是 Database。下图显示了以下显示的 Elasticsearch 设置:

    Choose Elasticsearch to view settings to store logs

  4. 填写 Elasticsearch 实例的以下信息:

    • Elasticsearch 主机名 :提供 Elasticsearch 服务的系统的主机名或 IP 地址。
    • Elasticsearch 端口 :在您刚刚输入的主机上提供 Elasticsearch 服务的端口号。请注意,该端口必须从运行 Red Hat Quay registry 的所有系统访问。默认值为 TCP 端口 9200。
    • Elasticsearch 访问密钥 :根据需要获取 Elastic 搜索服务所需的访问密钥。
    • Elasticsearch secret key :获取 Elastic search 服务所需的 secret 密钥(如果需要)。
    • AWS 区域 :如果您在 AWS 上运行,请设置 AWS 区域(否则,请留空)。
    • 索引前缀 :选择附加到日志条目的前缀。
    • logs Producer :选择 Elasticsearch (默认)或 Kinesis 将日志定向到 AWS 上的中间 Kinesis 流。您需要设置自己的管道,以便将日志从 Kinesis 发送到 Elasticsearch (如 Logstash)。下图显示了您需要填写 Kinesis 的其他字段:

      On AWS optionally set up an intermediate Kinesis stream

  5. 如果您选择 Elasticsearch 作为 Logs Producer,则不需要进一步的配置。如果您选择了 Kinesis,请填写以下内容:

    • 流名称 :Kinesis 流的名称。
    • AWS 访问密钥 :所需的 AWS 访问密钥的名称(如果需要)。
    • AWS secret key :获取 Kinesis 流所需的 AWS secret 密钥名称(如果需要)。
    • AWS 区域 :AWS 区域。
  6. 完成后,保存配置。配置工具检查您的设置。如果连接到 Elasticsearch 或 Kinesis 服务时遇到问题,您会看到一个错误,并有机会继续编辑。否则,在集群使用新配置重启后,日志将开始定向到 Elasticsearch 配置。