This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第2章 OpenShift Container Platform に Developer Hub 用監査ログの設定
OpenShift Container Platform Web コンソールを使用して、Developer Hub の監査ログを使用するように次の OpenShift Container Platform ロギングコンポーネントを設定します。
- ロギングのデプロイメント
- 各ロギングコンポーネントの CPU とメモリーの制限を含むロギング環境を設定します。詳細は、Red Hat OpenShift Container Platform - ロギングデプロイメントの設定 を参照してください。
- ロギングコレクター
-
ClusterLogging
カスタムリソース (CR) のspec.collection
スタンザを設定して、サポートされているログコレクターの変更を使用し、STDOUT
からログを収集します。詳細は、Red Hat OpenShift Container Platform - ログコレクターの設定 を参照してください。 - ログ転送
-
ClusterLogForwarder
CR で出力とパイプラインの組み合わせを指定して、OpenShift Container Platform クラスター内外の特定のエンドポイントにログを送信します。詳細は、Red Hat OpenShift Container Platform - JSON ログ転送の有効化 および Red Hat OpenShift Container Platform - ログ転送の設定 を参照してください。
2.1. Red Hat Developer Hub 監査ログを Splunk に転送 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging (OpenShift Logging) Operator と ClusterLogForwarder
インスタンスを使用して、Developer Hub インスタンスからストリーミングされた監査ログをキャプチャーし、Splunk インスタンスに関連付けられた HTTPS エンドポイントに転送できます。
前提条件
- サポートされている OpenShift Container Platform バージョンでクラスターが実行している。
-
cluster-admin
権限を持つアカウントがある。 - Splunk Cloud アカウントまたは Splunk Enterprise インストールをもっている。
手順
- OpenShift Container Platform クラスターにログインします。
OpenShift Logging Operator を
openshift-logging
namespace にインストールし、namespace に切り替えます。namespace に切り替えるコマンドの例
oc project openshift-logging
oc project openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow log-collector
という名前のserviceAccount
を作成し、collect-application-logs
ロールをserviceAccount
にバインドします。serviceAccount
を作成するためのコマンド例oc create sa log-collector
oc create sa log-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールを
serviceAccount
にバインドするコマンドの例oc create clusterrolebinding log-collector --clusterrole=collect-application-logs --serviceaccount=openshift-logging:log-collector
oc create clusterrolebinding log-collector --clusterrole=collect-application-logs --serviceaccount=openshift-logging:log-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Splunk インスタンスで
hecToken
を生成します。 openshift-logging
namespace にキー/値シークレットを作成し、そのシークレットを検証します。hecToken
を使用してキー/値シークレットを作成するコマンドの例oc -n openshift-logging create secret generic splunk-secret --from-literal=hecToken=<HEC_Token>
oc -n openshift-logging create secret generic splunk-secret --from-literal=hecToken=<HEC_Token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 秘密を検証するコマンドの例
oc -n openshift-logging get secret/splunk-secret -o yaml
oc -n openshift-logging get secret/splunk-secret -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のように、基本的な `ClusterLogForwarder` リソース YAML ファイルを作成します。
`ClusterLogForwarder` リソースの YAML ファイルの例
apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging
apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、ログフォワーダーの作成 を参照してください。
OpenShift Web コンソールまたは OpenShift CLI を使用して、次の
ClusterLogForwarder
設定を定義します。YAML ファイルで、
log-collector
をserviceAccount
として指定します。serviceAccount
設定例serviceAccount: name: log-collector
serviceAccount: name: log-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 転送するログの種類とソースを指定するには、
inputs
を設定します。次の設定により、フォワーダーは指定された namespace 内のすべてのアプリケーションからログをキャプチャーできるようになります。inputs
設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、特定の Pod からのアプリケーションログの転送 を参照してください。
出力を設定して、キャプチャーされたログの送信先を指定します。このステップでは、
splunk
タイプに焦点を当てます。Splunk エンドポイントが自己署名 TLS 証明書を使用する場合はtls.insecureSkipVerify
オプションを使用するか (非推奨)、Secret を使用して証明書チェーンを提供できます。outputs
設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、OpenShift Container Platform ドキュメントの Splunk へのログの転送 を参照してください。
オプション: 監査ログのみを含めるようにログをフィルタリングします。
filters
設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、OpenShift Container Platform ドキュメントの コンテンツによるログのフィルタリング を参照してください。
特定の入力から指定された出力にログをルーティングするようにパイプラインを設定します。定義された入力と出力の名前を使用して、各パイプラインで複数の
inputRefs
とoutputRefs
を指定します。pipelines
設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ClusterLogForwarder
設定を適用するには、次のコマンドを実行します。ClusterLogForwarder
設定を適用するコマンドの例oc apply -f <ClusterLogForwarder-configuration.yaml>
oc apply -f <ClusterLogForwarder-configuration.yaml>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ログ損失のリスクを軽減するには、次のオプションを使用して
ClusterLogForwarder
Pod を設定します。ログコレクターのリソース要求と制限を次のように定義します。
collector
設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow delivery
、compression
、RetryDuration
など、ログ配信のtuning
オプションを定義します。必要に応じて出力ごとにチューニングを適用できます。tuning
設定の例tuning: delivery: AtLeastOnce compression: none minRetryDuration: 1s maxRetryDuration: 10s
tuning: delivery: AtLeastOnce
1 compression: none minRetryDuration: 1s maxRetryDuration: 10s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AtLeastOnce
配信モードとは、ログフォワーダーがクラッシュしたり再起動したりした場合に、クラッシュ前に読み取られたが宛先に送信されなかったログが、再送信されることを意味します。クラッシュ後に一部のログが重複している可能性があります。
検証
- Splunk ダッシュボードでログを表示して、ログが Splunk インスタンスに転送されていることを確認します。
- 必要に応じて、OpenShift Container Platform と Splunk ログを使用して問題をトラブルシューティングします。