2.3. 入力レシーバーの設定
Red Hat OpenShift Logging Operator は、クライアントがコレクターに書き込めるように、設定された各入力レシーバー用のサービスをデプロイします。このサービスは、入力レシーバーに指定されたポートを公開します。ログフォワーダー ClusterLogForwarder CR デプロイメントの場合、サービス名は <clusterlogforwarder_resource_name>-<input_name> 形式になります。
2.3.1. 監査ログを HTTP サーバーとして受信するようにコレクターを設定する リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogForwarder カスタムリソース (CR) でレシーバー入力として http を指定することにより、ログコレクターが HTTP 接続をリッスンして監査ログのみを受信するように設定できます。
HTTP レシーバー入力は、次のシナリオでのみサポートされます。
- Hosted Control Plane にロギングがインストールされます。
ログが、Red Hat OpenShift Logging Operator と同じクラスターにインストールされている Red Hat 対応製品から生成された場合。例:
- OpenShift Virtualization
前提条件
- 管理者権限がある。
-
OpenShift CLI (
oc) がインストールされている。 - Red Hat OpenShift Logging Operator がインストールされている。
手順
ClusterLogForwarderCR を変更して、httpレシーバー入力の設定を追加します。ClusterLogForwarderCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ClusterLogForwarderCR に変更を適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コレクターが
<clusterlogforwarder_resource_name>-<input_name>形式の名前を持つサービスでリッスンしていることを確認します。oc get svc
$ oc get svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE collector ClusterIP 172.30.85.239 <none> 24231/TCP 3m6s collector-http-receiver ClusterIP 172.30.205.160 <none> 8443/TCP 3m6s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE collector ClusterIP 172.30.85.239 <none> 24231/TCP 3m6s collector-http-receiver ClusterIP 172.30.205.160 <none> 8443/TCP 3m6sCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、サービス名は
collector-http-receiverです。
検証
次のコマンドを実行して、認証局 (CA) 証明書ファイルを抽出します。
oc extract cm/openshift-service-ca.crt -n <namespace>
$ oc extract cm/openshift-service-ca.crt -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コレクターが実行されているクラスター内の CA が変更された場合は、CA 証明書ファイルを再度抽出する必要があります。
たとえば、以下のコマンドを実行して
curlコマンドを使用してログを送信します。curl --cacert <openshift_service_ca.crt> https://collector-http-receiver.<namespace>.svc:8443 -XPOST -d '{"<prefix>":"<message>"}'$ curl --cacert <openshift_service_ca.crt> https://collector-http-receiver.<namespace>.svc:8443 -XPOST -d '{"<prefix>":"<message>"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow <openshift_service_ca.crt> を、抽出した CA 証明書ファイルに置き換えます。
2.3.2. コレクターを syslog サーバーとして接続をリッスンするように設定する リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogForwarder カスタムリソース (CR) で syslog をレシーバー入力として指定することで、ジャーナル形式のインフラストラクチャーログを収集するようにログコレクターを設定できます。
syslog レシーバー入力は、次のシナリオでのみサポートされます。
- Hosted Control Plane にロギングがインストールされます。
ログが、Red Hat OpenShift Logging Operator と同じクラスターにインストールされている Red Hat 対応製品から生成された場合。例:
- Red Hat OpenStack Services on OpenShift (RHOSO)
- OpenShift Virtualization
前提条件
- 管理者権限がある。
-
OpenShift CLI (
oc) がインストールされている。 - Red Hat OpenShift Logging Operator がインストールされている。
手順
次のコマンドを実行して、
collect-infrastructure-logsクラスターのロールをサービスアカウントに付与します。バインドコマンドの例
oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logcollector
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logcollectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderCR を変更して、syslogレシーバー入力の設定を追加します。ClusterLogForwarderCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1 2
- 直前の手順で
collect-infrastructure-logsパーミッションを付与されたサービスアカウントを使用します。 - 3
- 入力レシーバーの名前を指定します。
- 4
- 入力レシーバー型を
syslogに指定します。 - 5
- オプション: 入力レシーバーがリッスンするポートを指定します。これは、
1024から65535までの値とします。 - 6
- TLS 設定が設定されていない場合、デフォルトの証明書が使用されます。詳細は、コマンド
oc explain clusterlogforwarders.spec.inputs.receiver.tlsを実行します。 - 7
- 入力レシーバーのパイプラインを設定します。
次のコマンドを実行して、
ClusterLogForwarderCR に変更を適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コレクターが
<clusterlogforwarder_resource_name>-<input_name>形式の名前を持つサービスでリッスンしていることを確認します。oc get svc
$ oc get svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE collector ClusterIP 172.30.85.239 <none> 24231/TCP 33m collector-syslog-receiver ClusterIP 172.30.216.142 <none> 10514/TCP 2m20s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE collector ClusterIP 172.30.85.239 <none> 24231/TCP 33m collector-syslog-receiver ClusterIP 172.30.216.142 <none> 10514/TCP 2m20sCopy to Clipboard Copied! Toggle word wrap Toggle overflow この出力例では、サービス名は
collector-syslog-receiverです。
検証
次のコマンドを実行して、認証局 (CA) 証明書ファイルを抽出します。
oc extract cm/openshift-service-ca.crt -n <namespace>
$ oc extract cm/openshift-service-ca.crt -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コレクターが実行されているクラスター内の CA が変更された場合は、CA 証明書ファイルを再度抽出する必要があります。
たとえば、以下のコマンドを実行して
curlコマンドを使用してログを送信します。curl --cacert <openshift_service_ca.crt> collector-syslog-receiver.<namespace>.svc:10514 “test message”
$ curl --cacert <openshift_service_ca.crt> collector-syslog-receiver.<namespace>.svc:10514 “test message”Copy to Clipboard Copied! Toggle word wrap Toggle overflow <openshift_service_ca.crt> を、抽出した CA 証明書ファイルに置き換えます。