6.2. Splunk のアクションログストレージの設定
Splunk は、Red Hat Quay データのログ分析を提供できる Elasticsearch の代替手段です。
Splunk ロギングの有効化は、Red Hat Quay のデプロイメント中またはデプロイメント後に設定ツールを使用して行うことができます。設定には、アクションログを Splunk に直接転送するか、Splunk HTTP Event Collector (HEC) に転送するかのオプションが含まれます。
Red Hat Quay デプロイメントで Splunk を有効にするには、次の手順を使用します。
6.2.1. Splunk のインストールとユーザー名の作成
Splunk 認証情報をインストールして作成するには、次の手順を使用します。
手順
- Splunk に移動し、必要な認証情報を入力して、Splunk アカウントを作成します。
- Splunk Enterprise Free Trial ページに移動し、プラットフォームとインストールパッケージを選択して、Download Now をクリックします。
-
マシンに Splunk ソフトウェアをインストールします。プロンプトが表示されたら、
splunk_admin
などのユーザー名とパスワードを作成します。 -
ユーザー名とパスワードを作成すると、Splunk 導入用のローカルホスト URL (例:
http://<sample_url>.remote.csb:8000/
) が提供されます。お好みのブラウザーで URL を開きます。 - インストール時に作成したユーザー名とパスワードを使用してログインします。Splunk UI にリダイレクトします。
6.2.2. Splunk トークンの生成
次のいずれかの手順を使用して、Splunk のベアラートークンを作成します。
6.2.2.1. Splunk UI を使用した Splunk トークンの生成
Splunk UI を使用して Splunk のベアラートークンを作成するには、次の手順を実行します。
前提条件
- Splunk をインストールし、ユーザー名を作成している。
手順
-
Splunk UI で、Settings
Tokens に移動します。 - Enable Token Authentication をクリックします。
- 必要に応じて、Token Settings をクリックし、Token Authentication を選択して、Token Authentication が有効になっていることを確認します。
- オプション: トークンの有効期限を設定します。このデフォルトは 30 日です。
- Save をクリックします。
- New Token をクリックします。
- User および Audience の情報を入力します。
- オプション: Expiration および Not Before 情報を設定します。
Create をクリックします。トークンが Token ボックスに表示されます。トークンをすぐにコピーします。
重要トークンをコピーする前にボックスを閉じた場合は、新しいトークンを作成する必要があります。New Token ウィンドウを閉じると、トークン全体が使用できなくなります。
6.2.2.2. CLI を使用した Splunk トークンの生成
CLI を使用して Splunk のベアラートークンを作成するには、次の手順を実行します。
前提条件
- Splunk をインストールし、ユーザー名を作成している。
手順
CLI で次の
CURL
コマンドを入力してトークン認証を有効にし、Splunk ユーザー名とパスワードを渡します。$ curl -k -u <username>:<password> -X POST <scheme>://<host>:<port>/services/admin/token-auth/tokens_auth -d disabled=false
次の
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
- 生成されたベアラートークンを保存します。
6.2.3. Splunk を使用するための Red Hat Quay の設定
Splunk または Splunk HTTP Event Collector (HEC) を使用するように Red Hat Quay を設定するには、次の手順に従います。
前提条件
- Splunk をインストールし、ユーザー名を作成している。
- Splunk ベアラートークンを生成している。
手順
Splunk または Splunk HTTP Event Collector (HEC) を使用するように Red Hat Quay を設定します。
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
- integerSplunk 管理クラスターのエンドポイントポート。Splunk GUI でホストされるポートとは異なります。Splunk UI の Settings
Server Settings General Settings にあります。 - 3
- 文字列。Splunk 用に生成されたベアラートークン。
- 4
- 文字列。Splunk サービスにアクセスするための URL スキーム。Splunk が TLS/SSL を使用するように設定されている場合、これは
https
である必要があります。 - 5
- ブール値。TLS/SSL を有効にするかどうか。デフォルトは
true
です。 - 6
- 文字列。Splunk インデックスの接頭辞。新しいインデックスまたは使用済みのインデックスを使用できます。Splunk UI から作成できます。
- 7
- 文字列。TLS/SSL 検証用の認証局 (CA) を含む単一の
.pem
ファイルへの相対コンテナーパス。
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 を設定する場合は
splunk_hec
を指定します。 - 2
- Splunk HTTP Event Collector のアクションログ設定のログモデル設定。
- 3
- Splunk クラスターのエンドポイント。
- 4
- Splunk 管理クラスターのエンドポイントポート。
- 5
- Splunk の HEC トークン。
- 6
- Splunk サービスにアクセスするための URL スキーム。Splunk が SSL/TLS の背後にある場合は、
https
にする必要があります。 - 7
- ブール値。HTTPS 接続の SSL/TLS 検証を有効 (true) または無効 (false) にします。
- 8
- 使用する Splunk インデックス。
- 9
- このイベントをログに記録するホスト名。
- 10
- 使用する Splunk
sourcetype
の名前。
ssl_ca_path
を設定している場合は、Red Hat Quay が信頼するように SSL/TLS 証明書を設定する必要があります。-
Red Hat Quay のスタンドアロンデプロイメントを使用している場合は、証明書ファイルを
extra_ca_certs
ディレクトリー内、または相対コンテナーパス内に配置してssl_ca_path
で指定することで、SSL/TLS 証明書を提供できます。 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.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 # ...
-
Red Hat Quay のスタンドアロンデプロイメントを使用している場合は、証明書ファイルを
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
ファイルを設定している。
手順
- Red Hat Quay デプロイメントにログインします。
- Splunk のアクションログの作成に使用する組織の名前をクリックします。
-
ナビゲーションウィンドウで、Robot Accounts
Create Robot Account をクリックします。 -
プロンプトが表示されたら、ロボットアカウントの名前 (例:
spunkrobotaccount
) を入力して、Create robot account をクリックします。 - ブラウザーで Splunk UI を開きます。
- Search and Reporting をクリックします。
検索バーにインデックスの名前 (例:
<splunk_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 } }