6.2. Splunk のアクションログストレージの設定

Splunk は、Red Hat Quay データのログ分析を提供できる Elasticsearch の代替手段です。

Splunk ロギングの有効化は、Red Hat Quay のデプロイメント中またはデプロイメント後に設定ツールを使用して行うことができます。出来上がった設定は、config.yaml ファイルに格納されます。設定すると、Splunk Web UI を介してリポジトリーと組織の使用状況ログへのアクセスが引き続き提供されます。

Red Hat Quay デプロイメントで Splunk を有効にするには、次の手順を使用します。

6.2.1. Splunk のインストールとユーザー名の作成

Splunk 認証情報をインストールして作成するには、次の手順を使用します。

手順

  1. Splunk に移動し、必要な認証情報を入力して、Splunk アカウントを作成します。
  2. Splunk EnterpriseFree Trial ページに移動し、プラットフォームとインストールパッケージを選択して、Download Now をクリックします。
  3. マシンに Splunk ソフトウェアをインストールします。プロンプトが表示されたら、splunk_admin などのユーザー名とパスワードを作成します。
  4. ユーザー名とパスワードを作成すると、Splunk 導入用のローカルホスト URL (例: http://<sample_url>.remote.csb:8000/) が提供されます。お好みのブラウザーで URL を開きます。
  5. インストール時に作成したユーザー名とパスワードを使用してログインします。Splunk UI にリダイレクトします。

6.2.2. Splunk トークンの生成

次のいずれかの手順を使用して、Splunk のベアラートークンを作成します。

6.2.2.1. Splunk UI を使用した Splunk トークンの生成

Splunk UI を使用して Splunk のベアラートークンを作成するには、次の手順を実行します。

前提条件

  • Splunk をインストールし、ユーザー名を作成している。

手順

  1. Splunk UI で、SettingsTokens に移動します。
  2. Enable Token Authentication をクリックします。
  3. 必要に応じて、Token Settings をクリックし、Token Authentication を選択して、Token Authentication が有効になっていることを確認します。
  4. オプション: トークンの有効期限を設定します。このデフォルトは 30 日です。
  5. Save をクリックします。
  6. New Token をクリックします。
  7. User および Audience の情報を入力します。
  8. オプション: Expiration および Not Before 情報を設定します。
  9. Create をクリックします。トークンが Token ボックスに表示されます。トークンをすぐにコピーします。

    重要

    トークンをコピーする前にボックスを閉じた場合は、新しいトークンを作成する必要があります。New Token ウィンドウを閉じると、トークン全体が使用できなくなります。

6.2.2.2. CLI を使用した Splunk トークンの生成

Splunk UI を使用して CLI のベアラートークンを作成するには、次の手順を実行します。

前提条件

  • 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. 生成されたベアラートークンを保存します。

6.2.3. Splunk を使用するための Red Hat Quay の設定

Splunk を使用するように Red Hat Quay を設定するには、次の手順を使用します。

前提条件

  • Splunk をインストールし、ユーザー名を作成している。
  • Splunk ベアラートークンを生成している。

手順

  1. 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
    integerSplunk 管理クラスターのエンドポイントポート。Splunk GUI でホストされるポートとは異なります。Splunk UI の SettingsServer SettingsGeneral Settings にあります。
    3
    文字列。Splunk 用に生成されたベアラートークン。
    4
    文字列。Splunk サービスにアクセスするための URL スキーム。Splunk が TLS/SSL を使用するように設定されている場合、これは https である必要があります。
    5
    ブール値。TLS/SSL を有効にするかどうか。デフォルトは true です。
    6
    文字列。Splunk インデックスの接頭辞。新しいインデックスまたは使用済みのインデックスを使用できます。Splunk UI から作成できます。
    7
    文字列。TLS/SSL 検証用の認証局 (CA) を含む単一の .pem ファイルへの相対コンテナーパス。
  2. ssl_ca_path を設定している場合は、Red Hat Quay が信頼するように SSL/TLS 証明書を設定する必要があります。

    1. Red Hat Quay のスタンドアロンデプロイメントを使用している場合は、証明書ファイルを extra_ca_certs ディレクトリー内、または相対コンテナーパス内に配置して ssl_ca_path で指定することで、SSL/TLS 証明書を提供できます。
    2. Red Hat Quay Operator を使用している場合は、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.yamlconf/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 に転送できるユーザーアカウントを作成します。

重要

Red Hat Quay アクションログを表示するには、Splunk UI を使用する必要があります。現時点では、Red Hat Quay 使用状況ログ ページでの Splunk アクションログの表示はサポートされておらず、次のメッセージが返されます。Method not implemented.Splunk does not support log lookups

前提条件

  • Splunk をインストールし、ユーザー名を作成している。
  • Splunk ベアラートークンを生成している。
  • Splunk を有効にするように Red Hat Quay config.yaml ファイルを設定している。

手順

  1. Red Hat Quay デプロイメントにログインします。
  2. Splunk のアクションログの作成に使用する組織の名前をクリックします。
  3. ナビゲーションウィンドウで、Robot AccountsCreate Robot Account をクリックします。
  4. プロンプトが表示されたら、ロボットアカウントの名前 (例: spunkrobotaccount) を入力して、Create robot account をクリックします。
  5. ブラウザーで Splunk UI を開きます。
  6. Search and Reporting をクリックします。
  7. 検索バーにインデックスの名前 (例: <splunk_log_index_name>) を入力し、Enter を押します。

    検索結果が Splunk UI に表示されます。ログは JSON 形式で転送されます。応答は次のようになります。

    {
      "log_data": {
        "kind": "authentication",
        "account": "quayuser123",
        "performer": "John Doe",
        "repository": "projectQuay",
        "ip": "192.168.1.100",
        "metadata_json": {...},
        "datetime": "2024-02-06T12:30:45Z"
      }
    }