This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.ロギング
OpenShift Logging のインストール、使用法、およびリリースノート
概要
第1章 Logging のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
stable チャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルを stable-X (X はインストールしたログのバージョン) に変更する必要があります。
1.1. Logging 5.6.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.11 が含まれています。
1.1.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新が行われる前は、LokiStack ゲートウェイは承認されたリクエストを非常に広範囲にキャッシュしていました。その結果、誤った認証結果が発生しました。今回の更新により、LokiStack ゲートウェイは詳細にキャッシュを行うようになり、この問題が解決されました。(LOG-4435)
1.1.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.2. Logging 5.6.9 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.9 が含まれています。
1.2.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新が行われる前は、AWS Cloudwatch 転送で STS を使用した認証に複数のロールが使用されていた場合、最近の更新により認証情報が一意でなくなりました。この更新により、STS ロールと静的認証情報の複数の組み合わせを再び AWS Cloudwatch での認証に使用できるようになりました。(LOG-4084)
-
この更新が行われる前は、Vector コレクターに、ログに
thread 'vector-worker' panicked at 'all branches are disabled and there is no else branch', src/kubernetes/reflector.rs:26:9エラーメッセージでパニックを発生させることがありました。今回の更新により、このエラーは解決されました。(LOG-4276) - この更新が行われる前は、Loki はアクティブなストリームのラベル値をフィルタリングしていましたが、重複を削除しなかったため、Grafana の Label Browser が使用できなくなりました。今回の更新により、Loki はアクティブなストリームの重複するラベル値をフィルターで除外し、問題を解決しました。(LOG-4390)
1.2.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.3. Logging 5.6.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.8 が含まれています。
1.3.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われる前は、入力一致ラベル値の
ClusterLogForwarder内に/文字が含まれる場合は、vector コレクターが予期せず終了していました。今回の更新では、一致ラベルを引用符で囲み、コレクターがログを開始および収集できるようにすることで問題が解決されました。(LOG-4091) - この更新が行われる前は、OpenShift Container Platform Web コンソール内でログを表示する際に more data available オプションをクリックすると、初回クリック時にのみ、より多くのログエントリーがロードされました。今回の更新では、クリックごとにさらに多くのエントリーが読み込まれるようになりました。(OU-187)
- この更新が行われる前は、OpenShift Container Platform Web コンソール内でログを表示する際に streaming オプションをクリックすると、実際のログは表示されず、streaming logs メッセージのみが表示されました。今回の更新により、メッセージとログストリームの両方が正しく表示されるようになりました。(OU-189)
- この更新が行われる前は、設定の問題が特定しにくい方法で Loki Operator がエラーをリセットしていました。今回の更新により、設定エラーが解決されるまでエラーが持続するようになりました。(LOG-4158)
-
この更新が行われる前は、8,000 を超える namespace を持つクラスターの場合、namespace のリストが
http.max_header_size設定よりも大きくなるため Elasticsearch がクエリーを拒否していました。今回の更新では、ヘッダーサイズのデフォルト値が引き上げられ、問題が解決されました。(LOG-4278)
1.3.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.4. Logging 5.6.7 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.7 が含まれています。
1.4.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新が行われる前は、LokiStack ゲートウェイはユーザーのアクセス権を適用せずに namespace のラベル値を返していました。今回の更新により、LokiStack ゲートウェイはパーミッションをラベル値のリクエストに適用するようになり、問題は解決しました。(LOG-3728)
-
この更新より前は、メッセージにタイムスタンプが含まれている場合、Fluentd ではログメッセージの
timeフィールドがデフォルトでstructured.timeとして解析されませんでした。この更新により、出力先でサポートされている場合は、解析されたログメッセージにstructured.timeフィールドが含まれるようになります。(LOG-4090) -
この更新より前は、LokiStack ルート設定が原因で、クエリーの実行時間が 30 秒を超えるとタイムアウトが発生していました。今回の更新で、LokiStack global および per-tenant
queryTimeoutの設定によりルートタイムアウトの設定が影響を受け、問題は解決しました。(LOG-4130) - この更新より前は、グローバル制限ではなくテナント制限に対して値が定義されている LokiStack CR により、Loki Operator がクラッシュしていました。今回の更新により、Operator はテナント制限のみが定義された LokiStack CR を処理できるようになり、問題が解決されました。(LOG-4199)
- この更新より前は、Web ブラウザーに保持されている以前のバージョンのキャッシュされたファイルが原因で、OpenShift Container Platform Web コンソールはアップグレード後にエラーを生成しました。今回の更新により、これらのファイルはキャッシュされなくなり、問題は解決されました。(LOG-4099)
- この更新が行われる前は、Vector はデフォルトの Loki インスタンスに転送するときに証明書エラーを生成していました。この更新により、Vector を使用してログをエラーなしで Loki に転送できるようになりました。(LOG-4184)
この更新が行われる前は、
tls.insecureSkipVerifyオプションがtrueに設定されている場合に、Cluster Logging Operator API にはシークレットにより提供される証明書が必要でした。今回の更新により、そのような場合でも Cluster Logging Operator API はシークレットに証明書の提供を求めなくなりました。次の設定が Operator の CR に追加されました。tls.verify_certificate = false tls.verify_hostname = false
tls.verify_certificate = false tls.verify_hostname = falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow (LOG-4146)
1.4.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2021-26341
- CVE-2021-33655
- CVE-2021-33656
- CVE-2022-1462
- CVE-2022-1679
- CVE-2022-1789
- CVE-2022-2196
- CVE-2022-2663
- CVE-2022-3028
- CVE-2022-3239
- CVE-2022-3522
- CVE-2022-3524
- CVE-2022-3564
- CVE-2022-3566
- CVE-2022-3567
- CVE-2022-3619
- CVE-2022-3623
- CVE-2022-3625
- CVE-2022-3627
- CVE-2022-3628
- CVE-2022-3707
- CVE-2022-3970
- CVE-2022-4129
- CVE-2022-20141
- CVE-2022-25147
- CVE-2022-25265
- CVE-2022-30594
- CVE-2022-36227
- CVE-2022-39188
- CVE-2022-39189
- CVE-2022-41218
- CVE-2022-41674
- CVE-2022-42703
- CVE-2022-42720
- CVE-2022-42721
- CVE-2022-42722
- CVE-2022-43750
- CVE-2022-47929
- CVE-2023-0394
- CVE-2023-0461
- CVE-2023-1195
- CVE-2023-1582
- CVE-2023-2491
- CVE-2023-22490
- CVE-2023-23454
- CVE-2023-23946
- CVE-2023-25652
- CVE-2023-25815
- CVE-2023-27535
- CVE-2023-29007
1.5. Logging 5.6.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.6 が含まれています。
1.5.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われるまでは、ペイロード内のキーに一致する Kafka 出力トピックに書き込むように
ClusterLogForwarderカスタムリソースを設定すると、エラーによりメッセージのドロップが発生していました。今回の更新では、Fluentd のバッファー名の前にアンダースコアを付けることで問題が解決しました。(LOG-3458) - この更新が行われるまでは、inode が再利用され、同じ inode を持つ複数のエントリーが存在する場合に、Fluentd でウォッチの早期終了が発生していました。この更新により、Fluentd 位置ファイル内のウォッチが早期に終了する問題が解決しました。(LOG-3629)
- この更新が行われるまでは、Fluentd による JavaScript クライアントの複数行例外の検出に失敗し、結果として例外が複数行として出力されていました。今回の更新により、例外が 1 行で出力されるようになり、問題が解決されました。(LOG-3761)
- この更新が行われるまでは、Red Hat Openshift Logging Operator バージョン 4.6 からバージョン 5.6 への直接アップグレードが許可されていたため、機能上の問題が発生していました。この更新により、アップグレードは 2 つのバージョン以内である必要があり、問題が解決されました。(LOG-3837)
- この更新が行われるまでは、Splunk または Google Logging 出力のメトリックは表示されませんでした。この更新では、HTTP エンドポイントのメトリックを送信することで問題が解決されました。(LOG-3932)
-
この更新が行われるまでは、
ClusterLogForwarderカスタムリソースが削除されても、コレクター Pod は実行されたままでした。この更新により、ログ転送が有効になっていない場合、コレクター Pod は実行されなくなります。(LOG-4030) - この更新が行われるまでは、OpenShift Container Platform Web コンソールでログのヒストグラムをクリックしてドラッグしても時間範囲を選択できませんでした。今回の更新により、クリックとドラッグを使用して時間範囲を正常に選択できるようになりました。(LOG-4101)
- この更新が行われるまでは、監視ファイルの Fluentd ハッシュ値はログファイルへのパスを使用して生成されていたため、ログローテーション時に一意ではないハッシュが生成されました。今回の更新により、監視ファイルのハッシュ値が inode 番号で作成されるようになり、問題が解決されました。(LOG-3633)
- この更新が行われる前は、OpenShift Container Platform Web コンソールで Show Resources リンクをクリックしても何の効果もありませんでした。この更新では、ログエントリーごとにリソースの表示を切り替える リソースの表示 リンクの機能を修正することで、この問題が解決されました。(LOG-4118)
1.5.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.6. Logging 5.6.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.5 が含まれています。
1.6.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新前は、テンプレート定義により Elasticsearch が一部のラベルと namespace_label のインデックスを作成できず、データの取り込みで問題が発生していました。この更新では、ラベル内のドットとスラッシュが修正により置き換えられ、適切な取り込みが保証され、問題が効果的に解決されます。(LOG-3419)
- この更新より前は、OpenShift Web コンソールのログページが LokiStack への接続に失敗した場合、一般的なエラーメッセージが表示され、追加のコンテキストやトラブルシューティングの提案は提供されませんでした。この更新により、エラーメッセージが強化され、より具体的な詳細とトラブルシューティングの推奨事項が含まれるようになりました。(LOG-3750)
- この更新より前は、時間範囲形式が検証されていなかったため、カスタム日付範囲を選択するとエラーが発生していました。この更新により、時間形式が検証されるようになり、ユーザーが有効な範囲を選択できるようになりました。無効な時間範囲形式が選択された場合は、ユーザーにエラーメッセージが表示されます。(LOG-3583)
- この更新前は、Loki でログを検索すると、式の長さが 5120 文字を超えていなくても、多くの場合クエリーは失敗していました。この更新により、クエリー承認ラベルマッチャーが最適化され、問題が解決されました。(LOG-3480)
- この更新が行われる前は、Loki Operator は、プライベート IP のメンバーリストを使用する場合に、すべてのコンポーネントを見つけるのに十分なメンバーリスト設定を生成できませんでした。今回の更新により、生成された設定にアドバタイズされたポートが確実に含まれるようになり、すべてのコンポーネントを正常に検索できるようになりました。(LOG-4008)
1.6.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.7. Logging 5.6.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.4 が含まれています。
1.7.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、LokiStack がログストアとしてデプロイされたときに、Loki Pod によって生成されたログが収集され、LokiStack に送信されていました。今回の更新により、Loki によって生成されたログは収集から除外され、保存されなくなります。(LOG-3280)
- この更新の前は、OpenShift Web コンソールのログページのクエリーエディターが空の場合は、ドロップダウンメニューに値が入力されませんでした。今回の更新により、空のクエリーを実行しようとすると、エラーメッセージが表示され、ドロップダウンメニューが期待どおりに入力されるようになりました。(LOG-3454)
-
この更新の前は、
tls.insecureSkipVerifyオプションがtrueに設定されている場合は、Cluster Logging Operator が誤った設定を生成していました。その結果、Operator は証明書の検証をスキップしようとすると、データを Elasticsearch に送信できませんでした。今回の更新により、tls.insecureSkipVerify が有効になっている場合でも、Cluster Logging Operator は正しい TLS 設定を生成します。その結果、証明書の検証をスキップしようとしても、データを Elasticsearch に正常に送信できます。(LOG-3475) - この更新の前は、構造化された解析が有効になっていて、メッセージが複数の宛先に転送された場合に、それらはディープコピーされませんでした。これにより、構造化されたメッセージを含む一部の受信ログが生成されましたが、その他のログは生成されませんでした。今回の更新により、JSON 解析の前にメッセージをディープコピーするように設定生成が変更されました。その結果、複数の宛先に転送された場合でも、すべての受信メッセージに構造化メッセージが含まれるようになりました。(LOG-3640)
-
この更新の前は、
collectionフィールドに{}が含まれていると、Operator がクラッシュする可能性がありました。今回の更新により、Operator はこの値を無視するようになり、オペレータは中断することなくスムーズに実行し続けることができます。(LOG-3733) -
この更新の前は、LokiStack のゲートウェイコンポーネントの
nodeSelector属性は効果がありませんでした。今回の更新により、nodeSelector属性が期待どおりに機能するようになりました。(LOG-3783) - この更新の前は、静的な LokiStack メンバーリストの設定は、プライベート IP ネットワークのみに依存していました。その結果、OpenShift Container Platform クラスター Pod ネットワークがパブリック IP 範囲で設定されている場合、LokiStack Pod がクラッシュループします。今回の更新により、LokiStack 管理者は、メンバーリストの設定に Pod ネットワークを使用するオプションを利用できるようになりました。これにより、問題が解決され、OpenShift Container Platform クラスター Pod ネットワークがパブリック IP 範囲で設定されている場合に、LokiStack Pod がクラッシュループ状態になるのを防ぐことができます。(LOG-3814)
-
この更新の前は、
tls.insecureSkipVerifyフィールドがtrueに設定されている場合、Cluster Logging Operator は間違った設定を生成していました。その結果、証明書の検証をスキップしようとすると、Operator は Elasticsearch にデータを送信できませんでした。今回の更新により、tls.insecureSkipVerifyが有効になっている場合でも、Operator は正しい TLS 設定を生成します。その結果、証明書の検証をスキップしようとしても、データを Elasticsearch に正常に送信できます。(LOG-3838) - この更新の前に、Elasticsearch Operator を使用せずに Cluster Logging Operator (CLO) がインストールされた場合、CLO Pod は Elasticsearch の削除に関連するエラーメッセージを継続的に表示していました。今回の更新により、CLO はエラーメッセージを表示する前に追加のチェックを実行するようになりました。その結果、Elasticsearch Operator が存在しない場合は、Elasticsearch の削除に関連するエラーメッセージが表示されなくなりました。(LOG-3763)
1.7.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.8. Logging 5.6.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.3 が含まれています。
1.8.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
1.8.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.9. Logging 5.6.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.2 が含まれます。
1.9.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、コレクターは systemd ログの優先度に基づいて
levelフィールドを正しく設定しませんでした。今回の更新により、levelフィールドが正しく設定されるようになりました。(LOG-3429) - 今回の更新以前は、Operator は OpenShift Container Platform 4.12 以降で非互換性の警告を誤って生成していました。今回の更新により、Operator の OpenShift Container Platform の最大バージョン値が修正され、問題が解決されました。(LOG-3584)
-
今回の更新以前は、
defaultの出力値でClusterLogForwarderカスタムリソース (CR) を作成し、エラーを生成しませんでした。今回の更新により、この値が適切に生成されるというエラーの警告が表示されるようになりました。(LOG-3437) -
この更新の前は、
ClusterLogForwarderカスタムリソース (CR) に 1 つの出力がdefaultとして設定された複数のパイプラインがある場合、コレクター Pod は再起動していました。今回の更新で、出力検証のロジックが修正され、問題が解決されました。(LOG-3559) - この更新の前は、コレクター Pod は作成後に再起動されていました。今回の更新により、デプロイされたコレクターが自動的に再起動しなくなりました。(LOG-3608)
- 今回の更新以前は、パッチリリースがカタログから以前のバージョンの Operator を削除していました。これにより、古いバージョンをインストールできませんでした。今回の更新により、バンドル設定が変更され、同じマイナーバージョンの以前のリリースがカタログに留まるようになりました。(LOG-3635)
1.9.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.10. Logging 5.6.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.1 が含まれます。
1.10.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、保持が有効な場合、コンパクターは、クエリーアとの通信による TLS 証明書エラーを報告していました。今回の更新により、コンパクターとクエリーアが HTTP 経由で誤って通信することがなくなりました。(LOG-3494)
-
この更新の前は、Loki Operator は
LokiStackCR のステータスの設定を再試行しないため、ステータス情報が古くなっていました。今回の更新により、Operator は競合時にステータス情報の更新を再試行するようになりました。(LOG-3496) -
この更新の前は、
kube-apiserver-operatorOperator が Webhook の有効性を確認したときに、Loki Operator Webhook サーバーが TLS エラーを引き起こしていました。今回の更新により、Loki Operator Webhook PKI は Operator Lifecycle Manager (OLM) によって管理されるようになり、問題が解決されました。(LOG-3510) - この更新の前は、ブール式と組み合わせてラベルフィルターを使用した場合、LokiStack ゲートウェイラベルエンフォーサーが有効な LogQL クエリーの解析エラーを生成していました。今回の更新により、LokiStack LogQL の実装がブール式を使用したラベルフィルターをサポートするようになり、問題が解決されました。(LOG-3441)、(LOG-3397)
- この更新の前は、複数のラベルキーに同じ接頭辞があり、一部のキーにドットが含まれていると、Elasticsearch に書き込まれたレコードで障害が発生していました。今回の更新により、ラベルキーのドットがアンダースコアに置き換えられ、問題が解決されました。(LOG-3463)
-
この更新の前は、OpenShift Container Platform コンソールと logging-view-plugin の間に互換性がないため、
Red Hat OpenShift LoggingOperator は OpenShift Container Platform 4.10 クラスターで使用できませんでした。今回の更新により、プラグインは OpenShift Container Platform 4.10 管理コンソールと適切に統合されるようになりました。(LOG-3447) -
この更新の前は、
ClusterLogForwarderカスタムリソースの調整で、デフォルトログストアを参照するパイプラインの低下ステータスが誤って報告されていました。今回の更新により、パイプラインが適切に検証されるようになりました (LOG-3477)。
1.10.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.11. Logging 5.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Release 5.6 が含まれています。
1.11.1. 非推奨の通知 リンクのコピーリンクがクリップボードにコピーされました!
Logging 5.6 では、Fluentd が非推奨となり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Fluentd の代わりに、Vector を使用できます。
1.11.2. 機能拡張 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新により、Logging は OpenShift Container Platform の クラスター全体の暗号化ポリシーに 準拠します。(LOG-895)
- 今回の更新により、LokiStack カスタムリソースを使用して、テナントごと、ストリームごと、およびグローバルポリシーの保持ポリシーを優先度順に宣言できるようになります。(LOG-2695)
- 今回の更新により、Splunk がログ転送の出力オプションとして利用できるようになります。(LOG-2913)
- 今回の更新により、デフォルトコレクターが Fluentd から Vector になります。(LOG-2222)
- 今回の更新により、Developer ロールは、OpenShift Container Platform 4.11 以降を実行しているクラスターの Log Console Plugin 内で割り当てられているプロジェクトごとのワークロードログにアクセスできます。(LOG-3388)
-
今回の更新により、任意のソースからのログに、Operator がデプロイされているクラスターの一意識別子であるフィールド
openshift.cluster_idが含まれるようになります。clusterIDの値は、以下のコマンドで表示できます。(LOG-2715)
oc get clusterversion/version -o jsonpath='{.spec.clusterID}{"\n"}'
$ oc get clusterversion/version -o jsonpath='{.spec.clusterID}{"\n"}'
1.11.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、複数のラベルキーに同じ接頭辞があり、一部のキーに
.が含まれていると、Elasticsearch がログを拒否することがありました。これは、ラベルキーに含まれる.を_に置き換えることで、Elasticsearch の制限を修正します。この問題の回避策として、エラーの原因となっているラベルを削除するか、namespace をラベルに追加します。(LOG-3463)
1.11.4. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新の前は、Kibana カスタムリソースを削除した場合、OpenShift Container Platform Web コンソールは引き続き Kibana へのリンクを表示していました。今回の更新で、Kibana カスタムリソースを削除すると、そのリンクも削除されます。(LOG-2993)
- この更新の前は、ユーザーはアクセス権を持つ namespace のアプリケーションログを表示できませんでした。今回の更新により、Loki Operator はクラスターロールとクラスターロールバインディングを自動的に作成し、ユーザーがアプリケーションログを読み取れるようにします。(LOG-3072)
-
この更新の前に、LokiStack をデフォルトのログストレージとして使用する場合、Operator は
ClusterLogForwarderカスタムリソースで定義されたカスタム出力を削除しました。今回の更新により、Operator はClusterLogForwarderカスタムリソースの処理時にカスタム出力をデフォルト出力とマージします。(LOG-3090) - この更新の前に、CA キーは CA を Loki にマウントするためのボリューム名として使用されていたため、CA キーに非準拠の文字 (ドットなど) が含まれているとエラー状態が発生していました。今回の更新により、ボリューム名が内部文字列に標準化され、問題が解決されました。(LOG-3331)
-
この更新の前は、LokiStack カスタムリソース定義内で設定されたデフォルト値が原因で、
1のReplicationFactorなしで LokiStack インスタンスを作成できませんでした。今回の更新により、Operator は使用されるサイズの実際の値を設定するようになります。(LOG-3296) -
この更新の前は、Vector は、JSON 解析が有効になっている場合に、
structuredTypeKeyまたはstructuredTypeNameの値も定義せずにメッセージフィールドを解析していました。今回の更新により、構造化ログを Elasticsearch に書き込むときに、structuredTypeKeyまたはstructuredTypeNameのいずれかに値が必要になりました。(LOG-3195) - この更新の前は、Elasticsearch Operator のシークレット作成コンポーネントが内部シークレットを常に変更していました。今回の更新により、既存のシークレットが適切に処理されるようになりました。(LOG-3161)
- この更新の前は、Elasticsearch または Kibana デプロイメントのステータスが変更されている間に、Operator がコレクターデーモンセットの削除と再作成のループに入る可能性がありました。今回の更新では、Operator のステータス処理が修正され、問題が解決されました。(LOG-3157)
-
この更新の前は、Kibana の OAuth cookie の有効期限は
24hに固定されていたため、accessTokenInactivityTimeoutフィールドが24h未満の値に設定されていると、Kibana で 401 エラーが発生していました。今回の更新により、Kibana の OAuth cookie の有効期限がaccessTokenInactivityTimeoutに同期され、デフォルト値は24hになります。(LOG-3129) - この更新の前は、リソースを調整するための Operator の一般的なパターンとして、取得または更新を試みる前に作成を試みていました。そのため、作成後に一定の HTTP 409 レスポンスが発生していました。今回の更新により、Operator は最初にオブジェクトの取得を試み、オブジェクトが欠落しているか指定されていない場合にのみ作成または更新するようになります。(LOG-2919)
-
この更新の前は、Fluentd の
.levelフィールドと .structure.level フィールドに異なる値が含まれることがありました。今回の更新により、各フィールドの値が同じになります。(LOG-2819) - この更新の前は、Operator は信頼された CA バンドルの作成を待たず、バンドルが更新された後に 2 回目のコレクターデプロイメントを実行していました。今回の更新により、Operator は、コレクターデプロイメントを続行する前に、バンドルが読み込まれたかどうかを確認するために少し待機するようになります。(LOG-2789)
- この更新の前は、メトリクスを確認するときに Telemetry ログ情報が 2 回表示されていました。今回の更新により、Telemetry ログ情報が想定どおりに表示されます。(LOG-2315)
- この更新の前は、JSON 解析の追加を有効にした後、Fluentd Pod ログに警告メッセージが含まれていました。今回の更新でにより、その警告メッセージは表示されなくなりました。(LOG-1806)
-
この更新の前は、キャッシュをビルドするために書き込み権限を持つフォルダーを
ocが必要とするため、must-gatherスクリプトは完了しませんでした。今回の更新により、ocはフォルダーへの書き込み権限を持ち、must-gatherスクリプトが正常に完了するようになります。(LOG-3446) - この更新の前は、ログコレクター SCC がクラスター上の他の SCC に取って代わられ、コレクターが使用できなくなる可能性がありました。今回の更新により、ログコレクター SCC の優先度が設定され、他の SCC よりも優先されるようになりました。(LOG-3235)
-
この更新の前は、Vector に
sequenceフィールドはなく、ナノ秒単位の精度の欠落に対処する方法として fluentd に追加されていました。今回の更新により、openshift.sequenceフィールドがイベントログに追加されました。(LOG-3106)
1.11.5. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.12. Logging 5.5.16 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.16 が含まれています。
1.12.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新が行われる前は、LokiStack ゲートウェイは承認されたリクエストを非常に広範囲にキャッシュしていました。その結果、誤った認証結果が発生しました。今回の更新により、LokiStack ゲートウェイは詳細にキャッシュを行うようになり、この問題が解決されました。(LOG-4434)
1.12.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.13. Logging 5.5.14 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.14 が含まれています。
1.13.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われる前は、Vector コレクターに、ログに
thread 'vector-worker' panicked at 'all branches are disabled and there is no else branch', src/kubernetes/reflector.rs:26:9エラーメッセージでパニックを発生させることがありました。今回の更新により、このエラーは解決されました。(LOG-4279)
1.13.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.14. Logging 5.5.13 リンクのコピーリンクがクリップボードにコピーされました!
本リリースには、OpenShift Logging バグ修正リリース 5.5.13 が含まれています。
1.14.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.14.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.15. Logging 5.5.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.11 が含まれています。
1.15.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新が行われるまでは、OpenShift Container Platform Web コンソールでログのヒストグラムをクリックしてドラッグしても時間範囲を選択できませんでした。今回の更新により、クリックとドラッグを使用して時間範囲を正常に選択できるようになりました。(LOG-4102)
- この更新が行われる前は、OpenShift Container Platform Web コンソールで Show Resources リンクをクリックしても何の効果もありませんでした。この更新では、ログエントリーごとにリソースの表示を切り替える リソースの表示 リンクの機能を修正することで、この問題が解決されました。(LOG-4117)
1.15.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2021-26341
- CVE-2021-33655
- CVE-2021-33656
- CVE-2022-1462
- CVE-2022-1679
- CVE-2022-1789
- CVE-2022-2196
- CVE-2022-2663
- CVE-2022-2795
- CVE-2022-3028
- CVE-2022-3239
- CVE-2022-3522
- CVE-2022-3524
- CVE-2022-3564
- CVE-2022-3566
- CVE-2022-3567
- CVE-2022-3619
- CVE-2022-3623
- CVE-2022-3625
- CVE-2022-3627
- CVE-2022-3628
- CVE-2022-3707
- CVE-2022-3970
- CVE-2022-4129
- CVE-2022-20141
- CVE-2022-24765
- CVE-2022-25265
- CVE-2022-29187
- CVE-2022-30594
- CVE-2022-36227
- CVE-2022-39188
- CVE-2022-39189
- CVE-2022-39253
- CVE-2022-39260
- CVE-2022-41218
- CVE-2022-41674
- CVE-2022-42703
- CVE-2022-42720
- CVE-2022-42721
- CVE-2022-42722
- CVE-2022-43750
- CVE-2022-47929
- CVE-2023-0394
- CVE-2023-0461
- CVE-2023-1195
- CVE-2023-1582
- CVE-2023-2491
- CVE-2023-23454
- CVE-2023-27535
1.16. Logging 5.5.10 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.10 が含まれています。
1.16.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、OpenShift Web コンソールのロギングビュープラグインは、LokiStack に到達できなかった場合にのみエラーテキストを表示していました。この更新により、プラグインでは適切なエラーメッセージと、到達できない LokiStack の詳しい修正方法が表示されるようになりました。(LOG-2874)
1.16.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.17. Logging 5.5.9 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.9 が含まれています。
1.17.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Fluentd コレクターの問題により、
/var/log/auth-server/audit.logに保存されている OAuth ログインイベントがキャプチャーされませんでした。これにより、OAuth サービスからのログインイベントの収集が不完全になりました。今回の更新により、Fluentd コレクターは、予想どおり、/var/log/auth-server/audit.logに保存されているものを含め、OAuth サービスからすべてのログインイベントをキャプチャーすることで、この問題を解決するようになりました。(LOG-3730) - この更新の前は、構造化された解析が有効になっていて、メッセージが複数の宛先に転送された場合に、それらはディープコピーされませんでした。これにより、構造化されたメッセージを含む一部の受信ログが生成されましたが、その他のログは生成されませんでした。今回の更新により、JSON 解析の前にメッセージをディープコピーするように設定生成が変更されました。その結果、複数の宛先に転送された場合でも、すべての受信ログに構造化メッセージが含まれるようになりました。(LOG-3767)
1.17.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.18. Logging 5.5.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.8 が含まれています。
1.18.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新の前は、コレクターが
levelフィールドを設定する方法にエラーがあったため、priorityフィールドがsystemdログから欠落していました。今回の更新により、これらのフィールドが正しく設定され、問題が解決されました。(LOG-3630)
1.18.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.19. Logging 5.5.7 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.7 が含まれます。
1.19.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、ブール式と組み合わせてラベルフィルターを使用した場合、LokiStack ゲートウェイラベルエンフォーサーが有効な LogQL クエリーの解析エラーを生成していました。今回の更新により、LokiStack LogQL の実装がブール式を使用したラベルフィルターをサポートするようになり、問題が解決されました。(LOG-3534)
-
この更新の前は、
ClusterLogForwarderカスタムリソース (CR) が syslog 出力の TLS 認証情報を Fluentd に渡さなかったため、転送中にエラーが発生していました。今回の更新により、認証情報が Fluentd に正しく渡されるようになり、問題が解決されました。(LOG-3533)
1.19.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
CVE-2021-46848CVE-2022-3821CVE-2022-35737CVE-2022-42010CVE-2022-42011CVE-2022-42012CVE-2022-42898CVE-2022-43680
1.20. Logging 5.5.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.6 が含まれます。
1.20.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Pod セキュリティーアドミッションコントローラーがラベル
podSecurityLabelSync = trueをopenshift-loggingnamespace に追加していました。これにより、指定のセキュリティーラベルが上書きされ、その結果、コレクター Pod が起動しなくなりました。今回の更新により、ラベルpodSecurityLabelSync = falseがセキュリティーラベルを保持するようになります。コレクター Pod は期待どおりにデプロイされます。(LOG-3340) - この更新の前は、コンソールビュープラグインがクラスターで有効になっていない場合でも、Operator はコンソールビュープラグインをインストールしていました。これにより、Operator がクラッシュしました。今回の更新により、クラスターのアカウントでコンソールビューが有効になっていない場合、Operator は正常に機能し、コンソールビューをインストールしなくなりました。(LOG-3407)
-
この更新の前は、Elasticsearch デプロイメントのステータスが更新されないリグレッションに対応するための以前の修正が原因で、
Red Hat Elasticsearch Operatorがデプロイされていない限り、Operator がクラッシュしていました。今回の更新により、その修正が元に戻されたため、Operator は安定した状態になりました。ただし、報告されたステータスに関連する以前の問題が再び発生するようになりました。(LOG-3428) - この更新の前は、Loki Operator は、選択されたスタックサイズに関係なく、LokiStack ゲートウェイのレプリカを 1 つだけデプロイしていました。今回の更新により、選択したサイズに応じてレプリカの数が正しく設定されるようになりました。(LOG-3478)
- この更新の前は、複数のラベルキーに同じ接頭辞があり、一部のキーにドットが含まれていると、Elasticsearch に書き込まれたレコードで障害が発生していました。今回の更新により、ラベルキーのドットがアンダースコアに置き換えられ、問題が解決されました。(LOG-3341)
- この更新の前は、ロギングビュープラグインに、OpenShift Container Platform の特定のバージョンと互換性のない機能が含まれていました。今回の更新で、プラグインの正しいリリースストリームにより、この問題は解決されます。(LOG-3467)
-
この更新の前は、
ClusterLogForwarderカスタムリソースの調整で、1 つ以上のパイプラインの低下ステータスが誤って報告され、コレクター Pod が 8 - 10 秒ごとに再起動していました。今回の更新により、ClusterLogForwarderカスタムリソースの調整が正しく処理されるようになり、問題が解決されました。(LOG-3469) -
この変更の前は、ClusterLogForwarder カスタムリソースの
outputDefaultsフィールドの仕様は、宣言されたすべての Elasticsearch 出力タイプに設定を適用していました。今回の変更により、拡張仕様に一致するように動作が修正され、デフォルトのマネージド Elasticsearch ストアにのみ設定が適用されるようになりました。(LOG-3342) -
この更新の前は、OpenShift CLI (oc) がそのキャッシュを構築するために書き込み権限を持つフォルダーを必要とするため、OpenShift CLI (oc) の
must-gatherスクリプトが完了しませんでした。今回の更新により、OpenShift CLI (oc) にフォルダーへの書き込み権限が付与され、must-gatherスクリプトが正常に完了するようになりました。(LOG-3472) - この更新の前は、Loki Operator Webhook サーバーが TLS エラーを引き起こしていました。今回の更新により、Loki Operator Webhook PKI は Operator Lifecycle Manager の動的 Webhook 管理によって管理されるようになり、問題が解決されました。(LOG-3511)
1.20.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.21. Logging 5.5.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.5 が含まれます。
1.21.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Kibana の OAuth cookie の有効期限は
24hに固定されていたため、accessTokenInactivityTimeoutフィールドが24h未満の値に設定されていると、Kibana で 401 エラーが発生していました。今回の更新により、Kibana の OAuth cookie の有効期限がaccessTokenInactivityTimeoutに同期され、デフォルト値は24hになります。(LOG-3305) -
この更新の前は、Vector は、JSON 解析が有効になっている場合に、
structuredTypeKeyまたはstructuredTypeNameの値も定義せずにメッセージフィールドを解析していました。今回の更新により、構造化ログを Elasticsearch に書き込むときに、structuredTypeKeyまたはstructuredTypeNameのいずれかに値が必要になりました。(LOG-3284) -
この更新の前は、
FluentdQueueLengthIncreasingアラート式から返された一連のラベルにカーディナリティの問題があった場合に、このアラートが発生しない可能性がありました。今回の更新により、アラートに必要なラベルのみが含まれるようにラベルが削減されました。(LOG-3226) - この更新の前は、Loki は、切断されたクラスター内の外部ストレージへのアクセスをサポートしていませんでした。今回の更新では、これらの接続をサポートするために、プロキシー環境変数とプロキシーの信頼できる CA バンドルがコンテナーイメージに含まれています。(LOG-2860)
-
今回の更新前は、OpenShift Container Platform Web コンソールのユーザーは、Loki の CA 証明書を含む
ConfigMapオブジェクトを選択できなかったため、Pod が CA なしで動作していました。今回の更新により、Web コンソールユーザーは設定マップを選択できるようになり、問題が解決されました。(LOG-3310) - この更新の前に、CA キーは CA を Loki にマウントするためのボリューム名として使用されていたため、CA キーに非準拠の文字 (ドットなど) が含まれているとエラー状態が発生していました。今回の更新により、ボリューム名が内部文字列に標準化され、問題が解決されました。(LOG-3332)
1.21.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2016-3709
- CVE-2020-35525
- CVE-2020-35527
- CVE-2020-36516
- CVE-2020-36558
- CVE-2021-3640
- CVE-2021-30002
- CVE-2022-0168
- CVE-2022-0561
- CVE-2022-0562
- CVE-2022-0617
- CVE-2022-0854
- CVE-2022-0865
- CVE-2022-0891
- CVE-2022-0908
- CVE-2022-0909
- CVE-2022-0924
- CVE-2022-1016
- CVE-2022-1048
- CVE-2022-1055
- CVE-2022-1184
- CVE-2022-1292
- CVE-2022-1304
- CVE-2022-1355
- CVE-2022-1586
- CVE-2022-1785
- CVE-2022-1852
- CVE-2022-1897
- CVE-2022-1927
- CVE-2022-2068
- CVE-2022-2078
- CVE-2022-2097
- CVE-2022-2509
- CVE-2022-2586
- CVE-2022-2639
- CVE-2022-2938
- CVE-2022-3515
- CVE-2022-20368
- CVE-2022-21499
- CVE-2022-21618
- CVE-2022-21619
- CVE-2022-21624
- CVE-2022-21626
- CVE-2022-21628
- CVE-2022-22624
- CVE-2022-22628
- CVE-2022-22629
- CVE-2022-22662
- CVE-2022-22844
- CVE-2022-23960
- CVE-2022-24448
- CVE-2022-25255
- CVE-2022-26373
- CVE-2022-26700
- CVE-2022-26709
- CVE-2022-26710
- CVE-2022-26716
- CVE-2022-26717
- CVE-2022-26719
- CVE-2022-27404
- CVE-2022-27405
- CVE-2022-27406
- CVE-2022-27950
- CVE-2022-28390
- CVE-2022-28893
- CVE-2022-29581
- CVE-2022-30293
- CVE-2022-34903
- CVE-2022-36946
- CVE-2022-37434
- CVE-2022-39399
1.22. Logging 5.5.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:7434-OpenShift Logging バグ修正リリース 5.5.4 が含まれます。
1.22.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、ロギングビュープラグインのクエリーパーサーのエラーにより、クエリーに中かっこ
{}が含まれていると、ログクエリーの一部が消えていました。これにより、クエリーが無効になり、有効なクエリーに対してエラーが返されました。今回の更新により、パーサーはこれらのクエリーを正しく処理するようになりました。(LOG-3042) - この更新の前は、Elasticsearch または Kibana デプロイメントのステータスが変更されている間に、Operator がコレクターデーモンセットの削除と再作成のループに入る可能性がありました。今回の更新では、Operator のステータス処理が修正され、問題が解決されました。(LOG-3049)
- この更新の前は、Vector のコレクターの実装をサポートするためにアラートが実装されていませんでした。この変更により、Vector アラートが追加され、選択したコレクターの実装に応じて個別のアラートがデプロイメントされます。(LOG-3127)
- この更新の前は、Elasticsearch Operator のシークレット作成コンポーネントが内部シークレットを常に変更していました。今回の更新により、既存のシークレットが適切に処理されるようになりました。(LOG-3138)
-
この更新の前に、ログ
must-gatherスクリプトの以前のリファクタリングにより、アーティファクトの予想される場所が削除されました。この更新により、アーティファクトを/must-gatherフォルダーに書き込むという変更が元に戻ります。(LOG-3213) -
この更新の前は、特定のクラスターで、Prometheus エクスポーターが IPv6 ではなく IPv4 にバインドしていました。この更新後、Fluentd は IP バージョンを検出し、IPv4 の場合は
0.0.0.0、IPv6 の場合は[::]にバインドします。(LOG-3162)
1.22.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.23. Logging 5.5.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.3 が含まれます。
1.23.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新前は、構造化されたメッセージを含むログエントリーに元のメッセージフィールドが含まれていたため、エントリーが大きくなりました。この更新により、構造化ログのメッセージフィールドが削除され、増加したサイズが縮小されます。(LOG-2759)
-
この更新の前に、コレクター設定は、
Collector、default-log-store、およびvisualizationPod からログを除外していましたが、.gzファイルにアーカイブされたログを除外できませんでした。今回の更新により、collector、default-log-store、およびvisualizationPod の.gzファイルとして保存されたアーカイブログも除外されます。(LOG-2844) - この更新の前は、使用できない Pod へのリクエストがゲートウェイ経由で送信された場合、中断を警告するアラートはありませんでした。今回の更新により、ゲートウェイで書き込みまたは読み取り要求の完了に問題が発生した場合に、個別のアラートが生成されます。(LOG-2884)
- この更新の前は、値が参照によってパイプラインを通過したため、Pod メタデータは fluent プラグインによって変更される可能性がありました。この更新により、各ログメッセージが Pod メタデータのコピーを確実に受信するようになり、各メッセージが個別に処理されるようになりました。(LOG-3046)
-
この更新の前に、OpenShift コンソールログビューで 不明な 重大度を選択すると、
level=unknown値のログが除外されていました。今回の更新により、レベルのないログとlevel=unknownの値を持つログが、不明な 重大度でフィルタリングすると表示されるようになりました。(LOG-3062) -
この更新の前は、Elasticsearch に送信されたログレコードには、ログを送信する必要があるインデックスの名前を含む
write-indexという名前の追加フィールドがありました。このフィールドは、データモデルの一部ではありません。この更新後、このフィールドは送信されなくなりました。(LOG-3075) - 新しい組み込み Pod Security Admission Controller の導入により、グローバルまたは namespace レベルで定義された強制セキュリティー規格に従って設定されていない Pod は実行できません。今回の更新により、Operator と Collector は特権実行を許可し、セキュリティー監査の警告やエラーなしで実行できるようになりました。(LOG-3077)
-
この更新の前に、LokiStack をデフォルトのログストレージとして使用する場合、Operator は
ClusterLogForwarderカスタムリソースで定義されたカスタム出力を削除しました。今回の更新により、Operator はClusterLogForwarderカスタムリソースの処理時にカスタム出力をデフォルト出力とマージします。(LOG-3095)
1.23.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.24. Logging 5.5.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.2 が含まれます。
1.24.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Fluentd コレクターのアラートルールは OpenShift Container Platform モニタリングスタイルのガイドラインに準拠していませんでした。今回の更新により、これらのアラートが namespace ラベルを含むように変更され、問題が解決されました。(LOG-1823)
- この更新の前は、インデックス名に複数のハイフン文字が含まれていると、インデックス管理ロールオーバースクリプトが新しいインデックス名を生成できませんでした。今回の更新により、インデックス名が正しく生成されるようになりました。(LOG-2644)
-
この更新の前は、Kibana ルートは証明書が存在しない状態で
caCertificate値を設定していました。今回の更新により、caCertificate値が設定されなくなりました。(LOG-2661) - この更新の前は、コレクターの依存関係の変更により、未使用のパラメーターに対して警告メッセージが発行されていました。今回の更新で、未使用の設定パラメーターを削除すると、問題が解決されます。(LOG-2859)
- この更新の前に、Loki Operator が作成したデプロイメント用に作成された Pod は、Operator が実行されているクラスターでそのようなノードが利用可能な場合、Linux 以外のオペレーティングシステムのノードで誤ってスケジュールされていました。今回の更新により、Operator は追加のノードセレクターを Pod 定義に割り当て、Linux ベースのノードでのみ Pod をスケジュールできるようにします。(LOG-2895)
- この更新の前は、LokiStack ゲートウェイの LogQL パーサーの問題により、OpenShift コンソールのログビューはログを重大度でフィルタリングしませんでした。今回の更新では、パーサーの修正により問題が解決され、OpenShift コンソールのログビューは重大度でフィルタリングできるようになりました。(LOG-2908)
- この更新の前に、Fluentd コレクタープラグインのリファクタリングにより、イベントのタイムスタンプフィールドが削除されました。この更新により、イベントの受信時刻をソースとするタイムスタンプフィールドが復元されます。(LOG-2923)
-
この更新の前は、監査ログに
levelフィールドがないため、ベクターログでエラーが発生していました。今回の更新で、監査ログレコードにlevelフィールドが追加され、問題が解決されました。(LOG-2961) - 今回の更新の前は、Kibana カスタムリソースを削除した場合、OpenShift Container Platform Web コンソールは引き続き Kibana へのリンクを表示していました。今回の更新で、Kibana カスタムリソースを削除すると、そのリンクも削除されます。(LOG-3053)
-
この更新の前は、
ClusterLogForwarderカスタムリソースに JSON 解析が定義されている場合、各ロールオーバージョブで空のインデックスが作成されていました。今回の更新により、新しいインデックスは空ではなくなりました。(LOG-3063) - この更新の前に、ユーザーが Loki Operator 5.5 への更新後に LokiStack を削除すると、もともと Loki Operator 5.4 によって作成されたリソースが残りました。今回の更新により、リソースの所有者参照は 5.5 LokiStack を指します。(LOG-2945)
- この更新の前は、ユーザーはアクセス権を持つ namespace のアプリケーションログを表示できませんでした。今回の更新により、Loki Operator はクラスターロールとクラスターロールバインディングを自動的に作成し、ユーザーがアプリケーションログを読み取れるようにします。(LOG-2918)
- この更新の前は、cluster-admin 権限を持つユーザーは、ログコンソールを使用してインフラストラクチャーと監査ログを適切に表示できませんでした。今回の更新により、認可チェックが拡張され、cluster-admin および dedicated-admin グループのユーザーも管理者として認識されるようになりました。(LOG-2970)
1.24.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.25. Logging 5.5.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには OpenShift Logging バグ修正リリース 5.5.1 が含まれます。
1.25.1. 機能強化 リンクのコピーリンクがクリップボードにコピーされました!
1.25.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Operator は Pod が準備状態にあることを確認しないことが原因で、クラスターの再起動時にクラスターが動作不能な状態になりました。今回の更新により、Operator は、再起動中に新しい Pod を準備完了としてマークしてから新しい Pod に移動を続けることで、問題を解決します。(LOG-2745)
- 今回の更新以前は、Fluentd は Kubernetes プラットフォームがログファイルをローテーションしたことを認識しない場合があり、ログメッセージを読み取らなくなっていました。今回の更新で、アップストリームの開発チームが提案する設定パラメーターを設定することにより修正されています。(LOG-2995)
- 今回の更新以前は、複数行のエラー検出機能が追加されたことが原因で、内部ルーティングが変更され、レコードが間違った宛先に転送されていました。今回の更新により、内部ルーティングが正しくなりました。(LOG-2801)
- 今回の更新前は、OpenShift Container Platform Web コンソールの更新間隔を変更すると、Query フィールドが空の場合にはエラーが発生していました。今回の更新で、Query フィールドが空の場合に、間隔の変更が選択不可能になりました。(LOG-2917)
1.25.3. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.26. Logging 5.5 リンクのコピーリンクがクリップボードにコピーされました!
Logging 5.5 では、次のアドバイザリーを利用できます (リリース 5.5)。
1.26.1. 拡張機能 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新では、構造化ログを同じ Pod 内の異なるコンテナーからさまざまなインデックスに転送できるようになりました。この機能を使用するには、複数コンテナーのサポートを使用してパイプラインを設定し、Pod にアノテーションを付ける必要があります。(LOG-1296)
ログの JSON 形式は、アプリケーションによって異なります。作成するインデックスが多すぎるとパフォーマンスに影響するため、この機能の使用は、互換性のない JSON 形式のログのインデックスの作成に限定してください。クエリーを使用して、さまざまな namespace または互換性のある JSON 形式のアプリケーションからログを分離します。
-
今回の更新では、Kubernetes 共通ラベルである
app.kubernetes.io/component、app.kubernetes.io/managed-by、app.kubernetes.io/part-of、およびapp.kubernetes.io/versionを使用して、Elasticsearch 出力でログをフィルタリングできます。Elasticsearch 以外の出力タイプでは、kubernetes.labelsに含まれるすべてのラベルを使用できます。(LOG-2388) - 今回の更新では、AWS Security Token Service (STS) が有効になっているクラスターは、STS 認証を使用してログを Amazon CloudWatch に転送できます。(LOG-1976)
- 今回の更新では、'Loki Operator' Operator および Vector コレクターがテクニカルプレビュー機能から一般提供機能 (GA) に移行します。以前のリリースとの完全な機能パリティーに関しては作業中で、一部の API はテクニカルプレビュー機能のままです。詳細は、LokiStack を使用したロギング セクションを参照してください。
1.26.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、ログを Amazon CloudWatch に転送するように設定されたクラスターが、拒否されたログファイルを一時ストレージに書き込んでいたため、時間の経過とともにクラスターが不安定になりました。今回の更新により、すべてのストレージオプションの一括バックアップが無効になり、問題が解決されました。(LOG-2746)
- 今回の更新以前に、Operator は、非推奨で OpenShift Container Platform の今後のバージョンで削除予定の API のバージョンを一部使用していました。今回の更新により、依存関係がサポート対象の API バージョンに移動されます。(LOG-2656)
今回の更新以前に、Operator は、非推奨で OpenShift Container Platform の今後のバージョンで削除予定の API のバージョンを一部使用していました。今回の更新により、依存関係がサポート対象の API バージョンに移動されます。(LOG-2656)
-
今回の更新以前は、複数行エラー検出用に設定された複数の
ClusterLogForwarderパイプラインにより、コレクターがcrashloopbackoffエラー状態になりました。今回の更新により、複数の設定セクションに同じ一意の ID が使用される問題が修正されます。(LOG-2241) - この更新の前は、コレクターは UTF-8 以外の記号を Elasticsearch ストレージログに保存できませんでした。今回の更新で、コレクターは UTF-8 以外の記号をエンコードし、問題を解決しました。(LOG-2203)
- 今回の更新以前は、ラテン文字以外の文字が Kibana で正しく表示されませんでした。今回の更新により、Kibana はすべての有効な UTF-8 シンボルを正しく表示します。(LOG-2784)
1.26.3. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.27. Logging 5.4.14 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.4.14 が含まれています。
1.27.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.27.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.28. Logging 5.4.13 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.4.13 が含まれています。
1.28.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Fluentd コレクターの問題により、
/var/log/auth-server/audit.logに保存されている OAuth ログインイベントがキャプチャーされませんでした。これにより、OAuth サービスからのログインイベントの収集が不完全になりました。今回の更新により、Fluentd コレクターは、予想どおり、/var/log/auth-server/audit.logに保存されているものを含め、OAuth サービスからすべてのログインイベントをキャプチャーすることで、この問題を解決するようになりました。(LOG-3731)
1.28.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.29. Logging 5.4.12 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.4.12 が含まれています。
1.29.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.29.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.30. Logging 5.4.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.4.11 が含まれます。
1.30.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
1.30.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.31. Logging 5.4.10 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.4.10 が含まれます。
1.31.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.31.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.32. Logging 5.4.9 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.4.9 が含まれます。
1.32.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、Fluentd コレクターは未使用の設定パラメーターを警告していました。この更新により、これらの設定パラメーターとその警告メッセージが削除されます。(LOG-3074)
-
この更新の前は、Kibana の OAuth cookie の有効期限は
24hに固定されていたため、accessTokenInactivityTimeoutフィールドが24h未満の値に設定されていると、Kibana で 401 エラーが発生していました。今回の更新により、Kibana の OAuth cookie の有効期限がaccessTokenInactivityTimeoutに同期され、デフォルト値は24hになります。(LOG-3306)
1.32.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2016-3709
- CVE-2020-35525
- CVE-2020-35527
- CVE-2020-36516
- CVE-2020-36558
- CVE-2021-3640
- CVE-2021-30002
- CVE-2022-0168
- CVE-2022-0561
- CVE-2022-0562
- CVE-2022-0617
- CVE-2022-0854
- CVE-2022-0865
- CVE-2022-0891
- CVE-2022-0908
- CVE-2022-0909
- CVE-2022-0924
- CVE-2022-1016
- CVE-2022-1048
- CVE-2022-1055
- CVE-2022-1184
- CVE-2022-1292
- CVE-2022-1304
- CVE-2022-1355
- CVE-2022-1586
- CVE-2022-1785
- CVE-2022-1852
- CVE-2022-1897
- CVE-2022-1927
- CVE-2022-2068
- CVE-2022-2078
- CVE-2022-2097
- CVE-2022-2509
- CVE-2022-2586
- CVE-2022-2639
- CVE-2022-2938
- CVE-2022-3515
- CVE-2022-20368
- CVE-2022-21499
- CVE-2022-21618
- CVE-2022-21619
- CVE-2022-21624
- CVE-2022-21626
- CVE-2022-21628
- CVE-2022-22624
- CVE-2022-22628
- CVE-2022-22629
- CVE-2022-22662
- CVE-2022-22844
- CVE-2022-23960
- CVE-2022-24448
- CVE-2022-25255
- CVE-2022-26373
- CVE-2022-26700
- CVE-2022-26709
- CVE-2022-26710
- CVE-2022-26716
- CVE-2022-26717
- CVE-2022-26719
- CVE-2022-27404
- CVE-2022-27405
- CVE-2022-27406
- CVE-2022-27950
- CVE-2022-28390
- CVE-2022-28893
- CVE-2022-29581
- CVE-2022-30293
- CVE-2022-34903
- CVE-2022-36946
- CVE-2022-37434
- CVE-2022-39399
1.33. Logging 5.4.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:7435-OpenShift Logging バグ修正リリース 5.4.8 が含まれます。
1.33.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.33.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2016-3709
- CVE-2020-35525
- CVE-2020-35527
- CVE-2020-36518
- CVE-2022-1304
- CVE-2022-2509
- CVE-2022-3515
- CVE-2022-22624
- CVE-2022-22628
- CVE-2022-22629
- CVE-2022-22662
- CVE-2022-26700
- CVE-2022-26709
- CVE-2022-26710
- CVE-2022-26716
- CVE-2022-26717
- CVE-2022-26719
- CVE-2022-30293
- CVE-2022-32149
- CVE-2022-37434
- CVE-2022-40674
- CVE-2022-42003
- CVE-2022-42004
1.34. Logging 5.4.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.4.6 が含まれます。
1.34.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Fluentd は Kubernetes プラットフォームがログファイルをローテーションしたことを認識しない場合があり、ログメッセージを読み取らなくなっていました。今回の更新で、アップストリームの開発チームが提案する設定パラメーターを設定することにより修正されています。(LOG-2792)
-
この更新の前は、
ClusterLogForwarderカスタムリソースに JSON 解析が定義されている場合、各ロールオーバージョブで空のインデックスが作成されていました。今回の更新により、新しいインデックスは空ではなくなりました。(LOG-2823) - 今回の更新の前は、Kibana カスタムリソースを削除した場合、OpenShift Container Platform Web コンソールは引き続き Kibana へのリンクを表示していました。今回の更新で、Kibana カスタムリソースを削除すると、そのリンクも削除されます。(LOG-3054)
1.34.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.35. Logging 5.4.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:6183-OpenShift Logging バグ修正リリース 5.4.5 が含まれます。
1.35.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Operator は Pod が準備状態にあることを確認しないことが原因で、クラスターの再起動時にクラスターが動作不能な状態になりました。今回の更新により、Operator は、再起動中に新しい Pod を準備完了としてマークしてから新しい Pod に移動を続けることで、問題を解決します。(LOG-2881)
- 今回の更新以前は、複数行のエラー検出機能が追加されたことが原因で、内部ルーティングが変更され、レコードが間違った宛先に転送されていました。今回の更新により、内部ルーティングが正しくなりました。(LOG-2946)
- 今回の更新以前は、Operator は引用符で囲まれたブール値でインデックス設定 JSON 応答をデコードできず、エラーが発生していました。今回の更新により、Operator はこの JSON 応答を適切にデコードできるようになりました。(LOG-3009)
- この更新の前に、Elasticsearch インデックステンプレートは、ラベルのフィールドを間違ったタイプで定義していました。この変更により、これらのテンプレートが更新され、ログコレクターによって転送されると予想されるタイプと同じになりました。(LOG-2972)
1.35.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.36. Logging 5.4.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:5907-OpenShift Logging バグ修正リリース 5.4.4 が含まれます。
1.36.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、ラテン文字以外の文字が Elasticsearch で正しく表示されませんでした。今回の更新により、Elasticsearch はすべての有効な UTF-8 シンボルを正しく表示します。(LOG-2794)
- 今回の更新以前は、ラテン文字以外の文字が Fluentd で正しく表示されませんでした。今回の更新により、Fluentd はすべての有効な UTF-8 シンボルを正しく表示します。(LOG-2657)
- この更新以前には、コレクターのメトリックサーバーは、環境値によって公開された値を使用してアドレスにバインドしようとしました。今回の変更により、使用可能なインターフェイスであればどれでもバインドするように設定が変更されます。(LOG-2821)
-
今回の更新以前は、
cluster-loggingOperator はクラスターに依存してシークレットを作成していました。このクラスターの動作は OpenShift Container Platform 4.11 で変更されたことが原因で、ロギングデプロイメントに失敗しました。今回の更新により、cluster-loggingOperator は必要に応じてシークレットを作成することで問題を解決します。(LOG-2840)
1.36.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.37. Logging 5.4.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:5556-OpenShift Logging Bug Fix Release 5.4.3 が含まれます。
1.37.1. Elasticsearch Operator の非推奨通知 リンクのコピーリンクがクリップボードにコピーされました!
logging サブシステム 5.4.3 では、Elasticsearch Operator は非推奨となり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Elasticsearch Operator を使用してデフォルトのログストレージを管理する代わりに、Loki Operator を使用できます。
1.37.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、OpenShift ロギングダッシュボードは、アクティブなすべてのシャードではなく、アクティブなプライマリーシャードの数を表示していました。今回の更新により、ダッシュボードにはすべてのアクティブなシャードが表示されます。(LOG-2781)
-
この更新に、
elasticsearch-operatorが使用するライブラリーのバグには、DoS 攻撃の脆弱性が含まれていました。今回の更新により、ライブラリーがこの脆弱性を含まないバージョンに更新されました。(LOG-2816) - 今回の更新以前は、ログを Loki に転送するように Vector を設定するときに、Loki で TLS が有効になっていると、カスタムベアラートークンを設定したり、デフォルトトークンを使用したりできませんでした。今回の更新により、Vector は TLS が有効なトークンを使用してログを Loki に転送できるようになりました。(LOG-2786
-
今回の更新以前に、ElasticSearch Operator は、
oauth-proxyイメージを選択するときに、ImageStreamカスタムリソースのreferencePolicyプロパティーを省略していました。このようにプロパティーが省略されることが原因で特定の環境で Kibana のデプロイに失敗しました。今回の更新では、referencePolicyを使用することで問題が解決され、Operator は Kibana を正常にデプロイできるようになりました。(LOG-2791) -
今回の更新以前は、
ClusterLogForwarderカスタムリソースのアラートルールで、複数の転送出力が考慮されていませんでした。今回の更新で問題が解決されました。(LOG-2640) - この更新の前は、ログを Amazon CloudWatch に転送するように設定されたクラスターが、拒否されたログファイルを一時ストレージに書き込んでいたため、時間の経過とともにクラスターが不安定になりました。今回の更新により、CloudWatch のチャンクバックアップが無効になり、問題が解決されました。(LOG-2768)
1.37.3. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.38. Logging 5.4.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:4874-OpenShift Logging バグ修正リリース 5.4.2 が含まれます。
1.38.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、空白の使用に一貫性がなかったため、
oc editを使用したコレクター設定の編集が困難でした。今回の変更により、Operator による更新の前に設定を正規化およびフォーマットするロジックが導入され、oc editを使用して簡単に編集できるようになりました。(LOG-2319) -
今回の更新以前は、
FluentdNodeDownアラートは、メッセージセクションにインスタンスラベルを適切に提供できませんでした。今回の更新では、部分的なインスタンスエラーの場合にインスタンスラベルを提供するようにアラートルールを修正することで、問題を解決します。(LOG-2607) - 今回の更新以前は、`critical` などの複数のログレベルで、ドキュメントにはサポート対象と記載されているにも拘らず、サポートされていませんでした。今回の更新により不一致が修正され、記載されているログレベルが製品でサポートされるようになりました。(LOG-2033)
1.38.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.2 クリックして CVE を展開
- CVE-2018-25032
- CVE-2020-0404
- CVE-2020-4788
- CVE-2020-13974
- CVE-2020-19131
- CVE-2020-27820
- CVE-2021-0941
- CVE-2021-3612
- CVE-2021-3634
- CVE-2021-3669
- CVE-2021-3737
- CVE-2021-3743
- CVE-2021-3744
- CVE-2021-3752
- CVE-2021-3759
- CVE-2021-3764
- CVE-2021-3772
- CVE-2021-3773
- CVE-2021-4002
- CVE-2021-4037
- CVE-2021-4083
- CVE-2021-4157
- CVE-2021-4189
- CVE-2021-4197
- CVE-2021-4203
- CVE-2021-20322
- CVE-2021-21781
- CVE-2021-23222
- CVE-2021-26401
- CVE-2021-29154
- CVE-2021-37159
- CVE-2021-41617
- CVE-2021-41864
- CVE-2021-42739
- CVE-2021-43056
- CVE-2021-43389
- CVE-2021-43976
- CVE-2021-44733
- CVE-2021-45485
- CVE-2021-45486
- CVE-2022-0001
- CVE-2022-0002
- CVE-2022-0286
- CVE-2022-0322
- CVE-2022-1011
- CVE-2022-1271
1.39. Logging 5.4.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:2216-OpenShift Logging Bug Fix Release 5.4.1 が含まれます。
1.39.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、ログファイルメトリックエクスポーターは、エクスポーターの実行中に作成されたログのみを報告したため、ログの増加データが不正確になりました。この更新では、
/var/log/podsをモニターすることでこの問題を解決しています。(LOG-2442) -
この更新の前は、コレクターは、ログを fluentd の転送レシーバーに転送するときに古い接続を継続的に使用しようとしたため、ブロックされていました。このリリースでは、
keepalive_timeout値が 30 秒 (30s) に設定されているため、コレクターは接続をリサイクルし、適切な時間内に失敗したメッセージの送信を再試行します。(LOG-2534) - この更新の前は、ログを読み取るためのテナンシーを強制するゲートウェイコンポーネントのエラーにより、Kubernetes namespace を持つログへのアクセスが制限され、監査ログと一部のインフラストラクチャーログが読み取れなくなることがありました。この更新により、プロキシーは管理者アクセス権を持つユーザーを正しく検出し、namespace なしでログへのアクセスを許可します。(LOG-2448)
-
今回の更新の前は、
system:serviceaccount:openshift-monitoring:prometheus-k8sサービスアカウントには、clusterroleおよびclusterrolebindingとしてクラスターレベルの特権がありました。今回の更新により、ロールとロールバインディングを持つopenshift-loggingnamespace にサービスアカウントが制限されます。(LOG-2437) - この更新の前は、Linux 監査ログの時間解析は、キーと値のペアの順序に依存していました。この更新により、時間エントリーを見つけるために正規表現を使用するように解析が変更されます。(LOG-2321)
1.39.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.40. Logging 5.4 リンクのコピーリンクがクリップボードにコピーされました!
以下のアドバイザリーは、Logging 5.4 に使用できます Logging subsystem for Red Hat OpenShift Release 5.4
1.40.1. テクノロジープレビュー リンクのコピーリンクがクリップボードにコピーされました!
Vector はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
1.40.2. Vector について リンクのコピーリンクがクリップボードにコピーされました!
Vector は、ロギングサブシステムの現在のデフォルトコレクターに代わるテクノロジープレビューとして提供されるログコレクターです。
次の出力がサポートされています。
-
elasticsearch。外部 Elasticsearch インスタンス。elasticsearch出力では、TLS 接続を使用できます。 -
kafka。Kafka ブローカー。kafka出力は、セキュリティーで保護されていない接続または TLS 接続を使用できます。 -
loki。Loki: 水平方向にスケーラブルで可用性の高いマルチテナントログ集計システム。
1.40.2.1. Vector の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Vector はデフォルトでは有効になっていません。以下のステップを使用して、OpenShift Container Platform クラスターで Vector を有効にします。
Vector は、FIPS 対応クラスターをサポートしていません。
前提条件
- OpenShift Container Platform: 4.10
- Red Hat OpenShift のロギングサブシステム: 5.4
- FIPS が無効
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc -n openshift-logging edit ClusterLogging instance
$ oc -n openshift-logging edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
logging.openshift.io/preview-vector-collector: enabledアノテーションをClusterLoggingカスタムリソース (CR) に追加します。 -
ClusterLoggingカスタムリソース (CR) にコレクションタイプとしてvectorを追加します。
Loki Operator はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
1.40.3. Loki について リンクのコピーリンクがクリップボードにコピーされました!
Loki は、水平方向にスケーラブルで可用性の高いマルチテナントログ集約システムであり、現在、ロギングサブシステムのログストアとして Elasticsearch の代替として提供されています。
1.40.3.1. Lokistack のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform コンソールを使用して Loki Operator をインストールできます。
前提条件
- OpenShift Container Platform: 4.10
- Red Hat OpenShift のロギングサブシステム: 5.4
OpenShift Container PlatformWeb コンソールを使用して Loki Operator をインストールするには:
Loki Operator をインストールします。
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
- 使用可能な Operator のリストから Loki Operator を選択し、Install をクリックします。
- Installation Mode で、All namespaces on the cluster を選択します。
Installed Namespace で、openshift-operators-redhat を選択します。
openshift-operators-redhatnamespace を指定する必要があります。openshift-operatorsnamespace には信頼されていないコミュニティー Operator が含まれる可能性があり、OpenShift Container Platform メトリックと同じ名前でメトリックを公開する可能性があるため、これによって競合が生じる可能性があります。Enable operator recommended cluster monitoring on this namespace を選択します。
このオプションは、namespace オブジェクトに
openshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-operators-redhatnamespace を収集できるように、このオプションを選択する必要があります。Approval Strategy を選択します。
- Automatic ストラテジーにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。
- Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
- Loki Operator がインストールされていることを確認します。Operators → Installed Operators ページにアクセスして、"Loki Operator" を探します。
- Status が Succeeded であるすべてのプロジェクトに Loki Operator がリストされていることを確認します。
1.40.4. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、
cluster-logging-operatorは、クラスタースコープのロールとバインディングを利用して、Prometheus サービスアカウントがメトリックをスクレープするための権限を確立していました。これらの権限は、コンソールインターフェイスを使用して Operator をデプロイする時にだけ作成され、コマンドラインから この Operator をデプロイする場合に欠落していました。この更新では、ロールとバインディングを namespace スコープにすることで問題を修正しています。(LOG-2286) -
この更新の前に、ダッシュボードの調整を修正するための変更により、namespace 全体のリソースに
ownerReferencesフィールドが導入されました。その結果、設定マップとダッシュボードの両方が namespace に作成されませんでした。今回の更新では、ownerReferencesフィールドを削除すると問題が解決し、コンソールで OpenShift Logging ダッシュボードを使用できるようになります。(LOG-2163) -
今回の更新以前は、
cluster-logging-operatorでダッシュボードなど、既存の Config Map と目的の Config Map が正しく比較されなかったため、メトリックダッシュボードへの変更がデプロイされていませんでした。この更新では、オブジェクトラベルに一意のハッシュ値を追加することで問題が解決します。(LOG-2071) - この更新の前は、OpenShift Logging ダッシュボードは、過去 24 時間に収集された上位のコンテナーを表示するテーブルに pod と namespace を正しく表示しませんでした。今回の更新では、pod と namespace が正しく表示されます。(LOG-2069)
-
この更新の前は、
ClusterLogForwarderがElasticsearch OutputDefaultで設定されていて、Elasticsearch 出力に構造化キーがないと、生成された設定に認証用の誤った値が含まれていました。この更新では、使用されているシークレットと証明書が修正されます。(LOG-2056) - この更新以前は、無効なメトリックへの参照が原因で、OpenShift Logging ダッシュボードに空の CPU グラフが表示されていました。この更新により、正しいデータポイントが選択され、問題が解決されました。(LOG-2026)
- 今回の更新以前は、Fluentd コンテナーイメージには、実行時に不要なビルダーツールが含まれていました。この更新により、これらのツールがイメージから削除されます。.(LOG-1927)
-
この更新の前は、5.3 リリースでデプロイされたコレクターの名前が変更されたため、ロギングコレクターは
FluentdNodeDownアラートを生成していました。この更新では、Prometheus アラートのジョブ名を修正することで問題を解決しています。(LOG-1918) - この更新の前は、コンポーネント名の変更のリファクタリングのために、ログコレクターは独自のログを収集していました。これにより、コレクターが自身のログを処理する潜在的なフィードバックループが発生し、メモリーとログメッセージのサイズの問題が発生する可能性があります。この更新では、コレクターログをコレクションから除外することで問題を解決しています。(LOG-1774)
-
この更新の前では、PVC がすでに存在すると、
Unable to create PersistentVolumeClaim due to forbidden: exceeded quota: infra-storage-quotaというエラーを生成していました。この更新により、Elasticsearch は既存の PVC をチェックし、問題を解決します。(LOG-2131) -
この更新の前は、
elasticsearch-signingシークレットが削除されたときに Elasticsearch は準備完了状態に戻ることができませんでした。この更新により、Elasticsearch は、そのシークレットが削除された後、準備完了状態に戻ることができます。(LOG-2171) - この更新の前は、コレクターがコンテナーログを読み取るパスが変更されたため、コレクターは一部のレコードを間違ったインデックスに転送していました。この更新により、コレクターは正しい設定を使用して問題を解決するようになりました。(LOG-2160)
- この更新の前は、namespace のリストがヘッダーサイズの最大制限に達したため、namespace が多数あるクラスターにより、Elasticsearch はリクエストの処理を停止していました。この更新により、ヘッダーには namespace 名のリストのみが含まれるようになり、問題が解決されました。(LOG-1899)
- この更新の前は、OpenShift Container Platform Logging ダッシュボードには、Elasticsearch に x ノードがある場合の実際の値の x 倍のシャードの数が表示されていました。この問題は、出力は常に Elasticsearch クラスター全体に対するものであったにも拘らず、Elasticsearch Pod ごとにすべてのプライマリーシャードを出力し、その合計を計算していたために発生しました。この更新により、シャードの数が正しく計算されるようになりました。(LOG-2156)
-
この更新の前は、シークレット
kibanaとkibana-proxyが手動で削除されていると、再作成されませんでした。この更新により、elasticsearch-operatorはリソースを監視し、削除された場合は自動的に再作成します。(LOG-2250) - この更新の前に、バッファーチャンクサイズを調整すると、コレクターは、チャンクサイズがイベントストリームのバイト制限を超えているという警告を生成する可能性がありました。この更新では、読み取り行の制限を調整して、問題を解決することもできます。(LOG-2379)
- 今回の更新以前には、OpenShift WebConsole のロギングコンソールリンクが ClusterLogging CR で削除されていませんでした。この更新により、CR を削除するか、Cluster Logging Operator をアンインストールするとリンクが削除されます。(LOG-2373)
- 今回の更新以前は、コンテナーログパスを変更すると、元のパスで設定された古いリリースでは、このコレクションメトリックは常にゼロになりました。この更新では、収集されたログに関するメトリックを公開するプラグインが、問題を解決するためにいずれかのパスからの読み取りをサポートします。(LOG-2462)
1.40.5. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.41. ロギング 5.3.14 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.3.14 が含まれます。
1.41.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前に、
log-file-metrics-exporterコンポーネントによって生成されたログファイルサイズマップは、削除されたファイルのエントリーを削除しなかったため、ファイルサイズとプロセスメモリーが増加していました。今回の更新により、ログファイルサイズマップに、削除されたファイルのエントリーが含まれなくなりました。(LOG-3293)
1.41.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2016-3709
- CVE-2020-35525
- CVE-2020-35527
- CVE-2020-36516
- CVE-2020-36558
- CVE-2021-3640
- CVE-2021-30002
- CVE-2022-0168
- CVE-2022-0561
- CVE-2022-0562
- CVE-2022-0617
- CVE-2022-0854
- CVE-2022-0865
- CVE-2022-0891
- CVE-2022-0908
- CVE-2022-0909
- CVE-2022-0924
- CVE-2022-1016
- CVE-2022-1048
- CVE-2022-1055
- CVE-2022-1184
- CVE-2022-1292
- CVE-2022-1304
- CVE-2022-1355
- CVE-2022-1586
- CVE-2022-1785
- CVE-2022-1852
- CVE-2022-1897
- CVE-2022-1927
- CVE-2022-2068
- CVE-2022-2078
- CVE-2022-2097
- CVE-2022-2509
- CVE-2022-2586
- CVE-2022-2639
- CVE-2022-2938
- CVE-2022-3515
- CVE-2022-20368
- CVE-2022-21499
- CVE-2022-21618
- CVE-2022-21619
- CVE-2022-21624
- CVE-2022-21626
- CVE-2022-21628
- CVE-2022-22624
- CVE-2022-22628
- CVE-2022-22629
- CVE-2022-22662
- CVE-2022-22844
- CVE-2022-23960
- CVE-2022-24448
- CVE-2022-25255
- CVE-2022-26373
- CVE-2022-26700
- CVE-2022-26709
- CVE-2022-26710
- CVE-2022-26716
- CVE-2022-26717
- CVE-2022-26719
- CVE-2022-27404
- CVE-2022-27405
- CVE-2022-27406
- CVE-2022-27950
- CVE-2022-28390
- CVE-2022-28893
- CVE-2022-29581
- CVE-2022-30293
- CVE-2022-34903
- CVE-2022-36946
- CVE-2022-37434
- CVE-2022-39399
- CVE-2022-42898
1.42. ロギング 5.3.13 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:68828-OpenShift Logging バグ修正リリース 5.3.13 が含まれます。
1.42.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.42.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.4 クリックして CVE を展開
1.43. Logging 5.3.12 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.3.12 が含まれます。
1.43.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.43.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.44. ロギング 5.3.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.3.11 が含まれます。
1.44.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Operator は Pod が準備状態にあることを確認しないことが原因で、クラスターの再起動時にクラスターが動作不能な状態になりました。今回の更新により、Operator は、再起動中に新しい Pod を準備完了としてマークしてから新しい Pod に移動を続けることで、問題を解決します。(LOG-2871)
1.44.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.45. Logging 5.3.10 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:5908-OpenShift Logging バグ修正リリース 5.3.10 が含まれます。
1.45.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
1.45.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.46. Logging 5.3.9 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:5557-OpenShift Logging バグ修正リリース 5.3.9 が含まれます。
1.46.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前に、ロギングコレクターには、生成されたメトリックのラベルとしてパスが含まれていました。このパスは頻繁に変更され、Prometheus サーバーのストレージが大幅に変更されました。今回の更新で、問題を解決し、ストレージの消費を減らすために、ラベルが削除されました。(LOG-2682)
1.46.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.47. Logging 5.3.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:5010-OpenShift Logging バグ修正リリース 5.3.8 が含まれます。
1.47.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
(なし。)
1.47.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.7 クリックして CVE を展開
- CVE-2018-25032
- CVE-2020-0404
- CVE-2020-4788
- CVE-2020-13974
- CVE-2020-19131
- CVE-2020-27820
- CVE-2021-0941
- CVE-2021-3612
- CVE-2021-3634
- CVE-2021-3669
- CVE-2021-3737
- CVE-2021-3743
- CVE-2021-3744
- CVE-2021-3752
- CVE-2021-3759
- CVE-2021-3764
- CVE-2021-3772
- CVE-2021-3773
- CVE-2021-4002
- CVE-2021-4037
- CVE-2021-4083
- CVE-2021-4157
- CVE-2021-4189
- CVE-2021-4197
- CVE-2021-4203
- CVE-2021-20322
- CVE-2021-21781
- CVE-2021-23222
- CVE-2021-26401
- CVE-2021-29154
- CVE-2021-37159
- CVE-2021-41617
- CVE-2021-41864
- CVE-2021-42739
- CVE-2021-43056
- CVE-2021-43389
- CVE-2021-43976
- CVE-2021-44733
- CVE-2021-45485
- CVE-2021-45486
- CVE-2022-0001
- CVE-2022-0002
- CVE-2022-0286
- CVE-2022-0322
- CVE-2022-1011
- CVE-2022-1271
1.48. OpenShift Logging 5.3.7 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:2217 OpenShift Logging Bug Fix Release 5.3.7 が含まれます。
1.48.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、Linux 監査ログの時間解析はキー/値ペアの順序に依存していました。この更新により、時間エントリーを見つけるために正規表現を利用するように解析が変更されます。(LOG-2322)
- この更新以前には、一部のログフォワーダー出力は同じタイムスタンプでログを並べ替えることができました。この更新により、タイムスタンプが一致するエントリーを注文するためのシーケンス番号がログレコードに追加されました。(LOG-2334)
- この更新の前は、namespace のリストがヘッダーサイズの最大制限に達したため、namespace が多数あるクラスターにより、Elasticsearch はリクエストの処理を停止していました。この更新により、ヘッダーには namespace 名のリストのみが含まれるようになり、問題が解決されました。(LOG-2450)
-
この更新の前は、
system:serviceaccount:openshift-monitoring:prometheus-k8sには、clusterroleおよびclusterrolebindingとしてクラスターレベルの特権がありました。この更新により、serviceaccountがロールとロールバインディングを持つopenshift-loggingnamespace に制限されます。(LOG-2481))
1.48.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.49. OpenShift Logging 5.3.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:1377 OpenShift Logging Bug Fix Release 5.3.6 が含まれます。
1.49.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
1.50. OpenShift Logging 5.3.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:0721 OpenShift Logging Bug Fix Release 5.3.5 が含まれます。
1.50.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、OpenShift Container Platform から OpenShift Logging を削除した場合、Web コンソールは引き続き Logging ページへのリンクを表示していました。この更新では、OpenShift Logging を削除またはアンインストールするとそのリンクも削除されます。(LOG-2182)
1.50.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.51. OpenShift Logging 5.3.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:0411 OpenShift Logging Bug Fix Release 5.3.4 が含まれます。
1.51.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新以前は、
cluster-logging-operatorでダッシュボードを含む既存の設定マップと目的の設定マップが正しく比較されなかったため、メトリックダッシュボードへの変更がまだデプロイされていませんでした。この更新では、オブジェクトラベルに一意のハッシュ値を追加することにより、ロジックを修正します。(LOG-2066) - この更新の前は、FIPS を有効にして更新した後、Elasticsearch Pod を起動できませんでした。この更新により、Elasticsearch Pod は正常に起動します。(LOG-1974)
- この更新の前では、PVC がすでに存在する場合、Unable to create PersistentVolumeClaim due to forbidden: exceeded quota: infra-storage-quota. というエラーを生成していました。この更新により、elasticsearch は既存の PVC をチェックし、問題を解決します。(LOG-2127)
1.51.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.10 クリックして CVE を展開
- CVE-2021-3521
- CVE-2021-3872
- CVE-2021-3984
- CVE-2021-4019
- CVE-2021-4122
- CVE-2021-4155
- CVE-2021-4192
- CVE-2021-4193
- CVE-2022-0185
- CVE-2022-21248
- CVE-2022-21277
- CVE-2022-21282
- CVE-2022-21283
- CVE-2022-21291
- CVE-2022-21293
- CVE-2022-21294
- CVE-2022-21296
- CVE-2022-21299
- CVE-2022-21305
- CVE-2022-21340
- CVE-2022-21341
- CVE-2022-21360
- CVE-2022-21365
- CVE-2022-21366
1.52. OpenShift Logging 5.3.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:0227 OpenShift Logging のバグ修正リリース 5.3.3 が含まれます。
1.52.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、cluster-logging Operator でダッシュボードを含む既存の設定マップと目的の設定マップが正しく比較されなかったため、メトリックダッシュボードへの変更がまだデプロイされていませんでした。この更新では、ダッシュボードの一意のハッシュ値をオブジェクトラベルに追加することで、ロジックを修正しています。(LOG-2066)
- 今回の更新により、log4j の依存関係が 2.17.1 に変更され、 CVE-2021-44832 が解決されました。(LOG-2102)
1.52.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.11 クリックして CVE を展開
1.53. OpenShift Logging 5.3.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:0044 OpenShift Logging のバグ修正リリース 5.3.2 が含まれます。
1.53.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、Elasticsearch は解析エラーが原因でイベントルーターからのログを拒否していました。今回の更新では、解析エラーを解決するようにデータモデルが変更されています。ただし、その結果、以前のインデックスが原因で Kibana 内で警告またはエラーが発生する可能性があります。
kubernetes.event.metadata.resourceVersionフィールドが原因で、既存のインデックスが削除または再インデックスされるまでエラーが発生します。このフィールドが Kibana で使用されていない場合は、エラーメッセージを無視できます。古いインデックスを削除する保持ポリシーがある場合は、このポリシーにより、最終的に古いインデックスが削除されてエラーメッセージを停止します。それ以外の場合は、手動でインデックスを再作成してエラーメッセージを停止します。(LOG-2087) - 今回の更新以前は、OpenShift Logging Dashboard は、過去 24 時間に作成および収集されたコンテナーの上位を表示するテーブルに、間違った Pod の namespace を表示していました。今回の更新により、OpenShift Logging Dashboard に正しい Pod の namespace が表示されます。(LOG-2051)
-
この更新の前では、
ClusterLogForwarderカスタムリソース (CR) インスタンスのoutputDefaults.elasticsearch.structuredTypeKeyに構造化キーがなかった場合、CR は出力シークレットをデフォルトのログストアとの通信に使用されるデフォルトのシークレットに置き換えていました。今回の更新では、定義された出力シークレットが正しく使用されます。(LOG-2046)
1.53.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.12 クリックして CVE を展開
1.54. OpenShift Logging 5.3.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2021:5129 OpenShift Logging のバグ修正リリース 5.3.1 が含まれます。
1.54.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Fluentd コンテナーイメージには、実行時に不要なビルダーツールが含まれていました。今回の更新により、これらのツールがイメージから削除されます。(LOG-1998)
- 今回の更新以前は、無効なメトリックへの参照が原因で、ログダッシュボードに空の CPU グラフが表示されていました。今回の更新により、ロギングダッシュボードに CPU グラフが正しく表示されます。(LOG-1925)
- 今回の更新以前は、Elasticsearch Prometheus エクスポータープラグインは、Elasticsearch ノードのパフォーマンスに影響を与える高コストのクエリーを使用してインデックスレベルのメトリックをコンパイルしていました。この更新で、パフォーマンスを向上させる、低コストのクエリーが実装されています。(LOG-1897)
1.54.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.13 クリックして CVE を展開
- CVE-2018-25009
- CVE-2018-25010
- CVE-2018-25012
- CVE-2018-25013
- CVE-2018-25014
- CVE-2019-5827
- CVE-2019-13750
- CVE-2019-13751
- CVE-2019-17594
- CVE-2019-17595
- CVE-2019-18218
- CVE-2019-19603
- CVE-2019-20838
- CVE-2020-12762
- CVE-2020-13435
- CVE-2020-14145
- CVE-2020-14155
- CVE-2020-16135
- CVE-2020-17541
- CVE-2020-24370
- CVE-2020-35521
- CVE-2020-35522
- CVE-2020-35523
- CVE-2020-35524
- CVE-2020-36330
- CVE-2020-36331
- CVE-2020-36332
- CVE-2021-3200
- CVE-2021-3426
- CVE-2021-3445
- CVE-2021-3481
- CVE-2021-3572
- CVE-2021-3580
- CVE-2021-3712
- CVE-2021-3800
- CVE-2021-20231
- CVE-2021-20232
- CVE-2021-20266
- CVE-2021-20317
- CVE-2021-22876
- CVE-2021-22898
- CVE-2021-22925
- CVE-2021-27645
- CVE-2021-28153
- CVE-2021-31535
- CVE-2021-33560
- CVE-2021-33574
- CVE-2021-35942
- CVE-2021-36084
- CVE-2021-36085
- CVE-2021-36086
- CVE-2021-36087
- CVE-2021-42574
- CVE-2021-43267
- CVE-2021-43527
- CVE-2021-45046
1.55. OpenShift Logging 5.3.0 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2021:4627 OpenShift Logging のバグ修正リリース 5.3.0 が含まれます。
1.55.1. 新機能および拡張機能 リンクのコピーリンクがクリップボードにコピーされました!
- この更新により、ログ転送の承認オプションが拡張されました。出力は、SASL、ユーザー名/パスワード、または TLS で設定できるようになりました。
1.55.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、syslog プロトコルを使用してログを転送した場合に、ルビーハッシュでエンコードされたキーと値のペアをシリアル化して⇒文字を含めてタブを #11 に置き換えました。今回の更新では、問題が修正され、有効な JSON としてログメッセージが正しくシリアル化されます。(LOG-1494)
- 今回の更新以前は、複数行のエラー検出が有効な場合に、正しい Cloudwatch ストリームに転送されるように、アプリケーションログが正しく設定されていませんでした。(LOG-1939)
- 今回の更新以前は、デプロイされたコレクターの名前が 5.3 リリースで変更されたため、アラート fluentnodedown が生成されていました。(LOG-1918)
- 今回の更新以前は、1 つ前のリリース設定で発生したリグレッションが原因で、コレクターはシャットダウン前にバッファーされたメッセージをフラッシュしてコレクター Pod の終了と再起動を遅らせていました。今回の更新で、fluentd はシャットダウン時にバッファーをフラッシュしなくなり、問題が解決しました。(LOG-1735)
- 今回の更新以前では、1 つ前のリリースで発生したリグレッションが原因で、JSON メッセージの解析が意図的に無効になっていました。今回の更新により、JSON 解析が再度有効になりました。また、解析された JSON メッセージの level フィールドをもとに、または正規表現を使用してメッセージフィールドから一致を抽出することで、ログエントリー level を設定します。(LOG-1199)
-
今回の更新以前では、
Cluster Loggingカスタムリソース (CR) は、必要なバッファースペースが使用できない場合でも、total Limit Sizeフィールドの値をFluentdtotal_limit_sizeフィールドに適用していました。今回の更新により、CR は 2 つのtotal Limit Sizeまたは 'default'値の小さい方をFluentdtotal_limit_sizeフィールドに適用し、問題が解決されました。(LOG-1776)
1.55.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
ログを外部 Elasticsearch サーバーに転送してから、ユーザー名とパスワードなどのパイプラインシークレットで設定された値を変更する場合に、Fluentd フォワーダーは新規シークレットを読み込むにもかかわらず、以前の値を使用して外部 Elasticsearch サーバーに接続します。この問題は、現在 Red Hat OpenShift Logging Operator がコンテンツの変更についてシークレットを監視しないために発生します。(LOG-1652)
回避策として、シークレットを変更した場合は、以下を入力して Fluentd Pod を強制的に再デプロイできます。
oc delete pod -l component=collector
$ oc delete pod -l component=collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.55.4. 非推奨および削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
以前のリリースで利用可能であった一部の機能が非推奨になるか、削除されました。
非推奨の機能は依然として OpenShift Container Logging に含まれており、引き続きサポートされますが、この製品の今後のリリースで削除されるため、新規デプロイメントでの使用は推奨されません。
1.55.4.1. 従来の Fluentd および従来の syslog メソッドを使用したログの転送は削除されました リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Logging 5.3 では、ログを Syslog および Fluentd に転送する従来の方法が削除されています。バグ修正とサポートは、OpenShift Logging5.2 ライフサイクルの終了まで提供されます。その後は、新たな拡張機能は行われません。
代わりに、次にリリースされるレガシー以外のメソッドを使用してください。
1.55.4.2. 従来の転送方法の設定メカニズムは削除されました リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Logging 5.3 では、ログ転送のレガシー設定メカニズムが削除されました。レガシー Fluentd メソッドとレガシー Syslog メソッドを使用してログを転送できません。代わりに、標準のログ転送方法を使用してください。
1.55.5. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.14 クリックして CVE を展開
- CVE-2018-20673
- CVE-2018-25009
- CVE-2018-25010
- CVE-2018-25012
- CVE-2018-25013
- CVE-2018-25014
- CVE-2019-5827
- CVE-2019-13750
- CVE-2019-13751
- CVE-2019-14615
- CVE-2019-17594
- CVE-2019-17595
- CVE-2019-18218
- CVE-2019-19603
- CVE-2019-20838
- CVE-2020-0427
- CVE-2020-10001
- CVE-2020-12762
- CVE-2020-13435
- CVE-2020-14145
- CVE-2020-14155
- CVE-2020-16135
- CVE-2020-17541
- CVE-2020-24370
- CVE-2020-24502
- CVE-2020-24503
- CVE-2020-24504
- CVE-2020-24586
- CVE-2020-24587
- CVE-2020-24588
- CVE-2020-26139
- CVE-2020-26140
- CVE-2020-26141
- CVE-2020-26143
- CVE-2020-26144
- CVE-2020-26145
- CVE-2020-26146
- CVE-2020-26147
- CVE-2020-27777
- CVE-2020-29368
- CVE-2020-29660
- CVE-2020-35448
- CVE-2020-35521
- CVE-2020-35522
- CVE-2020-35523
- CVE-2020-35524
- CVE-2020-36158
- CVE-2020-36312
- CVE-2020-36330
- CVE-2020-36331
- CVE-2020-36332
- CVE-2020-36386
- CVE-2021-0129
- CVE-2021-3200
- CVE-2021-3348
- CVE-2021-3426
- CVE-2021-3445
- CVE-2021-3481
- CVE-2021-3487
- CVE-2021-3489
- CVE-2021-3564
- CVE-2021-3572
- CVE-2021-3573
- CVE-2021-3580
- CVE-2021-3600
- CVE-2021-3635
- CVE-2021-3659
- CVE-2021-3679
- CVE-2021-3732
- CVE-2021-3778
- CVE-2021-3796
- CVE-2021-3800
- CVE-2021-20194
- CVE-2021-20197
- CVE-2021-20231
- CVE-2021-20232
- CVE-2021-20239
- CVE-2021-20266
- CVE-2021-20284
- CVE-2021-22876
- CVE-2021-22898
- CVE-2021-22925
- CVE-2021-23133
- CVE-2021-23840
- CVE-2021-23841
- CVE-2021-27645
- CVE-2021-28153
- CVE-2021-28950
- CVE-2021-28971
- CVE-2021-29155
- lCVE-2021-29646
- CVE-2021-29650
- CVE-2021-31440
- CVE-2021-31535
- CVE-2021-31829
- CVE-2021-31916
- CVE-2021-33033
- CVE-2021-33194
- CVE-2021-33200
- CVE-2021-33560
- CVE-2021-33574
- CVE-2021-35942
- CVE-2021-36084
- CVE-2021-36085
- CVE-2021-36086
- CVE-2021-36087
- CVE-2021-42574
1.56. Logging 5.2.13 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:5909-OpenShift Logging バグ修正リリース 5.2.13 が含まれます。
1.56.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
1.56.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.57. Logging 5.2.12 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:5558-OpenShift Logging バグ修正リリース 5.2.12 が含まれます。
1.57.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
1.57.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.58. Logging 5.2.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:5012-OpenShift Logging バグ修正リリース 5.2.11 が含まれます。
1.58.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、CloudWatch 転送を実行するように設定されたクラスターが、拒否されたログファイルを一時ストレージに書き込んでいたため、時間の経過とともにクラスターが不安定になりました。今回の更新により、CloudWatch のチャンクバックアップが無効になり、問題が解決されました。(LOG-2635)
1.58.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.17 クリックして CVE を展開
- CVE-2018-25032
- CVE-2020-0404
- CVE-2020-4788
- CVE-2020-13974
- CVE-2020-19131
- CVE-2020-27820
- CVE-2021-0941
- CVE-2021-3612
- CVE-2021-3634
- CVE-2021-3669
- CVE-2021-3737
- CVE-2021-3743
- CVE-2021-3744
- CVE-2021-3752
- CVE-2021-3759
- CVE-2021-3764
- CVE-2021-3772
- CVE-2021-3773
- CVE-2021-4002
- CVE-2021-4037
- CVE-2021-4083
- CVE-2021-4157
- CVE-2021-4189
- CVE-2021-4197
- CVE-2021-4203
- CVE-2021-20322
- CVE-2021-21781
- CVE-2021-23222
- CVE-2021-26401
- CVE-2021-29154
- CVE-2021-37159
- CVE-2021-41617
- CVE-2021-41864
- CVE-2021-42739
- CVE-2021-43056
- CVE-2021-43389
- CVE-2021-43976
- CVE-2021-44733
- CVE-2021-45485
- CVE-2021-45486
- CVE-2022-0001
- CVE-2022-0002
- CVE-2022-0286
- CVE-2022-0322
- CVE-2022-1011
- CVE-2022-1271
1.59. OpenShift Logging 5.2.10 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.2.10 が含まれています
1.59.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前では、一部のログフォワーダー出力は同じタイムスタンプでログを並べ替えることができました。この更新により、タイムスタンプが一致するエントリーを注文するためのシーケンス番号がログレコードに追加されました。(LOG-2335)
- この更新の前は、namespace のリストがヘッダーサイズの最大制限に達したため、namespace が多数あるクラスターにより、Elasticsearch はリクエストの処理を停止していました。この更新により、ヘッダーには namespace 名のリストのみが含まれるようになり、問題が解決されました。(LOG-2475)
-
この更新の前は、
system:serviceaccount:openshift-monitoring:prometheus-k8sには、clusterroleおよびclusterrolebindingとしてクラスターレベルの特権がありました。この更新により、serviceaccountがロールとロールバインディングを持つopenshift-loggingnamespace に制限されます。(LOG-2480) -
この更新の前は、
cluster-logging-operatorは、クラスタースコープのロールとバインディングを利用して、Prometheus サービスアカウントがメトリックをスクレープするための権限を確立していました。これらの権限は、コンソールインターフェイスを使用して Operator をデプロイする時にだけ作成され、コマンドラインから この Operator をデプロイする場合に欠落していました。これにより、このロールとバインディング namespace のスコープが設定され、問題が修正されます。(LOG-1972)
1.59.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.60. OpenShift Logging 5.2.9 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:1375 OpenShift Logging Bug Fix Release 5.2.9 が含まれます。
1.60.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、キーなしで許容値を定義し、既存の Operator が原因で、Operator はアップグレードを完了できませんでした。今回の更新により、この許容範囲によってアップグレードの完了が妨げられることはなくなりました。(LOG-2304)
1.61. OpenShift Logging 5.2.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:0728 OpenShift Logging Bug Fix Release 5.2.8 が含まれます。
1.61.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、OpenShift Container Platform から OpenShift Logging を削除した場合、Web コンソールは引き続き Logging ページへのリンクを表示していました。この更新では、OpenShift Logging を削除またはアンインストールするとそのリンクも削除されます。(LOG-2180)
1.61.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.19 クリックして CVE を展開
1.62. OpenShift Logging 5.2.7 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2022:0478 OpenShift Logging Bug Fix Release 5.2.7 が含まれます。
1.62.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前には、FIPS を有効にして更新した後、Elasticsearch Pod を起動できませんでした。この更新により、Elasticsearch Pod は正常に起動します。(LOG-2000)
- この更新の前では、永続ボリュームクレーム (PVC) がすでに存在する場合、Elasticsearch は Unable to create PersistentVolumeClaim due to forbidden: exceeded quota: infra-storage-quota. というエラーを生成しました。 この更新により、Elasticsearch は既存の PVC をチェックし、問題を解決します。(LOG-2118)
1.62.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
1.63. OpenShift Logging 5.2.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:0230 OpenShift Logging のバグ修正リリース 5.2.6 が含まれます。
1.63.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前のリリースにはフィルターの変更が含まれておらず、Fluentd をクラッシュさせる原因となっていました。今回の更新で、欠落していたフィルターが修正されました。(LOG-2104)
- 今回の更新により、log4j の依存関係が 2.17.1 に変更され、 CVE-2021-44832 が解決されました。(LOG-2101)
1.63.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.21 クリックして CVE を展開
1.64. OpenShift Logging 5.2.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2022:0043 OpenShift Logging のバグ修正リリース 5.2.5 が含まれます。
1.64.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、Elasticsearch は解析エラーが原因でイベントルーターからのログを拒否していました。今回の更新では、解析エラーを解決するようにデータモデルが変更されています。ただし、その結果、以前のインデックスが原因で Kibana 内で警告またはエラーが発生する可能性があります。
kubernetes.event.metadata.resourceVersionフィールドが原因で、既存のインデックスが削除または再インデックスされるまでエラーが発生します。このフィールドが Kibana で使用されていない場合は、エラーメッセージを無視できます。古いインデックスを削除する保持ポリシーがある場合は、このポリシーにより、最終的に古いインデックスが削除されてエラーメッセージを停止します。それ以外の場合は、手動でインデックスを再作成してエラーメッセージを停止します。LOG-2087)
1.64.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.22 クリックして CVE を展開
1.65. OpenShift Logging 5.2.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2021:5127 OpenShift Logging のバグ修正リリース 5.2.4 が含まれます。
1.65.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、syslog 経由で送信されたレコードは、ルビーハッシュエンコーディングのキーと値のペアをシリアル化して⇒文字を含め、タブを #11 に置き換えていました。今回の更新では、メッセージが適切な JSON として正しくシリアル化されます。(LOG-1775)
- 今回の更新以前は、Elasticsearch Prometheus エクスポータープラグインは、Elasticsearch ノードのパフォーマンスに影響を与える高コストのクエリーを使用してインデックスレベルのメトリックをコンパイルしていました。この更新で、パフォーマンスを向上させる、低コストのクエリーが実装されています。(LOG-1970)
- 今回の更新以前は、ログ転送が複数の出力で設定されている場合に、Elasticsearch がメッセージを拒否することがありました。これは、出力の 1 つを設定すると、メッセージの内容が 1 つのメッセージに変更されたために発生しました。今回の更新で、ログ転送は出力ごとにメッセージを複製するようになり、出力固有の処理が他の出力に影響を与えることはありません。(LOG-1824)
1.65.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.23 クリックして CVE を展開
- CVE-2018-25009
- CVE-2018-25010
- CVE-2018-25012
- CVE-2018-25013
- CVE-2018-25014
- CVE-2019-5827
- CVE-2019-13750
- CVE-2019-13751
- CVE-2019-17594
- CVE-2019-17595
- CVE-2019-18218
- CVE-2019-19603
- CVE-2019-20838
- CVE-2020-12762
- CVE-2020-13435
- CVE-2020-14145
- CVE-2020-14155
- CVE-2020-16135
- CVE-2020-17541
- CVE-2020-24370
- CVE-2020-35521
- CVE-2020-35522
- CVE-2020-35523
- CVE-2020-35524
- CVE-2020-36330
- CVE-2020-36331
- CVE-2020-36332
- CVE-2021-3200
- CVE-2021-3426
- CVE-2021-3445
- CVE-2021-3481
- CVE-2021-3572
- CVE-2021-3580
- CVE-2021-3712
- CVE-2021-3800
- CVE-2021-20231
- CVE-2021-20232
- CVE-2021-20266
- CVE-2021-20317
- CVE-2021-21409
- CVE-2021-22876
- CVE-2021-22898
- CVE-2021-22925
- CVE-2021-27645
- CVE-2021-28153
- CVE-2021-31535
- CVE-2021-33560
- CVE-2021-33574
- CVE-2021-35942
- CVE-2021-36084
- CVE-2021-36085
- CVE-2021-36086
- CVE-2021-36087
- CVE-2021-37136
- CVE-2021-37137
- CVE-2021-42574
- CVE-2021-43267
- CVE-2021-43527
- CVE-2021-44228
- CVE-2021-45046
1.66. OpenShift Logging 5.2.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHSA-2021:4032 OpenShift Logging のバグ修正リリース 5.2.3 が含まれます。
1.66.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、一部のアラートに namespace ラベルが含まれていませんでした。このようにラベルが省略されていると、OpenShift Container Platform でアラートルールを作成するための OpenShift Monitoring Team のガイドラインに準拠しません。今回の更新では、Elasticsearch Operator のすべてのアラートに namespace ラベルが含まれ、OpenShift Container Platform でアラートルールを作成するための全ガイドラインに準拠します。(LOG-1857)
-
今回の更新以前では、1 つ前のリリースで発生したリグレッションが原因で、JSON メッセージの解析が意図的に無効になっていました。今回の更新により、JSON 解析が再度有効になりました。また、解析された JSON メッセージの
levelフィールドをもとに、または正規表現を使用してメッセージフィールドから一致を抽出することで、ログエントリーlevelを設定します。(LOG-1759)
1.66.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.24 クリックして CVE を展開
- CVE-2018-20673
- CVE-2019-5827
- CVE-2019-13750
- CVE-2019-13751
- CVE-2019-17594
- CVE-2019-17595
- CVE-2019-18218
- CVE-2019-19603
- CVE-2019-20838
- CVE-2020-12762
- CVE-2020-13435
- CVE-2020-14155
- CVE-2020-16135
- CVE-2020-24370
- CVE-2021-3200
- CVE-2021-3426
- CVE-2021-3445
- CVE-2021-3572
- CVE-2021-3580
- CVE-2021-3778
- CVE-2021-3796
- CVE-2021-3800
- CVE-2021-20231
- CVE-2021-20232
- CVE-2021-20266
- CVE-2021-22876
- CVE-2021-22898
- CVE-2021-22925
- CVE-2021-23840
- CVE-2021-23841
- CVE-2021-27645
- CVE-2021-28153
- CVE-2021-33560
- CVE-2021-33574
- CVE-2021-35942
- CVE-2021-36084
- CVE-2021-36085
- CVE-2021-36086
- CVE-2021-36087
1.67. OpenShift Logging 5.2.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2021:3747 OpenShift Logging のバグ修正リリース 5.2.2 が含まれます。
1.67.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前では、
Cluster Loggingカスタムリソース (CR) は、必要なバッファースペースが使用できない場合でも、total Limit Sizeフィールドの値をFluentdtotal_limit_sizeフィールドに適用していました。今回の更新により、CR は 2 つのtotalLimitSizeまたは 'default'値の小さい方をtotal_limit_sizeフィールドに適用し、問題が解決されました (LOG-1738)。 - 今回の更新以前は、1 つ前のリリース設定で発生したリグレッションが原因で、コレクターはシャットダウン前にバッファーされたメッセージをフラッシュしてコレクター Pod の終了と再起動を遅らせていました。今回の更新で、fluentd はシャットダウン時にバッファーをフラッシュしなくなり、問題が解決しました。(LOG-1739)
- 今回の更新以前は、バンドルマニフェストの問題が原因で、OpenShift Container Platform 4.9 の OLM を使用して Elasticsearch Operator をインストールできませんでした。今回の更新では、バンドルマニフェストが修正され、4.9 でインストールとアップグレードが再度可能になりました。(LOG-1780)
1.67.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.25 クリックして CVE を展開
1.68. OpenShift Logging 5.2.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2021:3550 OpenShift Logging のバグ修正リリース 5.2.1 が含まれます。
1.68.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、リリースパイプラインスクリプトの問題が原因で、
olm.skip Rangeフィールドの値が、現在のリリース番号を反映するのではなく、5.2.0のまま変更されていませんでした。今回の更新 Deha、リリース番号の変更時にこのフィールドの値を更新するようにパイプラインスクリプトが修正されてます。(LOG-1743)
1.68.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
(なし)
1.69. OpenShift Logging 5.2.0 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、RHBA-2021:3393 OpenShift Logging のバグ修正リリース 5.2.0 が含まれます。
1.69.1. 新機能および拡張機能 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新では、アプリケーションおよびインフラストラクチャーを監視する Amazon CloudWatch にログデータを転送できるようになりました。詳細は、ログの Amazon CloudWatch への転送 を参照してください。(LOG-1173)
- 今回の更新では、Loki (ログデータを水平方向にスケーラブルで可用性の高いマルチテナントログ集約システム) に転送できます。詳細は、ログの Loki への転送 を参照してください。(LOG-684)
- 今回の更新では、Fluentd 転送プロトコルを使用して TLS で暗号化された接続でログデータを転送した場合に、パスワードで暗号化された秘密鍵ファイルを使用して、クラスターログフォワーダー設定でパスフレーズを指定できるようになりました。詳細は、Fluentd 転送プロトコルを使用したログの転送 を参照してください。(LOG-1525)
- 今回の拡張機能により、ユーザー名とパスワードを使用して外部 Elasticsearch インスタンスへのログ転送接続を認証できるようになりました。たとえば、サードパーティーが Elasticsearch インスタンスを操作するため、相互 TLS (mTLS) を使用できない場合に、HTTP または HTTPS を使用してユーザー名とパスワードを含むシークレットを設定できます。詳細は、外部 Elasticsearch インスタンスへのログの転送 を参照してください。(LOG-1022)
- 今回の更新では、OVN ネットワークポリシー監査ログを収集し、ロギングサーバーに転送できるようになりました。(LOG-1526)
デフォルトで、OpenShift Container Platform 4.5 で導入されたデータモデルは、複数の異なる namespace からのログを 1 つの共通のインデックスに送ります。今回の変更により、ログを最も多く生成した namespace を確認することが難しくなります。
本リリースは namespace メトリックを OpenShift Container Platform コンソールの Logging ダッシュボードに追加します。これらのメトリクスを使用すると、ログを生成する namespace、および指定のタイムスタンプで各 namespace が生成するログ数を確認できます。
これらのメトリックを表示するには、OpenShift Container Platform Web コンソールで Administrator パースペクティブを開き、Observe → Dashboards → Logging/Elasticsearch に移動します。(LOG-1680)
- 現在のリリース、OpenShift Logging 5.2 は 2 つの新規メトリクスを有効にします。指定のタイムスタンプまたは期間については、個別のコンテナーで生成またはログに記録された合計ログと、コレクターで収集される合計ログを表示できます。これらのメトリックには namespace、Pod、およびコンテナー名でラベルが付けられるため、各 namespace および Pod が収集および生成されるログの数を確認できます。(LOG-1213)
1.69.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、OpenShift Elasticsearch Operator がインデックス管理 cron ジョブの作成時に、
POLICY_MAPPING環境変数を 2 回追加したことが原因で apiserver が重複を報告していました。今回の更新では、問題が修正され、POLICY_MAPPING環境変数が cronjob ごとに 1 回だけ設定され、apiserver で重複が報告されなくなりました。(LOG-1130) - 今回の更新以前は、Elasticsearch クラスターを一時停止してノード 0 個にしても、インデックス管理 cron ジョブは一時停止されなかったため、cron ジョブのバックオフが最大になりました。さらに Elasticsearch クラスターの一時停止を解除した後に、バックオフが最大限に達したことが原因で、これらの cron ジョブは停止したままでした。今回の更新プログラムは、cron ジョブとクラスターを一時停止することで問題を解決します。(LOG-1268)
-
今回の更新以前は、OpenShift Container Platform コンソールのロギングダッシュボードで、上位 10 のログ生成コンテナーのリストに chart namespace のラベルがなく、誤ったメトリック名
fluentd_input_status_total_bytes_loggedが提供されていました。今回の更新では、チャートには namespace ラベルと正しいメトリック名log_logged_bytes_totalが表示されます。(LOG-1271) - 今回の更新以前は、インデックス管理 cronjob がエラーで終了した場合に、エラー終了コードが報告されず、そのジョブのステータスが complete と報告されていました。 今回の更新では、エラーで終了するインデックス管理 cron ジョブのエラー終了コードを報告することで問題を解決します。(LOG-1273)
-
priorityclasses.v1beta1.scheduling.k8s.ioは 1.22 で削除され、priorityclasses.v1.scheduling.k8s.ioに置き換えられました (v1beta1はv1に置き換えられました)。今回の更新以前は、v1beta1がまだ存在していたため、priorityclassesに対してAPIRemoved In Next Release In Useアラートが生成されていました。今回の更新では、v1beta1をv1に置き換えることで問題を解決し、アラートが生成されなくなりました。(LOG-1385) -
以前は、OpenShift Elasticsearch Operator と Red Hat OpenShift Logging Operator には、オフライン環境で実行できる Operator の OpenShift Container Platform Web コンソールリストへの表示に必要なアノテーションがありませんでした。今回の更新では、
operators.openshift.io/Infrastructure-features: '["Disconnected"]'アノテーションが上記 2 つの Operator に追加され、オフライン環境で実行される Operator リストに表示されるようになります。(LOG-1420) - 今回の更新以前は、Red Hat OpenShift Logging Operator Pod は、パフォーマンスが最適化されたシングルノードクラスターで顧客のワークロード向けに予約された CPU コアで、スケジュールされていました。今回の更新では、クラスターロギング Operator Pod は、正しい CPU コアでスケジュールされます。(LOG-1440)
- 今回の更新以前は、一部のログエントリーで認識されない UTF-8 バイトが含まれていたため、Elasticsearch はメッセージを拒否し、バッファリングされたペイロード全体をブロックしていました。今回の更新では、拒否されたペイロードが無効なログエントリーを削除して、残りのエントリーを再送信して問題を解決します。(LOG-1499)
-
今回の更新以前には、
kibana-proxyPod がCrashLoopBackoff状態になり、Invalid configuration: cookie_secret must be 16, 24, or 32 bytes to create an AES cipher when pass_access_token == true or cookie_refresh != 0, but is 29 bytes.というメッセージをログに記録することがありました。正確な実際のバイト数は異なる場合があります。今回の更新では、Kibana セッションシークレットが正しく生成されるようになり、このエラーが原因で kibana プロキシー Pod がCrashLoopBackoff状態にならなくなりました。(LOG-1446) - 今回の更新以前は、AWS Cloud Watch Fluentd プラグインはすべてのログレベルで AWS API 呼び出しを Fluentd ログに記録し、OpenShift Container Platform ノードリソースを追加で消費していました。今回の更新では、AWS Cloud Watch Fluentd プラグインはデバッグおよびトレースログレベルだけで AWS API 呼び出しをログに記録します。このように、デフォルトの警告ログレベルでは、Fluentd は余分なノードリソースを消費しません。(LOG-1071)
- 今回の更新以前は、Elasticsearch OpenDistro セキュリティープラグインが原因でユーザーインデックスの移行に失敗していました。今回の更新では、新しいバージョンのプラグインを提供して問題を解決しています。これで、インデックスの移行はエラーなしで進行します。(LOG-1276)
- 今回の更新以前は、OpenShift Container Platform コンソールのロギングダッシュボードで、上位 10 個のログ生成コンテナーのリストにデータポイントがありませんでした。今回の更新では、問題が解決され、ダッシュボードにすべてのデータポイントが表示されます。(LOG-1353)
-
今回の更新以前は、
chunkLimitSizeとtotalLimitSizeの値を調整して Fluentd ログフォワーダーのパフォーマンスを調整していた場合に、Setting queued_chunks_limit_size for each buffer toのメッセージにあるように、値が低すぎることが報告されます。今回の更新ではこの問題が修正され、このメッセージが正しい値を報告するようになっています。(LOG-1411) - 今回の更新以前は、Kibana OpenDistro セキュリティープラグインが原因でユーザーインデックスの移行に失敗していました。今回の更新では、新しいバージョンのプラグインを提供して問題を解決しています。これで、インデックスの移行はエラーなしで進行します。(LOG-1558)
- 今回の更新以前は、namespace 入力フィルターを使用すると、その namespace のログが他の入力に表示されませんでした。今回の更新では、ログを受け入れることができるすべての入力に送信されます。(LOG-1570)
-
今回の更新以前は、
viaq/logerr依存関係のライセンスファイルがないことが原因で、ライセンスのスキャナーが成功せずに中断していました。今回の更新では、viaq/logerr依存関係は Apache2.0 でライセンスが提供され、ライセンススキャナーは正常に実行されます。(LOG-1590) -
今回の更新以前は、
elasticsearch-operator-bundleビルドパイプラインにあるcurator5の誤った brew タグが原因で、ダミーの SHA1 に固定されたイメージがプルされていました。今回の更新では、ビルドパイプラインはcurator5のlogging-curator5-rhel8参照を使用し、インデックス管理 cron ジョブがregistry.redhat.ioから正しいイメージをプルできるようにします。(LOG-1624) -
今回の更新以前は、
Service Account権限の問題により、no permissions for [indices:admin/aliases/get]などのエラーが発生していました。今回の更新では、権限が修正されて問題が解決されています。(LOG-1657) -
今回の更新以前は、Red Hat OpenShift Logging Operator のカスタムリソース定義 (CRD) に Loki 出力タイプがないため、アドミッションコントローラーが
ClusterLogForwarderカスタムリソースオブジェクトを拒否していました。今回の更新では、CRD に出力タイプとして Loki が含まれるため、管理者は、ログを Loki サーバーに送信するようにClusterLogForwarderを設定できます。(LOG-1683) -
今回の更新以前は、OpenShift Elasticsearch Operator で
serviceaccountsが調整され、シークレットを含むサードパーティーが所有するフィールドが上書きされていました。この問題が原因で、シークレットが頻繁に再作成されるため、メモリーと CPU の使用率が急増しました。今回の更新で問題が解決されました。現在のリリースでは、OpenShift Elasticsearch Operator は、サードパーティーが所有するフィールドを上書きしません。(LOG-1714) -
今回の更新以前には、
Cluster Loggingカスタムリソース (CR) 定義で、flush_interval値を指定したにも拘らず、flush_modeをintervalに設定しなかった場合に、Red Hat OpenShift Logging Operator は Fluentd 設定を生成しました。ただし、Fluentd コレクターは実行時にエラーを生成しました。今回の更新では、Red Hat OpenShift Logging Operator はClusterLoggingCR定義を検証して、両方のフィールドが指定されている場合にのみ Fluentd 設定を生成します。(LOG-1723)
1.69.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
ログを外部 Elasticsearch サーバーに転送してから、ユーザー名とパスワードなどのパイプラインシークレットで設定された値を変更する場合に、Fluentd フォワーダーは新規シークレットを読み込むにもかかわらず、以前の値を使用して外部 Elasticsearch サーバーに接続します。この問題は、現在 Red Hat OpenShift Logging Operator がコンテンツの変更についてシークレットを監視しないために発生します。(LOG-1652)
回避策として、シークレットを変更した場合は、以下を入力して Fluentd Pod を強制的に再デプロイできます。
oc delete pod -l component=collector
$ oc delete pod -l component=collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.69.4. 非推奨および削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
以前のリリースで利用可能であった一部の機能が非推奨になるか、削除されました。
非推奨の機能は依然として OpenShift Container Logging に含まれており、引き続きサポートされますが、この製品の今後のリリースで削除されるため、新規デプロイメントでの使用は推奨されません。
1.69.5. 従来の Fluentd および従来の syslog メソッドを使用したログの転送が非推奨に リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.6 から現バージョンまで、以下のレガシーメソッドを使用したログの転送は非推奨になり、今後のリリースで削除される予定です。
- レガシー Fluentd メソッドを使用したログの転送
- レガシー syslog メソッドを使用したログの転送
代わりに、次にリリースされるレガシー以外のメソッドを使用してください。
1.69.6. CVE リンクのコピーリンクがクリップボードにコピーされました!
例1.26 クリックして CVE を展開
第2章 サポート リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントで説明されている設定オプションのみがログサブシステムでサポートされています。
他の設定オプションはサポートされていないため、使用しないでください。設定のパラダイムが OpenShift Container Platform リリース間で変更される可能性があり、このような変更は、設定のすべての可能性が制御されている場合のみ適切に対応できます。Operator は相違点を調整するように設計されているため、このドキュメントで説明されている以外の設定を使用すると、変更は上書きされます。
OpenShift Container Platform ドキュメントで説明されていない設定を実行する必要がある場合は、Red Hat OpenShift Logging Operator を Unmanaged に設定する必要があります。マネージド外の OpenShift ロギング環境はサポートされておらず、OpenShift ロギングを Managed に戻すまで更新を受け取りません。
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
Red Hat OpenShift のロギングサブシステムは、アプリケーション、インフラストラクチャー、および監査ログの独自のコレクターおよびノーマライザーです。これは、サポートされているさまざまなシステムにログを転送するために使用することを目的としています。
Red Hat OpenShift のロギングサブシステムは次のとおりではありません。
- 大規模なログ収集システム
- セキュリティー情報およびイベント監視 (SIEM) に準拠
- 履歴または長期のログの保持または保管
- 保証されたログシンク
- 安全なストレージ - 監査ログはデフォルトでは保存されません
第3章 Logging 5.6 リンクのコピーリンクがクリップボードにコピーされました!
3.1. Logging 5.6 リリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
stable チャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルを stable-X (X はインストールしたログのバージョン) に変更する必要があります。
3.1.1. Logging 5.6.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.11 が含まれています。
3.1.1.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新が行われる前は、LokiStack ゲートウェイは承認されたリクエストを非常に広範囲にキャッシュしていました。その結果、誤った認証結果が発生しました。今回の更新により、LokiStack ゲートウェイは詳細にキャッシュを行うようになり、この問題が解決されました。(LOG-4435)
3.1.1.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.2. Logging 5.6.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.8 が含まれています。
3.1.2.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われる前は、入力一致ラベル値の
ClusterLogForwarder内に/文字が含まれる場合は、vector コレクターが予期せず終了していました。今回の更新では、一致ラベルを引用符で囲み、コレクターがログを開始および収集できるようにすることで問題が解決されました。(LOG-4091) - この更新が行われる前は、OpenShift Container Platform Web コンソール内でログを表示する際に more data available オプションをクリックすると、初回クリック時にのみ、より多くのログエントリーがロードされました。今回の更新では、クリックごとにさらに多くのエントリーが読み込まれるようになりました。(OU-187)
- この更新が行われる前は、OpenShift Container Platform Web コンソール内でログを表示する際に streaming オプションをクリックすると、実際のログは表示されず、streaming logs メッセージのみが表示されました。今回の更新により、メッセージとログストリームの両方が正しく表示されるようになりました。(OU-189)
- この更新が行われる前は、設定の問題が特定しにくい方法で Loki Operator がエラーをリセットしていました。今回の更新により、設定エラーが解決されるまでエラーが持続するようになりました。(LOG-4158)
-
この更新が行われる前は、8,000 を超える namespace を持つクラスターの場合、namespace のリストが
http.max_header_size設定よりも大きくなるため Elasticsearch がクエリーを拒否していました。今回の更新では、ヘッダーサイズのデフォルト値が引き上げられ、問題が解決されました。(LOG-4278)
3.1.2.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.3. Logging 5.6.7 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.7 が含まれています。
3.1.3.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新が行われる前は、LokiStack ゲートウェイはユーザーのアクセス権を適用せずに namespace のラベル値を返していました。今回の更新により、LokiStack ゲートウェイはパーミッションをラベル値のリクエストに適用するようになり、問題は解決しました。(LOG-3728)
-
この更新より前は、メッセージにタイムスタンプが含まれている場合、Fluentd ではログメッセージの
timeフィールドがデフォルトでstructured.timeとして解析されませんでした。この更新により、出力先でサポートされている場合は、解析されたログメッセージにstructured.timeフィールドが含まれるようになります。(LOG-4090) -
この更新より前は、LokiStack ルート設定が原因で、クエリーの実行時間が 30 秒を超えるとタイムアウトが発生していました。今回の更新で、LokiStack global および per-tenant
queryTimeoutの設定によりルートタイムアウトの設定が影響を受け、問題は解決しました。(LOG-4130) - この更新より前は、グローバル制限ではなくテナント制限に対して値が定義されている LokiStack CR により、Loki Operator がクラッシュしていました。今回の更新により、Operator はテナント制限のみが定義された LokiStack CR を処理できるようになり、問題が解決されました。(LOG-4199)
- この更新より前は、Web ブラウザーに保持されている以前のバージョンのキャッシュされたファイルが原因で、OpenShift Container Platform Web コンソールはアップグレード後にエラーを生成しました。今回の更新により、これらのファイルはキャッシュされなくなり、問題は解決されました。(LOG-4099)
- この更新が行われる前は、Vector はデフォルトの Loki インスタンスに転送するときに証明書エラーを生成していました。この更新により、Vector を使用してログをエラーなしで Loki に転送できるようになりました。(LOG-4184)
この更新が行われる前は、
tls.insecureSkipVerifyオプションがtrueに設定されている場合に、Cluster Logging Operator API にはシークレットにより提供される証明書が必要でした。今回の更新により、そのような場合でも Cluster Logging Operator API はシークレットに証明書の提供を求めなくなりました。次の設定が Operator の CR に追加されました。tls.verify_certificate = false tls.verify_hostname = false
tls.verify_certificate = false tls.verify_hostname = falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow (LOG-4146)
3.1.3.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2021-26341
- CVE-2021-33655
- CVE-2021-33656
- CVE-2022-1462
- CVE-2022-1679
- CVE-2022-1789
- CVE-2022-2196
- CVE-2022-2663
- CVE-2022-3028
- CVE-2022-3239
- CVE-2022-3522
- CVE-2022-3524
- CVE-2022-3564
- CVE-2022-3566
- CVE-2022-3567
- CVE-2022-3619
- CVE-2022-3623
- CVE-2022-3625
- CVE-2022-3627
- CVE-2022-3628
- CVE-2022-3707
- CVE-2022-3970
- CVE-2022-4129
- CVE-2022-20141
- CVE-2022-25147
- CVE-2022-25265
- CVE-2022-30594
- CVE-2022-36227
- CVE-2022-39188
- CVE-2022-39189
- CVE-2022-41218
- CVE-2022-41674
- CVE-2022-42703
- CVE-2022-42720
- CVE-2022-42721
- CVE-2022-42722
- CVE-2022-43750
- CVE-2022-47929
- CVE-2023-0394
- CVE-2023-0461
- CVE-2023-1195
- CVE-2023-1582
- CVE-2023-2491
- CVE-2023-22490
- CVE-2023-23454
- CVE-2023-23946
- CVE-2023-25652
- CVE-2023-25815
- CVE-2023-27535
- CVE-2023-29007
3.1.4. Logging 5.6.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.6 が含まれています。
3.1.4.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われるまでは、ペイロード内のキーに一致する Kafka 出力トピックに書き込むように
ClusterLogForwarderカスタムリソースを設定すると、エラーによりメッセージのドロップが発生していました。今回の更新では、Fluentd のバッファー名の前にアンダースコアを付けることで問題が解決しました。(LOG-3458) - この更新が行われるまでは、inode が再利用され、同じ inode を持つ複数のエントリーが存在する場合に、Fluentd でウォッチの早期終了が発生していました。この更新により、Fluentd 位置ファイル内のウォッチが早期に終了する問題が解決しました。(LOG-3629)
- この更新が行われるまでは、Fluentd による JavaScript クライアントの複数行例外の検出に失敗し、結果として例外が複数行として出力されていました。今回の更新により、例外が 1 行で出力されるようになり、問題が解決されました。(LOG-3761)
- この更新が行われるまでは、Red Hat Openshift Logging Operator バージョン 4.6 からバージョン 5.6 への直接アップグレードが許可されていたため、機能上の問題が発生していました。この更新により、アップグレードは 2 つのバージョン以内である必要があり、問題が解決されました。(LOG-3837)
- この更新が行われるまでは、Splunk または Google Logging 出力のメトリックは表示されませんでした。この更新では、HTTP エンドポイントのメトリックを送信することで問題が解決されました。(LOG-3932)
-
この更新が行われるまでは、
ClusterLogForwarderカスタムリソースが削除されても、コレクター Pod は実行されたままでした。この更新により、ログ転送が有効になっていない場合、コレクター Pod は実行されなくなります。(LOG-4030) - この更新が行われるまでは、OpenShift Container Platform Web コンソールでログのヒストグラムをクリックしてドラッグしても時間範囲を選択できませんでした。今回の更新により、クリックとドラッグを使用して時間範囲を正常に選択できるようになりました。(LOG-4101)
- この更新が行われるまでは、監視ファイルの Fluentd ハッシュ値はログファイルへのパスを使用して生成されていたため、ログローテーション時に一意ではないハッシュが生成されました。今回の更新により、監視ファイルのハッシュ値が inode 番号で作成されるようになり、問題が解決されました。(LOG-3633)
- この更新が行われる前は、OpenShift Container Platform Web コンソールで Show Resources リンクをクリックしても何の効果もありませんでした。この更新では、ログエントリーごとにリソースの表示を切り替える リソースの表示 リンクの機能を修正することで、この問題が解決されました。(LOG-4118)
3.1.4.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.5. Logging 5.6.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.5 が含まれています。
3.1.5.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新前は、テンプレート定義により Elasticsearch が一部のラベルと namespace_label のインデックスを作成できず、データの取り込みで問題が発生していました。この更新では、ラベル内のドットとスラッシュが修正により置き換えられ、適切な取り込みが保証され、問題が効果的に解決されます。(LOG-3419)
- この更新より前は、OpenShift Web コンソールのログページが LokiStack への接続に失敗した場合、一般的なエラーメッセージが表示され、追加のコンテキストやトラブルシューティングの提案は提供されませんでした。この更新により、エラーメッセージが強化され、より具体的な詳細とトラブルシューティングの推奨事項が含まれるようになりました。(LOG-3750)
- この更新より前は、時間範囲形式が検証されていなかったため、カスタム日付範囲を選択するとエラーが発生していました。この更新により、時間形式が検証されるようになり、ユーザーが有効な範囲を選択できるようになりました。無効な時間範囲形式が選択された場合は、ユーザーにエラーメッセージが表示されます。(LOG-3583)
- この更新前は、Loki でログを検索すると、式の長さが 5120 文字を超えていなくても、多くの場合クエリーは失敗していました。この更新により、クエリー承認ラベルマッチャーが最適化され、問題が解決されました。(LOG-3480)
- この更新が行われる前は、Loki Operator は、プライベート IP のメンバーリストを使用する場合に、すべてのコンポーネントを見つけるのに十分なメンバーリスト設定を生成できませんでした。今回の更新により、生成された設定にアドバタイズされたポートが確実に含まれるようになり、すべてのコンポーネントを正常に検索できるようになりました。(LOG-4008)
3.1.5.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.6. Logging 5.6.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.4 が含まれています。
3.1.6.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、LokiStack がログストアとしてデプロイされたときに、Loki Pod によって生成されたログが収集され、LokiStack に送信されていました。今回の更新により、Loki によって生成されたログは収集から除外され、保存されなくなります。(LOG-3280)
- この更新の前は、OpenShift Web コンソールのログページのクエリーエディターが空の場合は、ドロップダウンメニューに値が入力されませんでした。今回の更新により、空のクエリーを実行しようとすると、エラーメッセージが表示され、ドロップダウンメニューが期待どおりに入力されるようになりました。(LOG-3454)
-
この更新の前は、
tls.insecureSkipVerifyオプションがtrueに設定されている場合は、Cluster Logging Operator が誤った設定を生成していました。その結果、Operator は証明書の検証をスキップしようとすると、データを Elasticsearch に送信できませんでした。今回の更新により、tls.insecureSkipVerify が有効になっている場合でも、Cluster Logging Operator は正しい TLS 設定を生成します。その結果、証明書の検証をスキップしようとしても、データを Elasticsearch に正常に送信できます。(LOG-3475) - この更新の前は、構造化された解析が有効になっていて、メッセージが複数の宛先に転送された場合に、それらはディープコピーされませんでした。これにより、構造化されたメッセージを含む一部の受信ログが生成されましたが、その他のログは生成されませんでした。今回の更新により、JSON 解析の前にメッセージをディープコピーするように設定生成が変更されました。その結果、複数の宛先に転送された場合でも、すべての受信メッセージに構造化メッセージが含まれるようになりました。(LOG-3640)
-
この更新の前は、
collectionフィールドに{}が含まれていると、Operator がクラッシュする可能性がありました。今回の更新により、Operator はこの値を無視するようになり、オペレータは中断することなくスムーズに実行し続けることができます。(LOG-3733) -
この更新の前は、LokiStack のゲートウェイコンポーネントの
nodeSelector属性は効果がありませんでした。今回の更新により、nodeSelector属性が期待どおりに機能するようになりました。(LOG-3783) - この更新の前は、静的な LokiStack メンバーリストの設定は、プライベート IP ネットワークのみに依存していました。その結果、OpenShift Container Platform クラスター Pod ネットワークがパブリック IP 範囲で設定されている場合、LokiStack Pod がクラッシュループします。今回の更新により、LokiStack 管理者は、メンバーリストの設定に Pod ネットワークを使用するオプションを利用できるようになりました。これにより、問題が解決され、OpenShift Container Platform クラスター Pod ネットワークがパブリック IP 範囲で設定されている場合に、LokiStack Pod がクラッシュループ状態になるのを防ぐことができます。(LOG-3814)
-
この更新の前は、
tls.insecureSkipVerifyフィールドがtrueに設定されている場合、Cluster Logging Operator は間違った設定を生成していました。その結果、証明書の検証をスキップしようとすると、Operator は Elasticsearch にデータを送信できませんでした。今回の更新により、tls.insecureSkipVerifyが有効になっている場合でも、Operator は正しい TLS 設定を生成します。その結果、証明書の検証をスキップしようとしても、データを Elasticsearch に正常に送信できます。(LOG-3838) - この更新の前に、Elasticsearch Operator を使用せずに Cluster Logging Operator (CLO) がインストールされた場合、CLO Pod は Elasticsearch の削除に関連するエラーメッセージを継続的に表示していました。今回の更新により、CLO はエラーメッセージを表示する前に追加のチェックを実行するようになりました。その結果、Elasticsearch Operator が存在しない場合は、Elasticsearch の削除に関連するエラーメッセージが表示されなくなりました。(LOG-3763)
3.1.6.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.7. Logging 5.6.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.6.3 が含まれています。
3.1.7.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
3.1.7.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.8. Logging 5.6.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.2 が含まれます。
3.1.8.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、コレクターは systemd ログの優先度に基づいて
levelフィールドを正しく設定しませんでした。今回の更新により、levelフィールドが正しく設定されるようになりました。(LOG-3429) - 今回の更新以前は、Operator は OpenShift Container Platform 4.12 以降で非互換性の警告を誤って生成していました。今回の更新により、Operator の OpenShift Container Platform の最大バージョン値が修正され、問題が解決されました。(LOG-3584)
-
今回の更新以前は、
defaultの出力値でClusterLogForwarderカスタムリソース (CR) を作成し、エラーを生成しませんでした。今回の更新により、この値が適切に生成されるというエラーの警告が表示されるようになりました。(LOG-3437) -
この更新の前は、
ClusterLogForwarderカスタムリソース (CR) に 1 つの出力がdefaultとして設定された複数のパイプラインがある場合、コレクター Pod は再起動していました。今回の更新で、出力検証のロジックが修正され、問題が解決されました。(LOG-3559) - この更新の前は、コレクター Pod は作成後に再起動されていました。今回の更新により、デプロイされたコレクターが自動的に再起動しなくなりました。(LOG-3608)
- 今回の更新以前は、パッチリリースがカタログから以前のバージョンの Operator を削除していました。これにより、古いバージョンをインストールできませんでした。今回の更新により、バンドル設定が変更され、同じマイナーバージョンの以前のリリースがカタログに留まるようになりました。(LOG-3635)
3.1.8.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.9. Logging 5.6.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.6.1 が含まれます。
3.1.9.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、保持が有効な場合、コンパクターは、クエリーアとの通信による TLS 証明書エラーを報告していました。今回の更新により、コンパクターとクエリーアが HTTP 経由で誤って通信することがなくなりました。(LOG-3494)
-
この更新の前は、Loki Operator は
LokiStackCR のステータスの設定を再試行しないため、ステータス情報が古くなっていました。今回の更新により、Operator は競合時にステータス情報の更新を再試行するようになりました。(LOG-3496) -
この更新の前は、
kube-apiserver-operatorOperator が Webhook の有効性を確認したときに、Loki Operator Webhook サーバーが TLS エラーを引き起こしていました。今回の更新により、Loki Operator Webhook PKI は Operator Lifecycle Manager (OLM) によって管理されるようになり、問題が解決されました。(LOG-3510) - この更新の前は、ブール式と組み合わせてラベルフィルターを使用した場合、LokiStack ゲートウェイラベルエンフォーサーが有効な LogQL クエリーの解析エラーを生成していました。今回の更新により、LokiStack LogQL の実装がブール式を使用したラベルフィルターをサポートするようになり、問題が解決されました。(LOG-3441)、(LOG-3397)
- この更新の前は、複数のラベルキーに同じ接頭辞があり、一部のキーにドットが含まれていると、Elasticsearch に書き込まれたレコードで障害が発生していました。今回の更新により、ラベルキーのドットがアンダースコアに置き換えられ、問題が解決されました。(LOG-3463)
-
この更新の前は、OpenShift Container Platform コンソールと logging-view-plugin の間に互換性がないため、
Red Hat OpenShift LoggingOperator は OpenShift Container Platform 4.10 クラスターで使用できませんでした。今回の更新により、プラグインは OpenShift Container Platform 4.10 管理コンソールと適切に統合されるようになりました。(LOG-3447) -
この更新の前は、
ClusterLogForwarderカスタムリソースの調整で、デフォルトログストアを参照するパイプラインの低下ステータスが誤って報告されていました。今回の更新により、パイプラインが適切に検証されるようになりました (LOG-3477)。
3.1.9.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.1.10. Logging 5.6.0 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Release 5.6 が含まれています。
3.1.10.1. 非推奨の通知 リンクのコピーリンクがクリップボードにコピーされました!
Logging バージョン 5.6 では、Fluentd は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Fluentd の代わりに、Vector を使用できます。
3.1.10.2. 機能拡張 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新により、Logging は OpenShift Container Platform のクラスター全体の暗号化ポリシーに準拠します。(LOG-895)
- 今回の更新により、LokiStack カスタムリソースを使用して、テナントごと、ストリームごと、およびグローバルポリシーの保持ポリシーを優先度順に宣言できるようになります。(LOG-2695)
- 今回の更新により、Splunk がログ転送の出力オプションとして利用できるようになります。(LOG-2913)
- 今回の更新により、デフォルトコレクターが Fluentd から Vector になります。(LOG-2222)
- 今回の更新により、Developer ロールは、OpenShift Container Platform 4.11 以降を実行しているクラスターの Log Console Plugin 内で割り当てられているプロジェクトごとのワークロードログにアクセスできます。(LOG-3388)
-
今回の更新により、任意のソースからのログに、Operator がデプロイされているクラスターの一意識別子であるフィールド
openshift.cluster_idが含まれるようになります。clusterIDの値は、以下のコマンドで表示できます。(LOG-2715)
oc get clusterversion/version -o jsonpath='{.spec.clusterID}{"\n"}'
$ oc get clusterversion/version -o jsonpath='{.spec.clusterID}{"\n"}'
3.1.10.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、複数のラベルキーに同じ接頭辞があり、一部のキーに
.が含まれていると、Elasticsearch がログを拒否することがありました。これは、ラベルキーに含まれる.を_に置き換えることで、Elasticsearch の制限を修正します。この問題の回避策として、エラーの原因となっているラベルを削除するか、namespace をラベルに追加します。(LOG-3463)
3.1.10.4. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新の前は、Kibana カスタムリソースを削除した場合、OpenShift Container Platform Web コンソールは引き続き Kibana へのリンクを表示していました。今回の更新で、Kibana カスタムリソースを削除すると、そのリンクも削除されます。(LOG-2993)
- この更新の前は、ユーザーはアクセス権を持つ namespace のアプリケーションログを表示できませんでした。今回の更新により、Loki Operator はクラスターロールとクラスターロールバインディングを自動的に作成し、ユーザーがアプリケーションログを読み取れるようにします。(LOG-3072)
-
この更新の前に、LokiStack をデフォルトのログストレージとして使用する場合、Operator は
ClusterLogForwarderカスタムリソースで定義されたカスタム出力を削除しました。今回の更新により、Operator はClusterLogForwarderカスタムリソースの処理時にカスタム出力をデフォルト出力とマージします。(LOG-3090) - この更新の前に、CA キーは CA を Loki にマウントするためのボリューム名として使用されていたため、CA キーに非準拠の文字 (ドットなど) が含まれているとエラー状態が発生していました。今回の更新により、ボリューム名が内部文字列に標準化され、問題が解決されました。(LOG-3331)
-
この更新の前は、LokiStack カスタムリソース定義内で設定されたデフォルト値が原因で、
1のReplicationFactorなしで LokiStack インスタンスを作成できませんでした。今回の更新により、Operator は使用されるサイズの実際の値を設定するようになります。(LOG-3296) -
この更新の前は、Vector は、JSON 解析が有効になっている場合に、
structuredTypeKeyまたはstructuredTypeNameの値も定義せずにメッセージフィールドを解析していました。今回の更新により、構造化ログを Elasticsearch に書き込むときに、structuredTypeKeyまたはstructuredTypeNameのいずれかに値が必要になりました。(LOG-3195) - この更新の前は、Elasticsearch Operator のシークレット作成コンポーネントが内部シークレットを常に変更していました。今回の更新により、既存のシークレットが適切に処理されるようになりました。(LOG-3161)
- この更新の前は、Elasticsearch または Kibana デプロイメントのステータスが変更されている間に、Operator がコレクターデーモンセットの削除と再作成のループに入る可能性がありました。今回の更新では、Operator のステータス処理が修正され、問題が解決されました。(LOG-3157)
-
この更新の前は、Kibana の OAuth cookie の有効期限は
24hに固定されていたため、accessTokenInactivityTimeoutフィールドが24h未満の値に設定されていると、Kibana で 401 エラーが発生していました。今回の更新により、Kibana の OAuth cookie の有効期限がaccessTokenInactivityTimeoutに同期され、デフォルト値は24hになります。(LOG-3129) - この更新の前は、リソースを調整するための Operator の一般的なパターンとして、取得または更新を試みる前に作成を試みていました。そのため、作成後に一定の HTTP 409 レスポンスが発生していました。今回の更新により、Operator は最初にオブジェクトの取得を試み、オブジェクトが欠落しているか指定されていない場合にのみ作成または更新するようになります。(LOG-2919)
-
この更新の前は、Fluentd の
.levelフィールドと .structure.level フィールドに異なる値が含まれることがありました。今回の更新により、各フィールドの値が同じになります。(LOG-2819) - この更新の前は、Operator は信頼された CA バンドルの作成を待たず、バンドルが更新された後に 2 回目のコレクターデプロイメントを実行していました。今回の更新により、Operator は、コレクターデプロイメントを続行する前に、バンドルが読み込まれたかどうかを確認するために少し待機するようになります。(LOG-2789)
- この更新の前は、メトリクスを確認するときに Telemetry ログ情報が 2 回表示されていました。今回の更新により、Telemetry ログ情報が想定どおりに表示されます。(LOG-2315)
- この更新の前は、JSON 解析の追加を有効にした後、Fluentd Pod ログに警告メッセージが含まれていました。今回の更新でにより、その警告メッセージは表示されなくなりました。(LOG-1806)
-
この更新の前は、キャッシュをビルドするために書き込み権限を持つフォルダーを
ocが必要とするため、must-gatherスクリプトは完了しませんでした。今回の更新により、ocはフォルダーへの書き込み権限を持ち、must-gatherスクリプトが正常に完了するようになります。(LOG-3446) - この更新の前は、ログコレクター SCC がクラスター上の他の SCC に取って代わられ、コレクターが使用できなくなる可能性がありました。今回の更新により、ログコレクター SCC の優先度が設定され、他の SCC よりも優先されるようになりました。(LOG-3235)
-
この更新の前は、Vector に
sequenceフィールドはなく、ナノ秒単位の精度の欠落に対処する方法として fluentd に追加されていました。今回の更新により、openshift.sequenceフィールドがイベントログに追加されました。(LOG-3106)
3.1.10.5. CVE リンクのコピーリンクがクリップボードにコピーされました!
3.2. Logging 5.6 を使い始める リンクのコピーリンクがクリップボードにコピーされました!
ロギングデプロイメントプロセスの概要は、参照しやすいように提供されています。完全なドキュメントに代わるものではありません。新規インストールの場合は、Vector と LokiStack を推奨します。
Logging バージョン 5.5 の時点で、Fluentd または Vector コレクター実装から選択するオプション、およびログストアとして Elasticsearch または LokiStack を選択するオプションがあります。ログのドキュメントは、これらの基本的なコンポーネントの変更を反映するために更新中です。
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
前提条件
- LogStore 設定: Elasticsearch または LokiStack
- コレクターの実装設定: Fluentd または Vector
- ログ転送出力の認証情報
Logging バージョン 5.4.3 の時点で、Elasticsearch Operator は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Elasticsearch Operator を使用してデフォルトのログストレージを管理する代わりに、Loki Operator を使用できます。
使用するログストアの Operator をインストールします。
- Elasticsearch の場合は、OpenShift Elasticsearch Operator をインストールします。
LokiStack の場合は、Loki Operator をインストールします。
-
LokiStackカスタムリソース (CR) インスタンスを作成します。
-
- Red Hat OpenShift Logging Operator をインストールします。
ClusterLoggingカスタムリソース (CR) インスタンスを作成します。コレクターの実装を選択します。
注記Logging バージョン 5.6 の時点で、Fluentd は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Fluentd の代わりに、Vector を使用できます。
-
ClusterLogForwarderカスタムリソース (CR) インスタンスを作成します。 - 選択した出力パイプラインのシークレットを作成します。
3.3. ロギングについて理解する リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステムは、次の論理コンポーネントで設定されています。
-
Collector- 各ノードからコンテナーログデータを読み取り、ログデータを設定済みの出力に転送します。 -
Store- 分析用のログデータを保存します。フォワーダーのデフォルト出力。 -
Visualization- 保存されたログを検索、クエリー、および表示するためのグラフィカルインターフェイス。
これらのコンポーネントは、Operator とカスタムリソース (CR) YAML ファイルによって管理されます。
Red Hat OpenShift のロギングサブシステムは、コンテナーログとノードログを収集します。これらは次のタイプに分類されます。
-
application- 非インフラストラクチャーコンテナーによって生成されたコンテナーログ。 -
infrastructure- namespacekube-*およびopenshift-\*からのコンテナーログ、およびjournaldからのノードログ。 -
audit- 有効な場合は、auditd、kube-apiserver、openshift-apiserver、およびovnからのログ。
ロギングコレクターは、Pod を各 OpenShift Container Platform ノードにデプロイするデーモンセットです。システムおよびインフラストラクチャーのログは、オペレーティングシステム、コンテナーランタイム、および OpenShift Container Platform からの journald ログメッセージによって生成されます。
コンテナーログは、クラスターで実行されている Pod で実行されているコンテナーによって生成されます。各コンテナーは個別のログストリームを生成します。コレクターは、これらのソースからログを収集し、ClusterLogForwarder カスタムリソースで設定されているように、それらを内部または外部に転送します。
3.4. ロギングデプロイメントの管理 リンクのコピーリンクがクリップボードにコピーされました!
3.4.1. Web コンソールを使用した Red Hat OpenShift Logging Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、Red Hat OpenShift Logging Operator をデプロイできます。
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
手順
OpenShift Container Platform Web コンソールを使用して、Red Hat OpenShift Logging Operator をデプロイするには、以下を実行します。
Red Hat OpenShift Logging Operator をインストールします。
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
- Filter by keyword フィールドに Logging と入力します。
- 利用可能な Operator のリストから Red Hat OpenShift Logging を選択し、Install をクリックします。
Update Channel として stable または stable-5.y を選択します。
注記stableチャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルをstable-X(Xはインストールしたログのバージョン) に変更する必要があります。- Installation Mode で A specific namespace on the cluster が選択されていることを確認します。
- Operator recommended namespace が Installed Namespace で openshift-logging になっていることを確認します。
- Enable Operator recommended cluster monitoring on this Namespace を選択します。
Update approval のオプションを選択します。
- Automatic オプションを使用すると、Operator Lifecycle Manager (OLM) は、新しいバージョンが利用可能になった際、Operator を自動的に更新できます。
- Manual オプションでは、適切な認証情報を持つユーザーが Operator の更新を承認する必要があります。
- Console プラグインの Enable または Disable を選択します。
- Install をクリックします。
Operators → Installed Operators ページに切り替えて、Red Hat OpenShift Logging Operator がインストールされていることを確認します。
- Red Hat OpenShift Logging が Status が Succeeded の状態で openshift-logging プロジェクトにリスト表示されていることを確認します。
ClusterLogging インスタンスを作成します。
注記Web コンソールのフォームビューには、使用可能なすべてのオプションが含まれているわけではありません。セットアップを完了するには、YAML ビュー を推奨します。
collection セクションで、コレクターの実装を選択します。
注記Logging バージョン 5.6 の時点で、Fluentd は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Fluentd の代わりに、Vector を使用できます。
logStore セクションで、タイプを選択します。
注記Logging バージョン 5.4.3 の時点で、Elasticsearch Operator は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Elasticsearch Operator を使用してデフォルトのログストレージを管理する代わりに、Loki Operator を使用できます。
- Create をクリックします。
3.4.2. Web コンソールを使用した Loki Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform コンソールを使用して Loki Operator をインストールできます。
前提条件
- 対応ログストア (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)
手順
OpenShift Container PlatformWeb コンソールを使用して Loki Operator をインストールするには:
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
Filter by keyword フィールドに Loki と入力します。
- 使用可能な Operator のリストから Loki Operator を選択し、Install をクリックします。
Update Channel として stable または stable-5.y を選択します。
注記stableチャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルをstable-X(Xはインストールしたログのバージョン) に変更する必要があります。- Installation Mode で All namespaces on the cluster が選択されていることを確認します。
- openshift-operators-redhat が Installed Namespace で選択されていることを確認します。
Enable Operator recommended cluster monitoring on this Namespace を選択します。
このオプションは、namespace オブジェクトに
openshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-operators-redhatnamespace を収集できるように、このオプションを選択する必要があります。Update approval のオプションを選択します。
- Automatic オプションを使用すると、Operator Lifecycle Manager (OLM) は、新しいバージョンが利用可能になった際、Operator を自動的に更新できます。
- Manual オプションでは、適切な認証情報を持つユーザーが Operator の更新を承認する必要があります。
- Install をクリックします。
Operators → Installed Operators ページに切り替えて、LokiOperator がインストールされていることを確認します。
- LokiOperator の全プロジェクトの Status が Succeeded として表示されているようにします。
access_key_idおよびaccess_key_secretフィールドを使用して、認証情報を指定し、bucketnames、endpoint、およびregionを指定して、オブジェクトストレージの場所を定義するSecretYAML ファイルを作成します。次の例では、AWS が使用されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Details タブの LokiStack の下にある Create instance を選択します。次に、YAML view を選択します。次のテンプレートに貼り付け、必要に応じて値を置き換えます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 名前は、
logging-lokiにする必要があります。 - 2
- Loki のデプロイメントサイズを選択します。
- 3
- ログストレージに使用するシークレットを定義します。
- 4
- 対応するストレージタイプを定義します。
- 5
- 一時ストレージ用の既存のストレージクラスの名前を入力します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。クラスターで使用可能なストレージクラスは、
oc get storageclassesで一覧表示できます。設定を適用します。
oc apply -f logging-loki.yaml
oc apply -f logging-loki.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ClusterLoggingCR を作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定を適用します。
oc apply -f cr-lokistack.yaml
oc apply -f cr-lokistack.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.3. CLI を使用した OperatorHub からのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用する代わりに、CLI を使用して OperatorHub から Operator をインストールできます。oc コマンドを使用して、Subscription オブジェクトを作成または更新します。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 -
ocコマンドをローカルシステムにインストールする。
手順
OperatorHub からクラスターで利用できる Operator のリストを表示します。
oc get packagemanifests -n openshift-marketplace
$ oc get packagemanifests -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要な Operator のカタログをメモします。
必要な Operator を検査して、サポートされるインストールモードおよび利用可能なチャネルを確認します。
oc describe packagemanifests <operator_name> -n openshift-marketplace
$ oc describe packagemanifests <operator_name> -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupで定義される Operator グループは、Operator グループと同じ namespace 内のすべての Operator に必要な RBAC アクセスを生成するターゲット namespace を選択します。Operator をサブスクライブする namespace には、Operator のインストールモードに一致する Operator グループが必要になります (
AllNamespacesまたはSingleNamespaceモードのいずれか)。インストールする Operator がAllNamespacesを使用する場合、openshift-operatorsnamespace には適切な Operator グループがすでに配置されます。ただし、Operator が
SingleNamespaceモードを使用し、適切な Operator グループがない場合、それらを作成する必要があります。注記この手順の Web コンソールバージョンでは、
SingleNamespaceモードを選択する際に、OperatorGroupおよびSubscriptionオブジェクトの作成を背後で自動的に処理します。OperatorGroupオブジェクト YAML ファイルを作成します (例:operatorgroup.yaml)。OperatorGroupオブジェクトのサンプルCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupオブジェクトを作成します。oc apply -f operatorgroup.yaml
$ oc apply -f operatorgroup.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Subscriptionオブジェクトの YAML ファイルを作成し、namespace を Operator にサブスクライブします (例:sub.yaml)。Subscriptionオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AllNamespacesインストールモードの使用については、openshift-operatorsnamespace を指定します。それ以外の場合は、SingleNamespaceインストールモードの使用について関連する単一の namespace を指定します。- 2
- サブスクライブするチャネルの名前。
- 3
- サブスクライブする Operator の名前。
- 4
- Operator を提供するカタログソースの名前。
- 5
- カタログソースの namespace。デフォルトの OperatorHub カタログソースには
openshift-marketplaceを使用します。 - 6
envパラメーターは、OLM によって作成される Pod のすべてのコンテナーに存在する必要がある環境変数の一覧を定義します。- 7
envFromパラメーターは、コンテナーの環境変数に反映するためのソースの一覧を定義します。- 8
volumesパラメーターは、OLM によって作成される Pod に存在する必要があるボリュームの一覧を定義します。- 9
volumeMountsパラメーターは、OLM によって作成される Pod のすべてのコンテナーに存在する必要があるボリュームマウントの一覧を定義します。volumeMountが存在しないボリュームを参照する場合、OLM は Operator のデプロイに失敗します。- 10
tolerationsパラメーターは、OLM によって作成される Pod の容認の一覧を定義します。- 11
resourcesパラメーターは、OLM によって作成される Pod のすべてのコンテナーのリソース制約を定義します。- 12
nodeSelectorパラメーターは、OLM によって作成される Pod のノードセレクターを定義します。
Subscriptionオブジェクトを作成します。oc apply -f sub.yaml
$ oc apply -f sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow この時点で、OLM は選択した Operator を認識します。Operator のクラスターサービスバージョン (CSV) はターゲット namespace に表示され、Operator で指定される API は作成用に利用可能になります。
3.4.4. Web コンソールの使用によるクラスターからの Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は Web コンソールを使用して、選択した namespace からインストールされた Operator を削除できます。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできること。
手順
- Operators → Installed Operators ページに移動します。
- スクロールするか、キーワードを Filter by name フィールドに入力して、削除する Operator を見つけます。次に、それをクリックします。
Operator Details ページの右側で、Actions 一覧から Uninstall Operator を選択します。
Uninstall Operator? ダイアログボックスが表示されます。
Uninstall を選択し、Operator、Operator デプロイメント、および Pod を削除します。このアクションの後には、Operator は実行を停止し、更新を受信しなくなります。
注記このアクションは、カスタムリソース定義 (CRD) およびカスタムリソース (CR) など、Operator が管理するリソースは削除されません。Web コンソールおよび継続して実行されるクラスター外のリソースによって有効にされるダッシュボードおよびナビゲーションアイテムには、手動でのクリーンアップが必要になる場合があります。Operator のアンインストール後にこれらを削除するには、Operator CRD を手動で削除する必要があります。
3.4.5. CLI の使用によるクラスターからの Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は CLI を使用して、選択した namespace からインストールされた Operator を削除できます。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 -
ocコマンドがワークステーションにインストールされていること。
手順
サブスクライブされた Operator (例:
jaeger) の現行バージョンをcurrentCSVフィールドで確認します。oc get subscription jaeger -n openshift-operators -o yaml | grep currentCSV
$ oc get subscription jaeger -n openshift-operators -o yaml | grep currentCSVCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
currentCSV: jaeger-operator.v1.8.2
currentCSV: jaeger-operator.v1.8.2Copy to Clipboard Copied! Toggle word wrap Toggle overflow サブスクリプション (例:
jaeger) を削除します。oc delete subscription jaeger -n openshift-operators
$ oc delete subscription jaeger -n openshift-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subscription.operators.coreos.com "jaeger" deleted
subscription.operators.coreos.com "jaeger" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 直前の手順で
currentCSV値を使用し、ターゲット namespace の Operator の CSV を削除します。oc delete clusterserviceversion jaeger-operator.v1.8.2 -n openshift-operators
$ oc delete clusterserviceversion jaeger-operator.v1.8.2 -n openshift-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
clusterserviceversion.operators.coreos.com "jaeger-operator.v1.8.2" deleted
clusterserviceversion.operators.coreos.com "jaeger-operator.v1.8.2" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. ロギング参照 リンクのコピーリンクがクリップボードにコピーされました!
3.5.1. コレクター機能 リンクのコピーリンクがクリップボードにコピーされました!
| 出力 | プロトコル | テストで使用 | Fluentd | Vector |
|---|---|---|---|---|
| Cloudwatch | REST over HTTP(S) | ✓ | ✓ | |
| Elasticsearch v6 | v6.8.1 | ✓ | ✓ | |
| Elasticsearch v7 | v7.12.2、7.17.7 | ✓ | ✓ | |
| Elasticsearch v8 | v8.4.3 | ✓ | ||
| Fluent Forward | Fluentd forward v1 | Fluentd 1.14.6、Logstash 7.10.1 | ✓ | |
| Google Cloud Logging | ✓ | |||
| HTTP | HTTP 1.1 | Fluentd 1.14.6、Vector 0.21 | ||
| Kafka | Kafka 0.11 | Kafka 2.4.1、2.7.0、3.3.1 | ✓ | ✓ |
| Loki | REST over HTTP(S) | Loki 2.3.0、2.7 | ✓ | ✓ |
| Splunk | HEC | v8.2.9、9.0.0 | ✓ | |
| Syslog | RFC3164、RFC5424 | Rsyslog 8.37.0-9.el7 | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| アプリコンテナーのログ | ✓ | ✓ |
| アプリ固有のルーティング | ✓ | ✓ |
| namespace 別のアプリ固有のルーティング | ✓ | ✓ |
| インフラコンテナーログ | ✓ | ✓ |
| インフラジャーナルログ | ✓ | ✓ |
| Kube API 監査ログ | ✓ | ✓ |
| OpenShift API 監査ログ | ✓ | ✓ |
| Open Virtual Network (OVN) 監査ログ | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Elasticsearch 証明書 | ✓ | ✓ |
| Elasticsearch ユーザー名/パスワード | ✓ | ✓ |
| Cloudwatch キー | ✓ | ✓ |
| クラウドウォッチ STS | ✓ | ✓ |
| Kafka 証明書 | ✓ | ✓ |
| Kafka のユーザー名/パスワード | ✓ | ✓ |
| Kafka SASL | ✓ | ✓ |
| Loki ベアラートークン | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Viaq データモデル - アプリ | ✓ | ✓ |
| Viaq データモデル - インフラ | ✓ | ✓ |
| Viaq データモデル - インフラ (ジャーナル) | ✓ | ✓ |
| Viaq データモデル - Linux 監査 | ✓ | ✓ |
| Viaq データモデル - kube-apiserver 監査 | ✓ | ✓ |
| Viaq データモデル - OpenShift API 監査 | ✓ | ✓ |
| Viaq データモデル - OVN | ✓ | ✓ |
| ログレベルの正規化 | ✓ | ✓ |
| JSON 解析 | ✓ | ✓ |
| 構造化インデックス | ✓ | ✓ |
| 複数行エラー検出 | ✓ | |
| マルチコンテナー/分割インデックス | ✓ | ✓ |
| ラベルのフラット化 | ✓ | ✓ |
| CLF 静的ラベル | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Fluentd readlinelimit | ✓ | |
| Fluentd バッファー | ✓ | |
| -chunklimitsize | ✓ | |
| - totallimitsize | ✓ | |
| - overflowaction | ✓ | |
| -flushThreadCount | ✓ | |
| - flushmode | ✓ | |
| - flushinterval | ✓ | |
| - retrywait | ✓ | |
| - retrytype | ✓ | |
| - retrymaxinterval | ✓ | |
| - retrytimeout | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| メトリクス | ✓ | ✓ |
| ダッシュボード | ✓ | ✓ |
| アラート | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| グローバルプロキシーサポート | ✓ | ✓ |
| x86 サポート | ✓ | ✓ |
| ARM サポート | ✓ | ✓ |
| IBM Power のサポート | ✓ | ✓ |
| IBM Z サポート | ✓ | ✓ |
| IPv6 サポート | ✓ | ✓ |
| ログイベントのバッファリング | ✓ | |
| 非接続クラスター | ✓ | ✓ |
3.5.2. Logging 5.6 API リファレンス リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1. ClusterLogForwarder リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogForwarder は、転送ログを設定するための API です。
名前付き入力のセットから名前付き出力のセットに転送する pipelines のリストを指定して、転送を設定します。
一般的なログカテゴリーには組み込みの入力名があり、カスタム入力を定義して、追加のフィルタリングを行うことができます。
デフォルトの OpenShift ログストアには組み込みの出力名がありますが、URL やその他の接続情報を使用して、独自の出力を定義し、クラスターの内部または外部の他のストアまたはプロセッサーにログを転送できます。
詳細については、API フィールドに関するドキュメントを参照してください。
| プロパティー | 型 | 説明 |
|---|---|---|
| spec | object | ClusterLogForwarder の期待される動作の仕様 |
| status | object | ClusterLogForwarder のステータス |
3.5.2.1.1. .spec リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.1.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogForwarderSpec は、ログをリモートターゲットに転送する方法を定義します。
3.5.2.1.1.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| inputs | array | (オプション) 入力は、転送されるログメッセージの名前付きフィルターです。 |
| outputDefaults | object | (オプション) DEPRECATED OutputDefaults は、デフォルトストアのフォワーダー設定を明示的に指定します。 |
| outputs | array | (オプション) 出力は、ログメッセージの名前付きの宛先です。 |
| pipelines | array | pipelines は、一連の入力によって選択されたメッセージを一連の出力に転送します。 |
3.5.2.1.2. .spec.inputs[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.2.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
InputSpec は、ログメッセージのセレクターを定義します。
3.5.2.1.2.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| application | object |
(オプション) アプリケーション (存在する場合) は、 |
| name | string |
|
3.5.2.1.3. .spec.inputs[].application リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.3.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションログセレクター。ログを選択するには、セレクターのすべての条件が満たされる (論理 AND) 必要があります。
3.5.2.1.3.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| namespace | array | (オプション) アプリケーションログを収集する namespace。 |
| selector | object | (オプション) ラベルが一致する Pod からのログのセレクター。 |
3.5.2.1.4. .spec.inputs[].application.namespaces[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.4.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.4.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
3.5.2.1.5. .spec.inputs[].application.selector リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.5.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ラベルセレクターとは、一連のリソースに対するラベルクエリー機能です。
3.5.2.1.5.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| matchLabels | object | (オプション) matchLabels は {key,value} ペアのマップです。matchLabels の単一の {key,value} |
3.5.2.1.6. .spec.inputs[].application.selector.matchLabels リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.6.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.6.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.7. .spec.outputDefaults リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.7.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.7.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| elasticsearch | object | (オプション) Elasticsearch OutputSpec のデフォルト値 |
3.5.2.1.8. .spec.outputDefaults.elasticsearch リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.8.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ElasticsearchStructuredSpec は、elasticsearch インデックスを決定するための構造化ログの変更に関連する仕様です。
3.5.2.1.8.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| enableStructuredContainerLogs | bool | (オプション) EnableStructuredContainerLogs は、複数コンテナーの構造化ログを許可します。 |
| structuredTypeKey | string | (オプション) StructuredTypeKey は、elasticsearch インデックスの名前として使用されるメタデータキーを指定します。 |
| structuredTypeName | string | (オプション) StructuredTypeName は、elasticsearch スキーマの名前を指定します。 |
3.5.2.1.9. .spec.outputs[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.9.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
出力は、ログメッセージの宛先を定義します。
3.5.2.1.9.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| syslog | object | (オプション) |
| fluentdForward | object | (オプション) |
| elasticsearch | object | (オプション) |
| kafka | object | (オプション) |
| cloudwatch | object | (オプション) |
| loki | object | (オプション) |
| googleCloudLogging | object | (オプション) |
| splunk | object | (オプション) |
| name | string |
|
| secret | object | (オプション) 認証のシークレット。 |
| tls | object | TLS には、TLS クライアント接続のオプションを制御するための設定が含まれています。 |
| type | string | 出力プラグインのタイプ。 |
| url | string | (オプション) ログレコードの送信先 URL。 |
3.5.2.1.10. .spec.outputs[].secret リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.10.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
OutputSecretSpec は、名前のみを含み、namespace を含まないシークレット参照です。
3.5.2.1.10.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| name | string | ログフォワーダーシークレット用に設定された namespace 内のシークレットの名前。 |
3.5.2.1.11. .spec.outputs[].tls リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.11.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
OutputTLSSpec には、出力タイプに依存しない TLS 接続のオプションが含まれています。
3.5.2.1.11.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| insecureSkipVerify | bool | InsecureSkipVerify が true の場合、TLS クライアントは証明書のエラーを無視するように設定されます。 |
3.5.2.1.12. .spec.pipelines[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.12.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
PipelinesSpec は、一連の入力を一連の出力にリンクします。
3.5.2.1.12.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| detectMultilineErrors | bool | (オプション) DetectMultilineErrors は、コンテナーログの複数行エラー検出を有効にします。 |
| inputRefs | array |
InputRefs は、このパイプラインへの入力の名前 ( |
| labels | object | (オプション) このパイプラインを通過するログレコードに適用されるラベル。 |
| name | string |
(オプション) 名前は省略可能ですが、指定する場合は、 |
| outputRefs | array |
OutputRefs は、このパイプラインからの出力の名前 ( |
| parse | string | (オプション) 解析により、ログエントリーを構造化ログに解析できます。 |
3.5.2.1.13. .spec.pipelines[].inputRefs[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.13.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.13.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
3.5.2.1.14. .spec.pipelines[].labels リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.14.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.14.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.15. .spec.pipelines[].outputRefs[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.15.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.15.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
3.5.2.1.16. .status リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.16.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogForwarderStatus は、ClusterLogForwarder の監視状態を定義します。
3.5.2.1.16.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| conditions | object | ログフォワーダーの条件。 |
| inputs | Conditions | 入力は、入力名を入力の条件にマッピングします。 |
| outputs | Conditions | 出力は、出力名を出力の条件にマッピングします。 |
| pipelines | Conditions | pipelines は、パイプライン名をパイプラインの条件にマッピングします。 |
3.5.2.1.17. .status.conditions リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.17.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.17.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.18. .status.inputs リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.18.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.18.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- Conditions
3.5.2.1.19. .status.outputs リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.19.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.19.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- Conditions
3.5.2.1.20. .status.pipelines リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.20.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.20.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- Conditions== ClusterLogging A Red Hat OpenShift Logging インスタンス。ClusterLogging は、clusterloggings API のスキーマです。
| プロパティー | 型 | 説明 |
|---|---|---|
| spec | object | ClusterLogging の期待される動作の仕様 |
| status | object | Status は、ClusterLogging の監視状態を定義します。 |
3.5.2.1.21. .spec リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.21.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ClusterLoggingSpec は ClusterLogging の期待される状態を定義します。
3.5.2.1.21.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| コレクション | object | クラスターの Collection コンポーネントの仕様 |
| キュレーション | object | (非推奨) (オプション) 非推奨。クラスターの Curation コンポーネントの仕様 |
| フォワーダー | object | (非推奨) (オプション) 非推奨。クラスターの Forwarder コンポーネントの仕様 |
| logStore | object | (オプション) クラスターの Log Storage コンポーネントの仕様 |
| managementState | string | (オプション) リソースが Operator によって管理されているか管理されていないかを示す指標 |
| 可視化 | object | (オプション) クラスターの Visualization コンポーネントの仕様 |
3.5.2.1.22. .spec.collection リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.22.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
これは、ログおよびイベントコレクションに関連する情報を含む構造体です。
3.5.2.1.22.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| resources | object | (オプション) コレクターのリソース要件 |
| nodeSelector | object | (オプション) Pod がスケジュールされるノードを定義します。 |
| Toleration | array | (オプション) Pod が受け入れる Toleration を定義します。 |
| fluentd | object | (オプション) Fluentd は、fluentd タイプのフォワーダーの設定を表します。 |
| logs | object | (非推奨) (オプション) 非推奨。クラスターのログ収集の仕様 |
| type | string | (オプション) 設定するログ収集のタイプ |
3.5.2.1.23. .spec.collection.fluentd リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.23.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
FluentdForwarderSpec は、fluentd タイプのフォワーダーの設定を表します。
3.5.2.1.23.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| buffer | object | |
| inFile | object |
3.5.2.1.24. .spec.collection.fluentd.buffer リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.24.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
FluentdBufferSpec は、すべての fluentd 出力のバッファー設定をチューニングするための fluentd バッファーパラメーターのサブセットを表します。パラメーターのサブセットをサポートして、バッファーとキューのサイズ設定、フラッシュ操作、フラッシュの再試行を設定します。
一般的なパラメーターについては、https://docs.fluentd.org/configuration/buffer-section#buffering-parameters を参照してください。
フラッシュパラメーターについては、https://docs.fluentd.org/configuration/buffer-section#flushing-parameters を参照してください。
再試行パラメーターについては、https://docs.fluentd.org/configuration/buffer-section#retries-parameters を参照してください。
3.5.2.1.24.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| chunkLimitSize | string | (オプション) ChunkLimitSize は、各チャンクの最大サイズを表します。イベントは以下のようになります。 |
| flushInterval | string | (オプション) FlushInterval は、2 つの連続するフラッシュの間の待機時間を表します。 |
| flushMode | string | (オプション) FlushMode は、チャンクを書き込むフラッシュスレッドのモードを表します。モード |
| flushThreadCount | int | (オプション) FlushThreadCount は、fluentd バッファーによって使用されるスレッドの数を表します。 |
| overflowAction | string | (オプション) OverflowAction は、fluentd バッファープラグインが実行するアクションを表します。 |
| retryMaxInterval | string | (オプション) RetryMaxInterval は、指数バックオフの最大時間間隔を表します。 |
| retryTimeout | string | (オプション) RetryTimeout は、あきらめる前に再試行を試みる最大時間間隔を表します。 |
| retryType | string | (オプション) RetryType は、再試行するフラッシュ操作のタイプを表します。フラッシュ操作は以下を実行できます。 |
| retryWait | string | (オプション) RetryWait は、2 回連続して再試行してフラッシュするまでの時間を表します。 |
| totalLimitSize | string | (オプション) TotalLimitSize は、fluentd ごとに許可されるノード領域のしきい値を表します。 |
3.5.2.1.25. .spec.collection.fluentd.inFile リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.25.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
FluentdInFileSpec は、すべての fluentd in-tail 入力の設定をチューニングするための fluentd in-tail プラグインパラメーターのサブセットを表します。
一般的なパラメーターについては、https://docs.fluentd.org/input/tail#parameters を参照してください。
3.5.2.1.25.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| readLinesLimit | int | (オプション) ReadLinesLimit は、各 I/O 操作で読み取る行数を表します。 |
3.5.2.1.26. .spec.collection.logs リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.26.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.26.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| fluentd | object | Fluentd Log Collection コンポーネントの仕様 |
| type | string | 設定するログ収集のタイプ |
3.5.2.1.27. .spec.collection.logs.fluentd リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.27.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
CollectorSpec は、コレクターのスケジュールとリソースを定義するための仕様です。
3.5.2.1.27.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| nodeSelector | object | (オプション) Pod がスケジュールされるノードを定義します。 |
| resources | object | (オプション) コレクターのリソース要件 |
| Toleration | array | (オプション) Pod が受け入れる Toleration を定義します。 |
3.5.2.1.28. .spec.collection.logs.fluentd.nodeSelector リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.28.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.28.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.29. .spec.collection.logs.fluentd.resources リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.29.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.29.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| limits | object | (オプション) Limits は、許可されるコンピューティングリソースの最大量を示します。 |
| requests | object | (オプション) Requests は、必要なコンピューティングリソースの最小量を示します。 |
3.5.2.1.30. .spec.collection.logs.fluentd.resources.limits リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.30.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.30.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.31. .spec.collection.logs.fluentd.resources.requests リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.31.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.31.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.32. .spec.collection.logs.fluentd.tolerations[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.32.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.32.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| effect | string | (オプション) Effect は、一致する Taint 効果を示します。空の場合は、すべてのテイント効果に一致します。 |
| 鍵 (key) | string | (オプション) Key は、Toleration が適用される Taint キーです。空の場合は、すべてのテイントキーに一致します。 |
| operator | string | (オプション) Operator は、キーと値の関係を表します。 |
| tolerationSeconds | int | (オプション) TolerationSeconds は、Toleration の期間を表します。 |
| value | string | (オプション) Value は、Toleration が一致する Taint 値です。 |
3.5.2.1.33. .spec.collection.logs.fluentd.tolerations[].tolerationSeconds リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.33.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.33.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- int
3.5.2.1.34. .spec.curation リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.34.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
これは、ログのキュレーション (Curator) に関連する情報を含む構造体です。
3.5.2.1.34.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| curator | object | 設定するキュレーションの仕様 |
| type | string | 設定するキュレーションの種類 |
3.5.2.1.35. .spec.curation.curator リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.35.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.35.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| nodeSelector | object | Pod がスケジュールされているノードを定義します。 |
| resources | object | (オプション) Curator のリソース要件 |
| schedule | string | Curator ジョブが実行される cron スケジュール。デフォルトは「30 3 * * *」です。 |
| Toleration | array |
3.5.2.1.36. .spec.curation.curator.nodeSelector リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.36.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.36.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.37. .spec.curation.curator.resources リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.37.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.37.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| limits | object | (オプション) Limits は、許可されるコンピューティングリソースの最大量を示します。 |
| requests | object | (オプション) Requests は、必要なコンピューティングリソースの最小量を示します。 |
3.5.2.1.38. .spec.curation.curator.resources.limits リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.38.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.38.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.39. .spec.curation.curator.resources.requests リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.39.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.39.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.40. .spec.curation.curator.tolerations[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.40.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.40.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| effect | string | (オプション) Effect は、一致する Taint 効果を示します。空の場合は、すべてのテイント効果に一致します。 |
| 鍵 (key) | string | (オプション) Key は、Toleration が適用される Taint キーです。空の場合は、すべてのテイントキーに一致します。 |
| operator | string | (オプション) Operator は、キーと値の関係を表します。 |
| tolerationSeconds | int | (オプション) TolerationSeconds は、Toleration の期間を表します。 |
| value | string | (オプション) Value は、Toleration が一致する Taint 値です。 |
3.5.2.1.41. .spec.curation.curator.tolerations[].tolerationSeconds リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.41.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.41.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- int
3.5.2.1.42. .spec.forwarder リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.42.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ForwarderSpec には、特定のフォワーダー実装のグローバルチューニングパラメーターが含まれています。このフィールドは、一般的な使用には必要ありません。基礎となるフォワーダーテクノロジーに精通しているユーザーがパフォーマンスをチューニングできるようにします。現在サポートされているもの: fluentd。
3.5.2.1.42.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| fluentd | object |
3.5.2.1.43. .spec.forwarder.fluentd リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.43.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
FluentdForwarderSpec は、fluentd タイプのフォワーダーの設定を表します。
3.5.2.1.43.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| buffer | object | |
| inFile | object |
3.5.2.1.44. .spec.forwarder.fluentd.buffer リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.44.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
FluentdBufferSpec は、すべての fluentd 出力のバッファー設定をチューニングするための fluentd バッファーパラメーターのサブセットを表します。パラメーターのサブセットをサポートして、バッファーとキューのサイズ設定、フラッシュ操作、フラッシュの再試行を設定します。
一般的なパラメーターについては、https://docs.fluentd.org/configuration/buffer-section#buffering-parameters を参照してください。
フラッシュパラメーターについては、https://docs.fluentd.org/configuration/buffer-section#flushing-parameters を参照してください。
再試行パラメーターについては、https://docs.fluentd.org/configuration/buffer-section#retries-parameters を参照してください。
3.5.2.1.44.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| chunkLimitSize | string | (オプション) ChunkLimitSize は、各チャンクの最大サイズを表します。イベントは以下のようになります。 |
| flushInterval | string | (オプション) FlushInterval は、2 つの連続するフラッシュの間の待機時間を表します。 |
| flushMode | string | (オプション) FlushMode は、チャンクを書き込むフラッシュスレッドのモードを表します。モード |
| flushThreadCount | int | (オプション) FlushThreadCount は、fluentd バッファーによって使用されるスレッドの数を表します。 |
| overflowAction | string | (オプション) OverflowAction は、fluentd バッファープラグインが実行するアクションを表します。 |
| retryMaxInterval | string | (オプション) RetryMaxInterval は、指数バックオフの最大時間間隔を表します。 |
| retryTimeout | string | (オプション) RetryTimeout は、あきらめる前に再試行を試みる最大時間間隔を表します。 |
| retryType | string | (オプション) RetryType は、再試行するフラッシュ操作のタイプを表します。フラッシュ操作は以下を実行できます。 |
| retryWait | string | (オプション) RetryWait は、2 回連続して再試行してフラッシュするまでの時間を表します。 |
| totalLimitSize | string | (オプション) TotalLimitSize は、fluentd ごとに許可されるノード領域のしきい値を表します。 |
3.5.2.1.45. .spec.forwarder.fluentd.inFile リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.45.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
FluentdInFileSpec は、すべての fluentd in-tail 入力の設定をチューニングするための fluentd in-tail プラグインパラメーターのサブセットを表します。
一般的なパラメーターについては、https://docs.fluentd.org/input/tail#parameters を参照してください。
3.5.2.1.45.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| readLinesLimit | int | (オプション) ReadLinesLimit は、各 I/O 操作で読み取る行数を表します。 |
3.5.2.1.46. .spec.logStore リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.46.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
LogStoreSpec には、ログの保存方法に関する情報が含まれています。
3.5.2.1.46.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| elasticsearch | object | Elasticsearch Log Store コンポーネントの仕様 |
| lokistack | object | LokiStack には、Type が LogStoreTypeLokiStack に設定されている場合、ログストレージに使用する LokiStack に関する情報が含まれています。 |
| retentionPolicy | object | (オプション) 保持ポリシーは、インデックスが削除されるまでの最大期間を定義します。 |
| type | string | 設定するログストレージのタイプ。現在、Operator は、ElasticSearch を使用して、いずれかをサポートしています。 |
3.5.2.1.47. .spec.logStore.elasticsearch リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.47.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.47.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| nodeCount | int | Elasticsearch 用にデプロイするノードの数 |
| nodeSelector | object | Pod がスケジュールされているノードを定義します。 |
| proxy | object | Elasticsearch Proxy コンポーネントの仕様 |
| redundancyPolicy | string | (オプション) |
| resources | object | (オプション) Elasticsearch のリソース要件 |
| storage | object | (オプション) Elasticsearch データノードのストレージ仕様 |
| Toleration | array |
3.5.2.1.48. .spec.logStore.elasticsearch.nodeSelector リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.48.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.48.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.49. .spec.logStore.elasticsearch.proxy リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.49.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.49.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| resources | object |
3.5.2.1.50. .spec.logStore.elasticsearch.proxy.resources リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.50.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.50.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| limits | object | (オプション) Limits は、許可されるコンピューティングリソースの最大量を示します。 |
| requests | object | (オプション) Requests は、必要なコンピューティングリソースの最小量を示します。 |
3.5.2.1.51. .spec.logStore.elasticsearch.proxy.resources.limits リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.51.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.51.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.52. .spec.logStore.elasticsearch.proxy.resources.requests リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.52.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.52.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.53. .spec.logStore.elasticsearch.resources リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.53.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.53.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| limits | object | (オプション) Limits は、許可されるコンピューティングリソースの最大量を示します。 |
| requests | object | (オプション) Requests は、必要なコンピューティングリソースの最小量を示します。 |
3.5.2.1.54. .spec.logStore.elasticsearch.resources.limits リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.54.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.54.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.55. .spec.logStore.elasticsearch.resources.requests リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.55.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.55.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.56. .spec.logStore.elasticsearch.storage リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.56.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.56.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| size | object | ノードがプロビジョニングする最大ストレージ容量。 |
| storageClassName | string | (オプション) ノードの PVC の作成に使用するストレージクラスの名前。 |
3.5.2.1.57. .spec.logStore.elasticsearch.storage.size リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.57.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.57.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| フォーマット | string | 形式を自由に変更します。Canonicalize のコメントを参照してください。 |
| d | object | d.Dec != nil の場合、d は inf.Dec 形式の数量です。 |
| i | int | d.Dec == nil の場合、i は int64 でスケーリングされた形式の数量です。 |
| s | string | s は、再計算を避けるために生成されたこの量の値です。 |
3.5.2.1.58. .spec.logStore.elasticsearch.storage.size.d リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.58.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.58.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| Dec | object |
3.5.2.1.59. .spec.logStore.elasticsearch.storage.size.d.Dec リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.59.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.59.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| scale | int | |
| unscaled | object |
3.5.2.1.60. .spec.logStore.elasticsearch.storage.size.d.Dec.unscaled リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.60.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.60.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| abs | Word | sign |
| neg | bool |
3.5.2.1.61. .spec.logStore.elasticsearch.storage.size.d.Dec.unscaled.abs リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.61.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.61.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- Word
3.5.2.1.62. .spec.logStore.elasticsearch.storage.size.i リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.62.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.62.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- int
| プロパティー | 型 | 説明 |
|---|---|---|
| scale | int | |
| value | int |
3.5.2.1.63. .spec.logStore.elasticsearch.tolerations[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.63.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.63.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| effect | string | (オプション) Effect は、一致する Taint 効果を示します。空の場合は、すべてのテイント効果に一致します。 |
| 鍵 (key) | string | (オプション) Key は、Toleration が適用される Taint キーです。空の場合は、すべてのテイントキーに一致します。 |
| operator | string | (オプション) Operator は、キーと値の関係を表します。 |
| tolerationSeconds | int | (オプション) TolerationSeconds は、Toleration の期間を表します。 |
| value | string | (オプション) Value は、Toleration が一致する Taint 値です。 |
3.5.2.1.64. .spec.logStore.elasticsearch.tolerations[].tolerationSeconds リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.64.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.64.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- int
3.5.2.1.65. .spec.logStore.lokistack リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.65.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
LokiStackStoreSpec は、LokiStack をログストレージとして使用するように、cluster-logging を設定するために使用されます。これは、同じ namespace 内の既存の LokiStack を指しています。
3.5.2.1.65.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| name | string | LokiStack リソースの名前。 |
3.5.2.1.66. .spec.logStore.retentionPolicy リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.66.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.66.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| application | object | |
| audit | object | |
| infra | object |
3.5.2.1.67. .spec.logStore.retentionPolicy.application リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.67.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.67.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| diskThresholdPercent | int | (オプション) ES ディスク使用率のしきい値に達した場合、古いインデックスを削除する必要があります (例: 75)。 |
| maxAge | string | (オプション) |
| namespaceSpec | array | (オプション) 指定された最小期間よりも古いドキュメントを削除する namespace ごとの仕様 |
| pruneNamespacesInterval | string | (オプション) 新しい prune-namespaces ジョブを実行する頻度 |
3.5.2.1.68. .spec.logStore.retentionPolicy.application.namespaceSpec[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.68.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.68.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| minAge | string | (オプション) この MinAge よりも古い namespace に一致するレコードを削除します (例: 1d)。 |
| namespace | string | MinAge より古いログを削除するターゲット namespace (デフォルトは 7d) |
3.5.2.1.69. .spec.logStore.retentionPolicy.audit リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.69.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.69.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| diskThresholdPercent | int | (オプション) ES ディスク使用率のしきい値に達した場合、古いインデックスを削除する必要があります (例: 75)。 |
| maxAge | string | (オプション) |
| namespaceSpec | array | (オプション) 指定された最小期間よりも古いドキュメントを削除する namespace ごとの仕様 |
| pruneNamespacesInterval | string | (オプション) 新しい prune-namespaces ジョブを実行する頻度 |
3.5.2.1.70. .spec.logStore.retentionPolicy.audit.namespaceSpec[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.70.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.70.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| minAge | string | (オプション) この MinAge よりも古い namespace に一致するレコードを削除します (例: 1d)。 |
| namespace | string | MinAge より古いログを削除するターゲット namespace (デフォルトは 7d) |
3.5.2.1.71. .spec.logStore.retentionPolicy.infra リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.71.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.71.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| diskThresholdPercent | int | (オプション) ES ディスク使用率のしきい値に達した場合、古いインデックスを削除する必要があります (例: 75)。 |
| maxAge | string | (オプション) |
| namespaceSpec | array | (オプション) 指定された最小期間よりも古いドキュメントを削除する namespace ごとの仕様 |
| pruneNamespacesInterval | string | (オプション) 新しい prune-namespaces ジョブを実行する頻度 |
3.5.2.1.72. .spec.logStore.retentionPolicy.infra.namespaceSpec[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.72.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.72.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| minAge | string | (オプション) この MinAge よりも古い namespace に一致するレコードを削除します (例: 1d)。 |
| namespace | string | MinAge より古いログを削除するターゲット namespace (デフォルトは 7d) |
3.5.2.1.73. .spec.visualization リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.73.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
これは、ログの視覚化 (Kibana) に関連する情報を含む構造体です。
3.5.2.1.73.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| kibana | object | Kibana Visualization コンポーネントの仕様 |
| type | string | 設定する可視化のタイプ |
3.5.2.1.74. .spec.visualization.kibana リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.74.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.74.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| nodeSelector | object | Pod がスケジュールされているノードを定義します。 |
| proxy | object | Kibana Proxy コンポーネントの仕様 |
| replicas | int | Kibana デプロイメント用にデプロイするインスタンスの数 |
| resources | object | (オプション) Kibana のリソース要件 |
| Toleration | array |
3.5.2.1.75. .spec.visualization.kibana.nodeSelector リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.75.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.75.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.76. .spec.visualization.kibana.proxy リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.76.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.76.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| resources | object |
3.5.2.1.77. .spec.visualization.kibana.proxy.resources リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.77.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.77.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| limits | object | (オプション) Limits は、許可されるコンピューティングリソースの最大量を示します。 |
| requests | object | (オプション) Requests は、必要なコンピューティングリソースの最小量を示します。 |
3.5.2.1.78. .spec.visualization.kibana.proxy.resources.limits リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.78.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.78.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.79. .spec.visualization.kibana.proxy.resources.requests リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.79.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.79.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.80. .spec.visualization.kibana.replicas リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.80.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.80.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- int
3.5.2.1.81. .spec.visualization.kibana.resources リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.81.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.81.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| limits | object | (オプション) Limits は、許可されるコンピューティングリソースの最大量を示します。 |
| requests | object | (オプション) Requests は、必要なコンピューティングリソースの最小量を示します。 |
3.5.2.1.82. .spec.visualization.kibana.resources.limits リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.82.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.82.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.83. .spec.visualization.kibana.resources.requests リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.83.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.83.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.84. .spec.visualization.kibana.tolerations[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.84.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.84.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| effect | string | (オプション) Effect は、一致する Taint 効果を示します。空の場合は、すべてのテイント効果に一致します。 |
| 鍵 (key) | string | (オプション) Key は、Toleration が適用される Taint キーです。空の場合は、すべてのテイントキーに一致します。 |
| operator | string | (オプション) Operator は、キーと値の関係を表します。 |
| tolerationSeconds | int | (オプション) TolerationSeconds は、Toleration の期間を表します。 |
| value | string | (オプション) Value は、Toleration が一致する Taint 値です。 |
3.5.2.1.85. .spec.visualization.kibana.tolerations[].tolerationSeconds リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.85.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.85.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- int
3.5.2.1.86. .status リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.86.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ClusterLoggingStatus は、ClusterLogging の監視状態を定義します。
3.5.2.1.86.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| コレクション | object | (オプション) |
| conditions | object | (オプション) |
| キュレーション | object | (オプション) |
| logStore | object | (オプション) |
| 可視化 | object | (オプション) |
3.5.2.1.87. .status.collection リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.87.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.87.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| logs | object | (オプション) |
3.5.2.1.88. .status.collection.logs リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.88.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.88.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| fluentdStatus | object | (オプション) |
3.5.2.1.89. .status.collection.logs.fluentdStatus リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.89.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.89.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| clusterCondition | object | (オプション) |
| daemonSet | string | (オプション) |
| nodes | object | (オプション) |
| pods | string | (オプション) |
3.5.2.1.90. .status.collection.logs.fluentdStatus.clusterCondition リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.90.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
operator-sdk generate crds は、map-of-slice を許可していません。名前付きタイプを使用する必要があります。
3.5.2.1.90.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.91. .status.collection.logs.fluentdStatus.nodes リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.91.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.91.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.92. .status.conditions リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.92.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.92.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.93. .status.curation リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.93.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.93.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| curatorStatus | array | (オプション) |
3.5.2.1.94. .status.curation.curatorStatus[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.94.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.94.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| clusterCondition | object | (オプション) |
| cronJobs | string | (オプション) |
| スケジュール | string | (オプション) |
| suspended | bool | (オプション) |
3.5.2.1.95. .status.curation.curatorStatus[].clusterCondition リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.95.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
operator-sdk generate crds は、map-of-slice を許可していません。名前付きタイプを使用する必要があります。
3.5.2.1.95.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.96. .status.logStore リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.96.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.96.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| elasticsearchStatus | array | (オプション) |
3.5.2.1.97. .status.logStore.elasticsearchStatus[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.97.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.97.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| cluster | object | (オプション) |
| clusterConditions | object | (オプション) |
| clusterHealth | string | (オプション) |
| clusterName | string | (オプション) |
| デプロイメント | array | (オプション) |
| nodeConditions | object | (オプション) |
| nodeCount | int | (オプション) |
| pods | object | (オプション) |
| replicaSets | array | (オプション) |
| shardAllocationEnabled | string | (オプション) |
| statefulSets | array | (オプション) |
3.5.2.1.98. .status.logStore.elasticsearchStatus[].cluster リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.98.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.98.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| activePrimaryShards | int | Elasticsearch クラスターのアクティブなプライマリーシャードの数 |
| activeShards | int | Elasticsearch クラスターのアクティブなシャードの数 |
| initializingShards | int | Elasticsearch クラスターの初期化中のシャードの数 |
| numDataNodes | int | Elasticsearch クラスターのデータノードの数 |
| numNodes | int | Elasticsearch クラスターのノードの数 |
| pendingTasks | int | |
| relocatingShards | int | Elasticsearch クラスターの再配置シャードの数 |
| status | string | Elasticsearch クラスターの現在のステータス |
| unassignedShards | int | Elasticsearch クラスターの未割り当てシャードの数 |
3.5.2.1.99. .status.logStore.elasticsearchStatus[].clusterConditions リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.99.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.99.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.100. .status.logStore.elasticsearchStatus[].deployments[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.100.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.100.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
3.5.2.1.101. .status.logStore.elasticsearchStatus[].nodeConditions リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.101.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.101.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.102. .status.logStore.elasticsearchStatus[].pods リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.102.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.102.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.103. .status.logStore.elasticsearchStatus[].replicaSets[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.103.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.103.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
3.5.2.1.104. .status.logStore.elasticsearchStatus[].statefulSets[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.104.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.104.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
3.5.2.1.105. .status.visualization リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.105.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.105.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
| プロパティー | 型 | 説明 |
|---|---|---|
| kibanaStatus | array | (オプション) |
3.5.2.1.106. .status.visualization.kibanaStatus[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.106.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.106.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
| プロパティー | 型 | 説明 |
|---|---|---|
| clusterCondition | object | (オプション) |
| deployment | string | (オプション) |
| pods | string | (オプション) 可視化コンポーネントの各 Kibana Pod のステータス |
| replicaSets | array | (オプション) |
| replicas | int | (オプション) |
3.5.2.1.107. .status.visualization.kibanaStatus[].clusterCondition リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.107.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.107.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- object
3.5.2.1.108. .status.visualization.kibanaStatus[].replicaSets[] リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.108.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
3.5.2.1.108.1.1. 型 リンクのコピーリンクがクリップボードにコピーされました!
- array
第4章 Logging 5.5 リンクのコピーリンクがクリップボードにコピーされました!
4.1. Logging 5.5 リリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
4.1.1. Logging 5.5.16 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.16 が含まれています。
4.1.1.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新が行われる前は、LokiStack ゲートウェイは承認されたリクエストを非常に広範囲にキャッシュしていました。その結果、誤った認証結果が発生しました。今回の更新により、LokiStack ゲートウェイは詳細にキャッシュを行うようになり、この問題が解決されました。(LOG-4434)
4.1.1.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.2. Logging 5.5.14 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.14 が含まれています。
4.1.2.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われる前は、Vector コレクターに、ログに
thread 'vector-worker' panicked at 'all branches are disabled and there is no else branch', src/kubernetes/reflector.rs:26:9エラーメッセージでパニックを発生させることがありました。今回の更新により、このエラーは解決されました。(LOG-4279)
4.1.2.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.3. Logging 5.5.13 リンクのコピーリンクがクリップボードにコピーされました!
本リリースには、OpenShift Logging バグ修正リリース 5.5.13 が含まれています。
4.1.3.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
なし。
4.1.3.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.4. Logging 5.5.11 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.11 が含まれています。
4.1.4.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新が行われるまでは、OpenShift Container Platform Web コンソールでログのヒストグラムをクリックしてドラッグしても時間範囲を選択できませんでした。今回の更新により、クリックとドラッグを使用して時間範囲を正常に選択できるようになりました。(LOG-4102)
- この更新が行われる前は、OpenShift Container Platform Web コンソールで Show Resources リンクをクリックしても何の効果もありませんでした。この更新では、ログエントリーごとにリソースの表示を切り替える リソースの表示 リンクの機能を修正することで、この問題が解決されました。(LOG-4117)
4.1.4.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2021-26341
- CVE-2021-33655
- CVE-2021-33656
- CVE-2022-1462
- CVE-2022-1679
- CVE-2022-1789
- CVE-2022-2196
- CVE-2022-2663
- CVE-2022-2795
- CVE-2022-3028
- CVE-2022-3239
- CVE-2022-3522
- CVE-2022-3524
- CVE-2022-3564
- CVE-2022-3566
- CVE-2022-3567
- CVE-2022-3619
- CVE-2022-3623
- CVE-2022-3625
- CVE-2022-3627
- CVE-2022-3628
- CVE-2022-3707
- CVE-2022-3970
- CVE-2022-4129
- CVE-2022-20141
- CVE-2022-24765
- CVE-2022-25265
- CVE-2022-29187
- CVE-2022-30594
- CVE-2022-36227
- CVE-2022-39188
- CVE-2022-39189
- CVE-2022-39253
- CVE-2022-39260
- CVE-2022-41218
- CVE-2022-41674
- CVE-2022-42703
- CVE-2022-42720
- CVE-2022-42721
- CVE-2022-42722
- CVE-2022-43750
- CVE-2022-47929
- CVE-2023-0394
- CVE-2023-0461
- CVE-2023-1195
- CVE-2023-1582
- CVE-2023-2491
- CVE-2023-23454
- CVE-2023-27535
4.1.5. Logging 5.5.10 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.10 が含まれています。
4.1.5.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、OpenShift Web コンソールのロギングビュープラグインは、LokiStack に到達できなかった場合にのみエラーテキストを表示していました。この更新により、プラグインでは適切なエラーメッセージと、到達できない LokiStack の詳しい修正方法が表示されるようになりました。(LOG-2874)
4.1.5.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.6. Logging 5.5.9 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.9 が含まれています。
4.1.6.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Fluentd コレクターの問題により、
/var/log/auth-server/audit.logに保存されている OAuth ログインイベントがキャプチャーされませんでした。これにより、OAuth サービスからのログインイベントの収集が不完全になりました。今回の更新により、Fluentd コレクターは、予想どおり、/var/log/auth-server/audit.logに保存されているものを含め、OAuth サービスからすべてのログインイベントをキャプチャーすることで、この問題を解決するようになりました。(LOG-3730) - この更新の前は、構造化された解析が有効になっていて、メッセージが複数の宛先に転送された場合に、それらはディープコピーされませんでした。これにより、構造化されたメッセージを含む一部の受信ログが生成されましたが、その他のログは生成されませんでした。今回の更新により、JSON 解析の前にメッセージをディープコピーするように設定生成が変更されました。その結果、複数の宛先に転送された場合でも、すべての受信ログに構造化メッセージが含まれるようになりました。(LOG-3767)
4.1.6.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.7. Logging 5.5.8 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.8 が含まれています。
4.1.7.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新の前は、コレクターが
levelフィールドを設定する方法にエラーがあったため、priorityフィールドがsystemdログから欠落していました。今回の更新により、これらのフィールドが正しく設定され、問題が解決されました。(LOG-3630)
4.1.7.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.8. Logging 5.5.7 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.7 が含まれます。
4.1.8.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、ブール式と組み合わせてラベルフィルターを使用した場合、LokiStack ゲートウェイラベルエンフォーサーが有効な LogQL クエリーの解析エラーを生成していました。今回の更新により、LokiStack LogQL の実装がブール式を使用したラベルフィルターをサポートするようになり、問題が解決されました。(LOG-3534)
-
この更新の前は、
ClusterLogForwarderカスタムリソース (CR) が syslog 出力の TLS 認証情報を Fluentd に渡さなかったため、転送中にエラーが発生していました。今回の更新により、認証情報が Fluentd に正しく渡されるようになり、問題が解決されました。(LOG-3533)
4.1.8.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
CVE-2021-46848CVE-2022-3821CVE-2022-35737CVE-2022-42010CVE-2022-42011CVE-2022-42012CVE-2022-42898CVE-2022-43680
4.1.9. Logging 5.5.6 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.6 が含まれます。
4.1.9.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Pod セキュリティーアドミッションコントローラーがラベル
podSecurityLabelSync = trueをopenshift-loggingnamespace に追加していました。これにより、指定のセキュリティーラベルが上書きされ、その結果、コレクター Pod が起動しなくなりました。今回の更新により、ラベルpodSecurityLabelSync = falseがセキュリティーラベルを保持するようになります。コレクター Pod は期待どおりにデプロイされます。(LOG-3340) - この更新の前は、コンソールビュープラグインがクラスターで有効になっていない場合でも、Operator はコンソールビュープラグインをインストールしていました。これにより、Operator がクラッシュしました。今回の更新により、クラスターのアカウントでコンソールビューが有効になっていない場合、Operator は正常に機能し、コンソールビューをインストールしなくなりました。(LOG-3407)
-
この更新の前は、Elasticsearch デプロイメントのステータスが更新されないリグレッションに対応するための以前の修正が原因で、
Red Hat Elasticsearch Operatorがデプロイされていない限り、Operator がクラッシュしていました。今回の更新により、その修正が元に戻されたため、Operator は安定した状態になりました。ただし、報告されたステータスに関連する以前の問題が再び発生するようになりました。(LOG-3428) - この更新の前は、Loki Operator は、選択されたスタックサイズに関係なく、LokiStack ゲートウェイのレプリカを 1 つだけデプロイしていました。今回の更新により、選択したサイズに応じてレプリカの数が正しく設定されるようになりました。(LOG-3478)
- この更新の前は、複数のラベルキーに同じ接頭辞があり、一部のキーにドットが含まれていると、Elasticsearch に書き込まれたレコードで障害が発生していました。今回の更新により、ラベルキーのドットがアンダースコアに置き換えられ、問題が解決されました。(LOG-3341)
- この更新の前は、ロギングビュープラグインに、OpenShift Container Platform の特定のバージョンと互換性のない機能が含まれていました。今回の更新で、プラグインの正しいリリースストリームにより、この問題は解決されます。(LOG-3467)
-
この更新の前は、
ClusterLogForwarderカスタムリソースの調整で、1 つ以上のパイプラインの低下ステータスが誤って報告され、コレクター Pod が 8 - 10 秒ごとに再起動していました。今回の更新により、ClusterLogForwarderカスタムリソースの調整が正しく処理されるようになり、問題が解決されました。(LOG-3469) -
この変更の前は、ClusterLogForwarder カスタムリソースの
outputDefaultsフィールドの仕様は、宣言されたすべての Elasticsearch 出力タイプに設定を適用していました。今回の変更により、拡張仕様に一致するように動作が修正され、デフォルトのマネージド Elasticsearch ストアにのみ設定が適用されるようになりました。(LOG-3342) -
この更新の前は、OpenShift CLI (oc) がそのキャッシュを構築するために書き込み権限を持つフォルダーを必要とするため、OpenShift CLI (oc) の
must-gatherスクリプトが完了しませんでした。今回の更新により、OpenShift CLI (oc) にフォルダーへの書き込み権限が付与され、must-gatherスクリプトが正常に完了するようになりました。(LOG-3472) - この更新の前は、Loki Operator Webhook サーバーが TLS エラーを引き起こしていました。今回の更新により、Loki Operator Webhook PKI は Operator Lifecycle Manager の動的 Webhook 管理によって管理されるようになり、問題が解決されました。(LOG-3511)
4.1.9.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.10. Logging 5.5.5 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.5 が含まれます。
4.1.10.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、Kibana の OAuth cookie の有効期限は
24hに固定されていたため、accessTokenInactivityTimeoutフィールドが24h未満の値に設定されていると、Kibana で 401 エラーが発生していました。今回の更新により、Kibana の OAuth cookie の有効期限がaccessTokenInactivityTimeoutに同期され、デフォルト値は24hになります。(LOG-3305) -
この更新の前は、Vector は、JSON 解析が有効になっている場合に、
structuredTypeKeyまたはstructuredTypeNameの値も定義せずにメッセージフィールドを解析していました。今回の更新により、構造化ログを Elasticsearch に書き込むときに、structuredTypeKeyまたはstructuredTypeNameのいずれかに値が必要になりました。(LOG-3284) -
この更新の前は、
FluentdQueueLengthIncreasingアラート式から返された一連のラベルにカーディナリティの問題があった場合に、このアラートが発生しない可能性がありました。今回の更新により、アラートに必要なラベルのみが含まれるようにラベルが削減されました。(LOG-3226) - この更新の前は、Loki は、切断されたクラスター内の外部ストレージへのアクセスをサポートしていませんでした。今回の更新では、これらの接続をサポートするために、プロキシー環境変数とプロキシーの信頼できる CA バンドルがコンテナーイメージに含まれています。(LOG-2860)
-
今回の更新前は、OpenShift Container Platform Web コンソールのユーザーは、Loki の CA 証明書を含む
ConfigMapオブジェクトを選択できなかったため、Pod が CA なしで動作していました。今回の更新により、Web コンソールユーザーは設定マップを選択できるようになり、問題が解決されました。(LOG-3310) - この更新の前に、CA キーは CA を Loki にマウントするためのボリューム名として使用されていたため、CA キーに非準拠の文字 (ドットなど) が含まれているとエラー状態が発生していました。今回の更新により、ボリューム名が内部文字列に標準化され、問題が解決されました。(LOG-3332)
4.1.10.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2016-3709
- CVE-2020-35525
- CVE-2020-35527
- CVE-2020-36516
- CVE-2020-36558
- CVE-2021-3640
- CVE-2021-30002
- CVE-2022-0168
- CVE-2022-0561
- CVE-2022-0562
- CVE-2022-0617
- CVE-2022-0854
- CVE-2022-0865
- CVE-2022-0891
- CVE-2022-0908
- CVE-2022-0909
- CVE-2022-0924
- CVE-2022-1016
- CVE-2022-1048
- CVE-2022-1055
- CVE-2022-1184
- CVE-2022-1292
- CVE-2022-1304
- CVE-2022-1355
- CVE-2022-1586
- CVE-2022-1785
- CVE-2022-1852
- CVE-2022-1897
- CVE-2022-1927
- CVE-2022-2068
- CVE-2022-2078
- CVE-2022-2097
- CVE-2022-2509
- CVE-2022-2586
- CVE-2022-2639
- CVE-2022-2938
- CVE-2022-3515
- CVE-2022-20368
- CVE-2022-21499
- CVE-2022-21618
- CVE-2022-21619
- CVE-2022-21624
- CVE-2022-21626
- CVE-2022-21628
- CVE-2022-22624
- CVE-2022-22628
- CVE-2022-22629
- CVE-2022-22662
- CVE-2022-22844
- CVE-2022-23960
- CVE-2022-24448
- CVE-2022-25255
- CVE-2022-26373
- CVE-2022-26700
- CVE-2022-26709
- CVE-2022-26710
- CVE-2022-26716
- CVE-2022-26717
- CVE-2022-26719
- CVE-2022-27404
- CVE-2022-27405
- CVE-2022-27406
- CVE-2022-27950
- CVE-2022-28390
- CVE-2022-28893
- CVE-2022-29581
- CVE-2022-30293
- CVE-2022-34903
- CVE-2022-36946
- CVE-2022-37434
- CVE-2022-39399
4.1.11. Logging 5.5.4 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.4 が含まれています。
4.1.11.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、ロギングビュープラグインのクエリーパーサーのエラーにより、クエリーに中かっこ
{}が含まれていると、ログクエリーの一部が消えていました。これにより、クエリーが無効になり、有効なクエリーに対してエラーが返されました。今回の更新により、パーサーはこれらのクエリーを正しく処理するようになりました。(LOG-3042) - この更新の前は、Elasticsearch または Kibana デプロイメントのステータスが変更されている間に、Operator がコレクターデーモンセットの削除と再作成のループに入る可能性がありました。今回の更新では、Operator のステータス処理が修正され、問題が解決されました。(LOG-3049)
- この更新の前は、Vector のコレクターの実装をサポートするためにアラートが実装されていませんでした。この変更により、Vector アラートが追加され、選択したコレクターの実装に応じて個別のアラートがデプロイメントされます。(LOG-3127)
- この更新の前は、Elasticsearch Operator のシークレット作成コンポーネントが内部シークレットを常に変更していました。今回の更新により、既存のシークレットが適切に処理されるようになりました。(LOG-3138)
-
この更新の前に、ログ
must-gatherスクリプトの以前のリファクタリングにより、アーティファクトの予想される場所が削除されました。この更新により、アーティファクトを/must-gatherフォルダーに書き込むという変更が元に戻ります。(LOG-3213) -
この更新の前は、特定のクラスターで、Prometheus エクスポーターが IPv6 ではなく IPv4 にバインドしていました。この更新後、Fluentd は IP バージョンを検出し、IPv4 の場合は
0.0.0.0、IPv6 の場合は[::]にバインドします。(LOG-3162)
4.1.11.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.12. Logging 5.5.3 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.3 が含まれます。
4.1.12.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新前は、構造化されたメッセージを含むログエントリーに元のメッセージフィールドが含まれていたため、エントリーが大きくなりました。この更新により、構造化ログのメッセージフィールドが削除され、増加したサイズが縮小されます。(LOG-2759)
-
この更新の前に、コレクター設定は、
Collector、default-log-store、およびvisualizationPod からログを除外していましたが、.gzファイルにアーカイブされたログを除外できませんでした。今回の更新により、collector、default-log-store、およびvisualizationPod の.gzファイルとして保存されたアーカイブログも除外されます。(LOG-2844) - この更新の前は、使用できない Pod へのリクエストがゲートウェイ経由で送信された場合、中断を警告するアラートはありませんでした。今回の更新により、ゲートウェイで書き込みまたは読み取り要求の完了に問題が発生した場合に、個別のアラートが生成されます。(LOG-2884)
- この更新の前は、値が参照によってパイプラインを通過したため、Pod メタデータは fluent プラグインによって変更される可能性がありました。この更新により、各ログメッセージが Pod メタデータのコピーを確実に受信するようになり、各メッセージが個別に処理されるようになりました。(LOG-3046)
-
この更新の前に、OpenShift コンソールログビューで 不明な 重大度を選択すると、
level=unknown値のログが除外されていました。今回の更新により、レベルのないログとlevel=unknownの値を持つログが、不明な 重大度でフィルタリングすると表示されるようになりました。(LOG-3062) -
この更新の前は、Elasticsearch に送信されたログレコードには、ログを送信する必要があるインデックスの名前を含む
write-indexという名前の追加フィールドがありました。このフィールドは、データモデルの一部ではありません。この更新後、このフィールドは送信されなくなりました。(LOG-3075) - 新しい組み込み Pod Security Admission Controller の導入により、グローバルまたは namespace レベルで定義された強制セキュリティー規格に従って設定されていない Pod は実行できません。今回の更新により、Operator と Collector は特権実行を許可し、セキュリティー監査の警告やエラーなしで実行できるようになりました。(LOG-3077)
-
この更新の前に、LokiStack をデフォルトのログストレージとして使用する場合、Operator は
ClusterLogForwarderカスタムリソースで定義されたカスタム出力を削除しました。今回の更新により、Operator はClusterLogForwarderカスタムリソースの処理時にカスタム出力をデフォルト出力とマージします。(LOG-3095)
4.1.12.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.13. Logging 5.5.2 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging バグ修正リリース 5.5.2 が含まれます。
4.1.13.1. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Fluentd コレクターのアラートルールは OpenShift Container Platform モニタリングスタイルのガイドラインに準拠していませんでした。今回の更新により、これらのアラートが namespace ラベルを含むように変更され、問題が解決されました。(LOG-1823)
- この更新の前は、インデックス名に複数のハイフン文字が含まれていると、インデックス管理ロールオーバースクリプトが新しいインデックス名を生成できませんでした。今回の更新により、インデックス名が正しく生成されるようになりました。(LOG-2644)
-
この更新の前は、Kibana ルートは証明書が存在しない状態で
caCertificate値を設定していました。今回の更新により、caCertificate値が設定されなくなりました。(LOG-2661) - この更新の前は、コレクターの依存関係の変更により、未使用のパラメーターに対して警告メッセージが発行されていました。今回の更新で、未使用の設定パラメーターを削除すると、問題が解決されます。(LOG-2859)
- この更新の前に、Loki Operator が作成したデプロイメント用に作成された Pod は、Operator が実行されているクラスターでそのようなノードが利用可能な場合、Linux 以外のオペレーティングシステムのノードで誤ってスケジュールされていました。今回の更新により、Operator は追加のノードセレクターを Pod 定義に割り当て、Linux ベースのノードでのみ Pod をスケジュールできるようにします。(LOG-2895)
- この更新の前は、LokiStack ゲートウェイの LogQL パーサーの問題により、OpenShift コンソールのログビューはログを重大度でフィルタリングしませんでした。今回の更新では、パーサーの修正により問題が解決され、OpenShift コンソールのログビューは重大度でフィルタリングできるようになりました。(LOG-2908)
- この更新の前に、Fluentd コレクタープラグインのリファクタリングにより、イベントのタイムスタンプフィールドが削除されました。この更新により、イベントの受信時刻をソースとするタイムスタンプフィールドが復元されます。(LOG-2923)
-
この更新の前は、監査ログに
levelフィールドがないため、ベクターログでエラーが発生していました。今回の更新で、監査ログレコードにlevelフィールドが追加され、問題が解決されました。(LOG-2961) - 今回の更新の前は、Kibana カスタムリソースを削除した場合、OpenShift Container Platform Web コンソールは引き続き Kibana へのリンクを表示していました。今回の更新で、Kibana カスタムリソースを削除すると、そのリンクも削除されます。(LOG-3053)
-
この更新の前は、
ClusterLogForwarderカスタムリソースに JSON 解析が定義されている場合、各ロールオーバージョブで空のインデックスが作成されていました。今回の更新により、新しいインデックスは空ではなくなりました。(LOG-3063) - この更新の前に、ユーザーが Loki Operator 5.5 への更新後に LokiStack を削除すると、もともと Loki Operator 5.4 によって作成されたリソースが残りました。今回の更新により、リソースの所有者参照は 5.5 LokiStack を指します。(LOG-2945)
- この更新の前は、ユーザーはアクセス権を持つ namespace のアプリケーションログを表示できませんでした。今回の更新により、Loki Operator はクラスターロールとクラスターロールバインディングを自動的に作成し、ユーザーがアプリケーションログを読み取れるようにします。(LOG-2918)
- この更新の前は、cluster-admin 権限を持つユーザーは、ログコンソールを使用してインフラストラクチャーと監査ログを適切に表示できませんでした。今回の更新により、認可チェックが拡張され、cluster-admin および dedicated-admin グループのユーザーも管理者として認識されるようになりました。(LOG-2970)
4.1.13.2. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.14. Logging 5.5.1 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには OpenShift Logging バグ修正リリース 5.5.1 が含まれます。
4.1.14.1. 機能拡張 リンクのコピーリンクがクリップボードにコピーされました!
4.1.14.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Operator は Pod が準備状態にあることを確認しないことが原因で、クラスターの再起動時にクラスターが動作不能な状態になりました。今回の更新により、Operator は、再起動中に新しい Pod を準備完了としてマークしてから新しい Pod に移動を続けることで、問題を解決します。(LOG-2745)
- 今回の更新以前は、Fluentd は Kubernetes プラットフォームがログファイルをローテーションしたことを認識しない場合があり、ログメッセージを読み取らなくなっていました。今回の更新で、アップストリームの開発チームが提案する設定パラメーターを設定することにより修正されています。(LOG-2995)
- 今回の更新以前は、複数行のエラー検出機能が追加されたことが原因で、内部ルーティングが変更され、レコードが間違った宛先に転送されていました。今回の更新により、内部ルーティングが正しくなりました。(LOG-2801)
- 今回の更新前は、OpenShift Container Platform Web コンソールの更新間隔を変更すると、Query フィールドが空の場合にはエラーが発生していました。今回の更新で、Query フィールドが空の場合に、間隔の変更が選択不可能になりました。(LOG-2917)
4.1.14.3. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.1.15. Logging 5.5.0 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、OpenShift Logging Bug Fix Release 5.5.0 が含まれています。
4.1.15.1. 機能拡張 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新では、構造化ログを同じ Pod 内の異なるコンテナーからさまざまなインデックスに転送できるようになりました。この機能を使用するには、複数コンテナーのサポートを使用してパイプラインを設定し、Pod にアノテーションを付ける必要があります。(LOG-1296)
ログの JSON 形式は、アプリケーションによって異なります。作成するインデックスが多すぎるとパフォーマンスに影響するため、この機能の使用は、互換性のない JSON 形式のログのインデックスの作成に限定してください。クエリーを使用して、さまざまな namespace または互換性のある JSON 形式のアプリケーションからログを分離します。
-
今回の更新では、Kubernetes 共通ラベルである
app.kubernetes.io/component、app.kubernetes.io/managed-by、app.kubernetes.io/part-of、およびapp.kubernetes.io/versionを使用して、Elasticsearch 出力でログをフィルタリングできます。Elasticsearch 以外の出力タイプでは、kubernetes.labelsに含まれるすべてのラベルを使用できます。(LOG-2388) - 今回の更新では、AWS Security Token Service (STS) が有効になっているクラスターは、STS 認証を使用してログを Amazon CloudWatch に転送できます。(LOG-1976)
- 今回の更新では、'LokiOperator' Operator および Vector コレクターがテクニカルプレビュー機能から一般提供機能 (GA) に移行します。以前のリリースとの完全な機能パリティーに関しては作業中で、一部の API はテクニカルプレビュー機能のままです。詳細は、LokiStack を使用したロギング セクションを参照してください。
4.1.15.2. バグ修正 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、ログを Amazon CloudWatch に転送するように設定されたクラスターが、拒否されたログファイルを一時ストレージに書き込んでいたため、時間の経過とともにクラスターが不安定になりました。今回の更新により、すべてのストレージオプションの一括バックアップが無効になり、問題が解決されました。(LOG-2746)
- 今回の更新以前に、Operator は、非推奨で OpenShift Container Platform の今後のバージョンで削除予定の API のバージョンを一部使用していました。今回の更新により、依存関係がサポート対象の API バージョンに移動されます。(LOG-2656)
-
今回の更新以前は、複数行エラー検出用に設定された複数の
ClusterLogForwarderパイプラインにより、コレクターがcrashloopbackoffエラー状態になりました。今回の更新により、複数の設定セクションに同じ一意の ID が使用される問題が修正されます。(LOG-2241) - この更新の前は、コレクターは UTF-8 以外の記号を Elasticsearch ストレージログに保存できませんでした。今回の更新で、コレクターは UTF-8 以外の記号をエンコードし、問題を解決しました。(LOG-2203)
- 今回の更新以前は、ラテン文字以外の文字が Kibana で正しく表示されませんでした。今回の更新により、Kibana はすべての有効な UTF-8 シンボルを正しく表示します。(LOG-2784)
4.1.15.3. CVE リンクのコピーリンクがクリップボードにコピーされました!
4.2. Logging 5.5 を使い始める リンクのコピーリンクがクリップボードにコピーされました!
ロギングデプロイメントプロセスの概要は、参照しやすいように提供されています。完全なドキュメントに代わるものではありません。新規インストールの場合は、Vector と LokiStack を推奨します。
Logging バージョン 5.5 の時点で、Fluentd または Vector コレクター実装から選択するオプション、およびログストアとして Elasticsearch または LokiStack を選択するオプションがあります。ログのドキュメントは、これらの基本的なコンポーネントの変更を反映するために更新中です。
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
前提条件
- LogStore 設定: Elasticsearch または LokiStack
- コレクターの実装設定: Fluentd または Vector
- ログ転送出力の認証情報
Logging バージョン 5.4.3 の時点で、Elasticsearch Operator は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Elasticsearch Operator を使用してデフォルトのログストレージを管理する代わりに、Loki Operator を使用できます。
使用するログストアの Operator をインストールします。
- Elasticsearch の場合は、OpenShift Elasticsearch Operator をインストールします。
LokiStack の場合は、Loki Operator をインストールします。
-
LokiStackカスタムリソース (CR) インスタンスを作成します。
-
- Red Hat OpenShift Logging Operator をインストールします。
ClusterLoggingカスタムリソース (CR) インスタンスを作成します。コレクターの実装を選択します。
注記Logging バージョン 5.6 の時点で、Fluentd は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Fluentd の代わりに、Vector を使用できます。
-
ClusterLogForwarderカスタムリソース (CR) インスタンスを作成します。 - 選択した出力パイプラインのシークレットを作成します。
4.3. ロギングアーキテクチャーについて リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステムは、次の論理コンポーネントで設定されています。
-
Collector- 各ノードからコンテナーログデータを読み取り、ログデータを設定済みの出力に転送します。 -
Store- 分析用のログデータを保存します。フォワーダーのデフォルト出力。 -
Visualization- 保存されたログを検索、クエリー、および表示するためのグラフィカルインターフェイス。
これらのコンポーネントは、Operator とカスタムリソース (CR) YAML ファイルによって管理されます。
Red Hat OpenShift のロギングサブシステムは、コンテナーログとノードログを収集します。これらは次のタイプに分類されます。
-
application- 非インフラストラクチャーコンテナーによって生成されたコンテナーログ。 -
infrastructure- namespacekube-*およびopenshift-\*からのコンテナーログ、およびjournaldからのノードログ。 -
audit- 有効な場合は、auditd、kube-apiserver、openshift-apiserver、およびovnからのログ。
ロギングコレクターは、Pod を各 OpenShift Container Platform ノードにデプロイするデーモンセットです。システムおよびインフラストラクチャーのログは、オペレーティングシステム、コンテナーランタイム、および OpenShift Container Platform からの journald ログメッセージによって生成されます。
コンテナーログは、クラスターで実行されている Pod で実行されているコンテナーによって生成されます。各コンテナーは個別のログストリームを生成します。コレクターは、これらのソースからログを収集し、ClusterLogForwarder カスタムリソースで設定されているように、それらを内部または外部に転送します。
4.4. ロギングデプロイメントの管理 リンクのコピーリンクがクリップボードにコピーされました!
4.4.1. Web コンソールを使用した Red Hat OpenShift Logging Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、Red Hat OpenShift Logging Operator をデプロイできます。
Red Hat OpenShift のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
手順
OpenShift Container Platform Web コンソールを使用して、Red Hat OpenShift Logging Operator をデプロイするには、以下を実行します。
Red Hat OpenShift Logging Operator をインストールします。
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
- Filter by keyword フィールドに Logging と入力します。
- 利用可能な Operator のリストから Red Hat OpenShift Logging を選択し、Install をクリックします。
Update Channel として stable または stable-5.y を選択します。
注記stableチャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルをstable-X(Xはインストールしたログのバージョン) に変更する必要があります。- Installation Mode で A specific namespace on the cluster が選択されていることを確認します。
- Operator recommended namespace が Installed Namespace で openshift-logging になっていることを確認します。
- Enable Operator recommended cluster monitoring on this Namespace を選択します。
Update approval のオプションを選択します。
- Automatic オプションを使用すると、Operator Lifecycle Manager (OLM) は、新しいバージョンが利用可能になった際、Operator を自動的に更新できます。
- Manual オプションでは、適切な認証情報を持つユーザーが Operator の更新を承認する必要があります。
- Console プラグインの Enable または Disable を選択します。
- Install をクリックします。
Operators → Installed Operators ページに切り替えて、Red Hat OpenShift Logging Operator がインストールされていることを確認します。
- Red Hat OpenShift Logging が Status が Succeeded の状態で openshift-logging プロジェクトにリスト表示されていることを確認します。
ClusterLogging インスタンスを作成します。
注記Web コンソールのフォームビューには、使用可能なすべてのオプションが含まれているわけではありません。セットアップを完了するには、YAML ビュー を推奨します。
collection セクションで、コレクターの実装を選択します。
注記Logging バージョン 5.6 の時点で、Fluentd は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Fluentd の代わりに、Vector を使用できます。
logStore セクションで、タイプを選択します。
注記Logging バージョン 5.4.3 の時点で、Elasticsearch Operator は非推奨であり、今後のリリースで削除される予定です。Red Hat は、この機能に対して現在のリリースライフサイクル中にバグ修正とサポートを提供しますが、拡張機能の提供はなく、この機能は今後削除される予定です。Elasticsearch Operator を使用してデフォルトのログストレージを管理する代わりに、Loki Operator を使用できます。
- Create をクリックします。
4.4.2. Web コンソールを使用した Loki Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform コンソールを使用して Loki Operator をインストールできます。
前提条件
- 対応ログストア (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)
手順
OpenShift Container PlatformWeb コンソールを使用して Loki Operator をインストールするには:
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
Filter by keyword フィールドに Loki と入力します。
- 使用可能な Operator のリストから Loki Operator を選択し、Install をクリックします。
Update Channel として stable または stable-5.y を選択します。
注記stableチャネルは、Logging の最新リリースを対象とする更新のみを提供します。以前のリリースの更新を引き続き受信するには、サブスクリプションチャネルをstable-X(Xはインストールしたログのバージョン) に変更する必要があります。- Installation Mode で All namespaces on the cluster が選択されていることを確認します。
- openshift-operators-redhat が Installed Namespace で選択されていることを確認します。
Enable Operator recommended cluster monitoring on this Namespace を選択します。
このオプションは、namespace オブジェクトに
openshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-operators-redhatnamespace を収集できるように、このオプションを選択する必要があります。Update approval のオプションを選択します。
- Automatic オプションを使用すると、Operator Lifecycle Manager (OLM) は、新しいバージョンが利用可能になった際、Operator を自動的に更新できます。
- Manual オプションでは、適切な認証情報を持つユーザーが Operator の更新を承認する必要があります。
- Install をクリックします。
Operators → Installed Operators ページに切り替えて、LokiOperator がインストールされていることを確認します。
- LokiOperator の全プロジェクトの Status が Succeeded として表示されているようにします。
access_key_idおよびaccess_key_secretフィールドを使用して、認証情報を指定し、bucketnames、endpoint、およびregionを指定して、オブジェクトストレージの場所を定義するSecretYAML ファイルを作成します。次の例では、AWS が使用されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Details タブの LokiStack の下にある Create instance を選択します。次に、YAML view を選択します。次のテンプレートに貼り付け、必要に応じて値を置き換えます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 名前は、
logging-lokiにする必要があります。 - 2
- Loki のデプロイメントサイズを選択します。
- 3
- ログストレージに使用するシークレットを定義します。
- 4
- 対応するストレージタイプを定義します。
- 5
- 一時ストレージ用の既存のストレージクラスの名前を入力します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。クラスターで使用可能なストレージクラスは、
oc get storageclassesで一覧表示できます。設定を適用します。
oc apply -f logging-loki.yaml
oc apply -f logging-loki.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ClusterLoggingCR を作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定を適用します。
oc apply -f cr-lokistack.yaml
oc apply -f cr-lokistack.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.3. CLI を使用した OperatorHub からのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用する代わりに、CLI を使用して OperatorHub から Operator をインストールできます。oc コマンドを使用して、Subscription オブジェクトを作成または更新します。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 -
ocコマンドをローカルシステムにインストールする。
手順
OperatorHub からクラスターで利用できる Operator のリストを表示します。
oc get packagemanifests -n openshift-marketplace
$ oc get packagemanifests -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要な Operator のカタログをメモします。
必要な Operator を検査して、サポートされるインストールモードおよび利用可能なチャネルを確認します。
oc describe packagemanifests <operator_name> -n openshift-marketplace
$ oc describe packagemanifests <operator_name> -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupで定義される Operator グループは、Operator グループと同じ namespace 内のすべての Operator に必要な RBAC アクセスを生成するターゲット namespace を選択します。Operator をサブスクライブする namespace には、Operator のインストールモードに一致する Operator グループが必要になります (
AllNamespacesまたはSingleNamespaceモードのいずれか)。インストールする Operator がAllNamespacesを使用する場合、openshift-operatorsnamespace には適切な Operator グループがすでに配置されます。ただし、Operator が
SingleNamespaceモードを使用し、適切な Operator グループがない場合、それらを作成する必要があります。注記この手順の Web コンソールバージョンでは、
SingleNamespaceモードを選択する際に、OperatorGroupおよびSubscriptionオブジェクトの作成を背後で自動的に処理します。OperatorGroupオブジェクト YAML ファイルを作成します (例:operatorgroup.yaml)。OperatorGroupオブジェクトのサンプルCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupオブジェクトを作成します。oc apply -f operatorgroup.yaml
$ oc apply -f operatorgroup.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Subscriptionオブジェクトの YAML ファイルを作成し、namespace を Operator にサブスクライブします (例:sub.yaml)。Subscriptionオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AllNamespacesインストールモードの使用については、openshift-operatorsnamespace を指定します。それ以外の場合は、SingleNamespaceインストールモードの使用について関連する単一の namespace を指定します。- 2
- サブスクライブするチャネルの名前。
- 3
- サブスクライブする Operator の名前。
- 4
- Operator を提供するカタログソースの名前。
- 5
- カタログソースの namespace。デフォルトの OperatorHub カタログソースには
openshift-marketplaceを使用します。 - 6
envパラメーターは、OLM によって作成される Pod のすべてのコンテナーに存在する必要がある環境変数の一覧を定義します。- 7
envFromパラメーターは、コンテナーの環境変数に反映するためのソースの一覧を定義します。- 8
volumesパラメーターは、OLM によって作成される Pod に存在する必要があるボリュームの一覧を定義します。- 9
volumeMountsパラメーターは、OLM によって作成される Pod のすべてのコンテナーに存在する必要があるボリュームマウントの一覧を定義します。volumeMountが存在しないボリュームを参照する場合、OLM は Operator のデプロイに失敗します。- 10
tolerationsパラメーターは、OLM によって作成される Pod の容認の一覧を定義します。- 11
resourcesパラメーターは、OLM によって作成される Pod のすべてのコンテナーのリソース制約を定義します。- 12
nodeSelectorパラメーターは、OLM によって作成される Pod のノードセレクターを定義します。
Subscriptionオブジェクトを作成します。oc apply -f sub.yaml
$ oc apply -f sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow この時点で、OLM は選択した Operator を認識します。Operator のクラスターサービスバージョン (CSV) はターゲット namespace に表示され、Operator で指定される API は作成用に利用可能になります。
4.4.4. Web コンソールの使用によるクラスターからの Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は Web コンソールを使用して、選択した namespace からインストールされた Operator を削除できます。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスター Web コンソールにアクセスできること。
手順
- Operators → Installed Operators ページに移動します。
- スクロールするか、キーワードを Filter by name フィールドに入力して、削除する Operator を見つけます。次に、それをクリックします。
Operator Details ページの右側で、Actions 一覧から Uninstall Operator を選択します。
Uninstall Operator? ダイアログボックスが表示されます。
Uninstall を選択し、Operator、Operator デプロイメント、および Pod を削除します。このアクションの後には、Operator は実行を停止し、更新を受信しなくなります。
注記このアクションは、カスタムリソース定義 (CRD) およびカスタムリソース (CR) など、Operator が管理するリソースは削除されません。Web コンソールおよび継続して実行されるクラスター外のリソースによって有効にされるダッシュボードおよびナビゲーションアイテムには、手動でのクリーンアップが必要になる場合があります。Operator のアンインストール後にこれらを削除するには、Operator CRD を手動で削除する必要があります。
4.4.5. CLI の使用によるクラスターからの Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は CLI を使用して、選択した namespace からインストールされた Operator を削除できます。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 -
ocコマンドがワークステーションにインストールされていること。
手順
サブスクライブされた Operator (例:
jaeger) の現行バージョンをcurrentCSVフィールドで確認します。oc get subscription jaeger -n openshift-operators -o yaml | grep currentCSV
$ oc get subscription jaeger -n openshift-operators -o yaml | grep currentCSVCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
currentCSV: jaeger-operator.v1.8.2
currentCSV: jaeger-operator.v1.8.2Copy to Clipboard Copied! Toggle word wrap Toggle overflow サブスクリプション (例:
jaeger) を削除します。oc delete subscription jaeger -n openshift-operators
$ oc delete subscription jaeger -n openshift-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subscription.operators.coreos.com "jaeger" deleted
subscription.operators.coreos.com "jaeger" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 直前の手順で
currentCSV値を使用し、ターゲット namespace の Operator の CSV を削除します。oc delete clusterserviceversion jaeger-operator.v1.8.2 -n openshift-operators
$ oc delete clusterserviceversion jaeger-operator.v1.8.2 -n openshift-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
clusterserviceversion.operators.coreos.com "jaeger-operator.v1.8.2" deleted
clusterserviceversion.operators.coreos.com "jaeger-operator.v1.8.2" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 Red Hat のロギングサブシステムを理解する リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、ロギングシステムをデプロイし、ノードシステムの監査ログ、アプリケーションコンテナーログ、およびインフラストラクチャーログなどの OpenShift Container Platform クラスターからのすべてのログを集計できます。ロギングサブシステムは、クラスター全体からこれらのログを集約し、デフォルトのログストアに保存します。Kibana Web コンソールを使用して、ログデータを可視化 できます。
ロギングサブシステムは、次のタイプのログを集約します。
-
application: クラスターで実行される、インフラストラクチャーコンテナーアプリケーションを除くユーザーアプリケーションによって生成されるコンテナーログ。 -
infrastructure: ジャーナルログなどの、クラスターで実行されるインフラストラクチャーコンポーネントおよび OpenShift Container Platform ノードで生成されるログ。インフラストラクチャーコンポーネントは、openshift*、kube*、またはdefaultプロジェクトで実行される Pod です。 -
audit: ノード監査システム (auditd) で生成されるログ (/var/log/audit/audit.log ファイルに保存される)、および Kubernetes apiserver および OpenShift apiserver の監査ログ。
内部 OpenShift Container Platform Elasticsearch ログストアは監査ログのセキュアなストレージを提供しないため、デフォルトで監査ログは内部 Elasticsearch インスタンスに保存されません。監査ログをデフォルトの内部 Elasticsearch ログストアに送信する必要がある場合 (Kibana で監査ログを表示するなど)、監査ログのログストアへの転送 で説明されているようにログ転送 API を使用する必要があります。
5.1. OpenShift Container Platform ロギングの共通用語集 リンクのコピーリンクがクリップボードにコピーされました!
この用語集は、OpenShift Container Platform Logging コンテンツで使用される一般的な用語を定義します。
- アノテーション
- アノテーションを使用して、メタデータをオブジェクトに添付できます。
- Cluster Logging Operator (CLO)
- Cluster Logging Operator は、アプリケーション、インフラストラクチャー、および監査ログの収集と転送を制御するための一連の API を提供します。
- カスタムリソース (CR)
-
CR は Kubernetes API のエクステンションです。OpenShift Container Platform Logging およびログ転送を設定するために、
ClusterLoggingおよびClusterLogForwarderカスタムリソースをカスタマイズできます。 - イベントルーター
- イベントルーターは、OpenShift Container Platform イベントを監視する Pod です。OpenShift Container Platform Logging を使用してログを収集します。
- Fluentd
- Fluentd は、各 OpenShift Container Platform ノードに常駐するログコレクターです。アプリケーション、インフラストラクチャー、および監査ログを収集し、それらをさまざまな出力に転送します。
- ガベージコレクション
- ガベージコレクションは、終了したコンテナーや実行中の Pod によって参照されていないイメージなどのクラスターリソースをクリーンアップするプロセスです。
- Elasticsearch
- Elasticsearch は、分散検索および分析エンジンです。OpenShift Container Platform は、OpenShift Container Platform Logging のデフォルトのログストアとして ELasticsearch を使用します。
- Elasticsearch Operator
- Elasticsearch Operator は、OpenShift Container Platform 上で Elasticsearch クラスターを実行するために使用されます。Elasticsearch Operator は、Elasticsearch クラスター操作のセルフサービスを提供し、OpenShift Container Platform Logging により使用されます。
- インデックス化
- インデックス作成は、データをすばやく見つけてアクセスするために使用されるデータ構造手法です。インデックスを作成すると、クエリーの処理時に必要なディスクアクセスの量が最小限に抑えられるため、パフォーマンスが最適化されます。
- JSON ロギング
- OpenShift Container Platform Logging Log Forwarding API を使用すると、JSON ログを解析して構造化されたオブジェクトにし、それらを OpenShift Container Platform Logging が管理する Elasticsearch またはログ転送 API でサポートされるその他のサードパーティーシステムに転送できます。
- Kibana
- Kibana は、ヒストグラム、折れ線グラフ、円グラフを使用して Elasticsearch データを照会、検出、視覚化するためのブラウザーベースのコンソールインターフェイスです。
- Kubernetes API サーバー
- Kubernetes API サーバーは、API オブジェクトのデータを検証して設定します。
- Labels
- ラベルは、Pod などのオブジェクトのサブセットを整理および選択するために使用できるキーと値のペアです。
- ロギング
- OpenShift Container Platform Logging を使用すると、クラスター全体でアプリケーション、インフラストラクチャー、および監査ログを集約できます。また、ログをデフォルトのログストアに保存したり、サードパーティーのシステムに転送したり、デフォルトのログストアに保存されているログを照会して視覚化したりすることもできます。
- ロギングコレクター
- ロギングコレクターは、クラスターからログを収集してフォーマットし、ログストアまたはサードパーティーシステムに転送します。
- ログストア
- ログストアは、集約されたログを格納するために使用されます。デフォルトの Elasticsearch ログストアを使用、またはログを外部ログストアに転送できます。デフォルトのログストアは、短期の保存について最適化され、テストされています。
- ログビジュアライザー
- ログビジュアライザーは、ログ、グラフ、チャート、その他のメトリックなどの情報を表示するために使用できるユーザーインターフェイス (UI) コンポーネントです。現在の実装は Kibana です。
- node
- ノードは、OpenShift Container Platform クラスター内のワーカーマシンです。ノードは、仮想マシン (VM) または物理マシンのいずれかです。
- Operator
- Operator は、OpenShift Container Platform クラスターで Kubernetes アプリケーションをパッケージ化、デプロイ、および管理するための推奨される方法。Operator は、人間による操作に関する知識を取り入れて、簡単にパッケージ化してお客様と共有できるソフトウェアにエンコードします。
- pod
- Pod は、Kubernetes における最小の論理単位です。Pod は 1 つ以上のコンテナーで設定され、ワーカーノードで実行されます。
- ロールベースアクセス制御 (RBAC)
- RBAC は、クラスターユーザーとワークロードが、ロールを実行するために必要なリソースにのみアクセスできるようにするための重要なセキュリティーコントロールです。
- shards
- Elasticsearch は、Fluentd からのログデータをデータストアまたはインデックスに編成し、各インデックスをシャードと呼ばれる複数の部分に分割します。
- Taint
- テイントは、Pod が適切なノードに確実にスケジュールされるようにします。ノードに 1 つ以上のテイントを適用できます。
- 容認
- Pod に容認を適用できます。Tolerations を使用すると、スケジューラーは、テイントが一致する Pod をスケジュールできます。
- Web コンソール
- OpenShift Container Platform を管理するためのユーザーインターフェイス (UI)。
5.2. Red Hat OpenShift の logging サブシステムのデプロイについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスター管理者は、OpenShift Container Platform Web コンソールまたは CLI コマンドを使用してロギングシステムをデプロイし、OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator をインストールできます。Operator がインストールされたら、ClusterLogging カスタムリソース (CR) を作成して、ロギングサブシステム pod およびロギングサブシステムをサポートするために必要なその他のリソースをスケジュールします。Operator は、ロギングサブシステムのデプロイ、アップグレード、および保守を担当します。
ClusterLogging CR は、ログを収集し、保存し、視覚化するために必要なロギングスタックのすべてのコンポーネントを含む完全なロギングシステム環境を定義します。Red Hat OpenShift Logging Operator はロギングシステム CR を監視し、ロギングデプロイメントを適宜調整します。
管理者およびアプリケーション開発者は、表示アクセスのあるプロジェクトのログを表示できます。
詳細は、Configuring the log collector を参照してください。
5.2.1. JSON OpenShift コンテナープラットフォームロギング リンクのコピーリンクがクリップボードにコピーされました!
JSON ロギングを使用して、JSON 文字列を構造化オブジェクトに解析するようにログ転送 API を設定できます。以下のタスクを実行します。
- JSON ログの解析
- Elasticsearch の JSON ログデータの設定
- JSON ログの Elasticsearch ログストアへの転送
5.2.2. Kubernetes イベントの収集および保存 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform イベントルーターは、Kubernetes イベントを監視し、それらを OpenShift Container Platform Logging によって収集できるようにログに記録する Pod です。イベントルーターは手動でデプロイする必要があります。
詳細は、Kubernetes イベントの収集および保存 を参照してください。
5.2.3. OpenShift Container Platform ロギングの更新 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を使用すると、OpenShift Container Platform のロギングを更新できます。OpenShift Container Platform Logging の更新時には、以下の Operator を更新する必要があります。
- Elasticsearch Operator
- Cluster Logging Operator
詳細は、About updating OpenShift Container Platform Logging を参照してください。
5.2.4. クラスターダッシュボードの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Logging ダッシュボードには、クラスターレベルで Elasticsearch インスタンスに関する詳細を示すチャートが含まれています。これらのチャートは、問題の診断と予測に役立ちます。
詳細は、クラスターダッシュボードの表示 を参照してください。
5.2.5. OpenShift Container Platform ロギングのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
次のタスクを実行してログの問題をトラブルシューティングできます。
- ロギングステータスの表示
- ログストアのステータスの表示
- ロギングアラートの理解
- Red Hat サポート用のロギングデータの収集
- Critical Alerts のトラブルシューティング
5.2.6. OpenShift Container Platform ロギングのアンインストール リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogging カスタムリソース (CR) を削除して、ログ集計を停止できます。CR の削除後に残る他のクラスターロギングコンポーネントがあり、これらはオプションで削除できます。
詳細は、About uninstalling OpenShift Container Platform Logging を参照してください。
5.2.7. フィールドのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
ロギングシステムはフィールドをエクスポートします。エクスポートされたフィールドはログレコードに存在し、Elasticsearch および Kibana から検索できます。
詳細は、フィールドのエクスポート を参照してください。
5.2.8. サブシステムコンポーネントのロギングについて リンクのコピーリンクがクリップボードにコピーされました!
ロギングシステムコンポーネントには、すべてのノードおよびコンテナーログを収集し、それらをログストアに書き込む OpenShift Container Platform クラスターの各ノードにデプロイされるコレクターが含まれます。一元化された Web UI を使用し、集計されたデータを使用して高度な可視化 (visualization) およびダッシュボードを作成できます。
ロギングサブシステムの主なコンポーネントは次のとおりです。
- collection: これは、クラスターからログを収集し、それらをフォーマットし、ログストアに転送するコンポーネントです。現在の実装は Fluentd です。
- log store: これはログが保存される場所です。デフォルトの実装は Elasticsearch です。デフォルトの Elasticsearch ログストアを使用、またはログを外部ログストアに転送できます。デフォルトのログストアは、短期の保存について最適化され、テストされています。
- visualization: これは、ログ、グラフ、グラフなどを表示するために使用される UI コンポーネントです。現在の実装は Kibana です。
本書では、特筆されない限り、log store と Elasticsearch、visualization と Kibana、collection と Fluentd を区別せずに使用する場合があります。
5.2.9. ロギングコレクターについて リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムは、コンテナーとノードのログを収集します。
デフォルトでは、ログコレクターは以下のソースを使用します。
- すべてのシステムログ用の journald
-
すべてのコンテナーログ用の
/var/log/containers/*.log
監査ログを収集するようにログコレクターを設定すると、/var/log/audit/audit.log から取得されます。
ロギングコレクターは、Pod を各 OpenShift Container Platform ノードにデプロイするデーモンセットです。システムおよびインフラストラクチャーのログは、オペレーティングシステム、コンテナーランタイム、および OpenShift Container Platform からの journald ログメッセージによって生成されます。アプリケーションログは CRI-O コンテナーエンジンによって生成されます。Fluentd はこれらのソースからログを収集し、OpenShift Container Platform で設定したように内部または外部に転送します。
コンテナーランタイムは、プロジェクト、Pod 名、およびコンテナー ID などのログメッセージのソースを特定するための最小限の情報を提供します。この情報だけでは、ログのソースを一意に特定することはできません。ログコレクターがログを処理する前に、指定された名前およびプロジェクトを持つ Pod が削除される場合は、ラベルやアノテーションなどの API サーバーからの情報は利用できない可能性があります。そのため、似たような名前の Pod やプロジェクトからログメッセージを区別したり、ログのソースを追跡できない場合があります。この制限により、ログの収集および正規化は ベストエフォート ベースであると見なされます。
利用可能なコンテナーランタイムは、ログメッセージのソースを特定するための最小限の情報を提供し、個別のログメッセージが一意となる確証はなく、これらのメッセージにより、そのソースを追跡できる訳ではありません。
詳細は、Configuring the log collector を参照してください。
5.2.10. ログストアについて リンクのコピーリンクがクリップボードにコピーされました!
デフォルトで、OpenShift Container Platform は Elasticsearch (ES) を使用してログデータを保存します。オプションで、Log Forwarder API を使用して、ログを外部ストアに転送できます。fluentd、rsyslog、kafka など、いくつかのタイプのストアがサポートされています。
ロギングサブシステム Elasticsearch インスタンスは、約 7 日間の短期ストレージ用に最適化およびテストされています。長期間ログを保持する必要がある場合は、データをサードパーティーのストレージシステムに移動することが推奨されます。
Elasticsearch は Fluentd からのログデータをデータストアまたは インデックス に編成し、それぞれのインデックスを シャード と呼ばれる複数の部分に分割します。これは、Elasticsearch クラスターの Elasticsearch ノードセット全体に分散されます。Elasticsearch を、レプリカ と呼ばれるシャードのコピーを作成するように設定できます。Elasticsearch はこれを Elasticsearch ノード全体に分散します。ClusterLogging カスタムリソース (CR) により、データの冗長性および耐障害性を確保するためにシャードを複製する方法を指定できます。また、ClusterLogging CR の保持ポリシーを使用して各種のログが保持される期間を指定することもできます。
インデックステンプレートのプライマリーシャードの数は Elasticsearch データノードの数と等しくなります。
Red Hat OpenShift Logging Operator および OpenShift Elasticsearch Operator は、各 Elasticsearch ノードが独自のストレージボリュームを含む一意のデプロイメントを使用してデプロイされるようにします。ClusterLogging カスタムリソース (CR) を使用して Elasticsearch ノードの数を適宜増やすことができます。ストレージの設定に関する考慮事項は、Elasticsearch ドキュメント を参照してください。
可用性の高い Elasticsearch 環境には 3 つ以上の Elasticsearch ノードが必要で、それぞれが別のホストに置かれる必要があります。
Elasticsearch インデックスに適用されているロールベースアクセス制御 (RBAC) は、開発者のログの制御アクセスを可能にします。管理者はすべてのログに、開発者は各自のプロジェクトのログにのみアクセスできます。
詳細は、ログストアの設定 を参照してください。
5.2.11. ロギングの可視化について リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は Kibana を使用して、Fluentd によって収集され、Elasticsearch によってインデックス化されるログデータを表示します。
Kibana は、ヒストグラム、線グラフ、円グラフその他の可視化機能を使用して Elasticsearch データをクエリーし、検出し、可視化するためのブラウザーベースのコンソールインターフェイスです。
詳細は、ログビジュアライザーの設定 を参照してください。
5.2.12. イベントのルーティングについて リンクのコピーリンクがクリップボードにコピーされました!
イベントルーターは、OpenShift Container Platform イベントを監視する pod であるため、Red Hat のロギングサブシステムによってイベントを収集できます。イベントルーターはすべてのプロジェクトからイベントを収集し、それらを STDOUT に書き込みます。Fluentd はそれらのイベントを収集し、それらを OpenShift Container Platform Elasticsearch インスタンスに転送します。Elasticsearch はイベントを infra インデックスにインデックス化します。
イベントルーターは手動でデプロイする必要があります。
詳細は、Kubernetes イベントの収集および保存 を参照してください。
5.2.13. ログ転送 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat OpenShift のロギングサブシステムは、ClusterLogging カスタムリソース (CR) で定義されているデフォルトの内部 Elasticsearch ログストアにログを送信します。ログを他のログアグリゲーターに転送する必要がある場合は、ログ転送機能を使用してログをクラスター内外の特定のエンドポイントに送信できます。
詳細は、ログのサードパーティーシステムへの転送 を参照してください。
5.3. Vector について リンクのコピーリンクがクリップボードにコピーされました!
Vector は、ロギングサブシステムの Fluentd の代替として提供されるログコレクターです。
次の出力がサポートされています。
-
elasticsearch。外部 Elasticsearch インスタンス。elasticsearch出力では、TLS 接続を使用できます。 -
kafka。Kafka ブローカー。kafka出力は、セキュリティーで保護されていない接続または TLS 接続を使用できます。 -
loki。水平的にスケーラビリティーが高く、マルチテナントログ集約システムです i。
5.3.1. Vector の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Vector はデフォルトでは有効になっていません。以下のステップを使用して、OpenShift Container Platform クラスターで Vector を有効にします。
Vector は、FIPS 対応クラスターをサポートしていません。
前提条件
- OpenShift Container Platform: 4.11
- Red Hat OpenShift のロギングサブシステム: 5.4
- FIPS が無効
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc -n openshift-logging edit ClusterLogging instance
$ oc -n openshift-logging edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
logging.openshift.io/preview-vector-collector: enabledアノテーションをClusterLoggingカスタムリソース (CR) に追加します。 -
ClusterLoggingカスタムリソース (CR) にコレクションタイプとしてvectorを追加します。
5.3.2. コレクター機能 リンクのコピーリンクがクリップボードにコピーされました!
| 機能 | Fluentd | Vector |
|---|---|---|
| アプリコンテナーのログ | ✓ | ✓ |
| アプリ固有のルーティング | ✓ | ✓ |
| namespace 別のアプリ固有のルーティング | ✓ | ✓ |
| インフラコンテナーログ | ✓ | ✓ |
| インフラジャーナルログ | ✓ | ✓ |
| Kube API 監査ログ | ✓ | ✓ |
| OpenShift API 監査ログ | ✓ | ✓ |
| Open Virtual Network (OVN) 監査ログ | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Elasticsearch v5-v7 | ✓ | ✓ |
| Fluent 転送 | ✓ | |
| Syslog RFC3164 | ✓ | |
| Syslog RFC5424 | ✓ | |
| Kafka | ✓ | ✓ |
| Cloudwatch | ✓ | ✓ |
| Loki | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Elasticsearch 証明書 | ✓ | ✓ |
| Elasticsearch ユーザー名/パスワード | ✓ | ✓ |
| Cloudwatch キー | ✓ | ✓ |
| クラウドウォッチ STS | ✓ | |
| Kafka 証明書 | ✓ | ✓ |
| Kafka のユーザー名/パスワード | ✓ | ✓ |
| Kafka SASL | ✓ | ✓ |
| Loki ベアラートークン | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Viaq データモデル - アプリ | ✓ | ✓ |
| Viaq データモデル - インフラ | ✓ | ✓ |
| Viaq データモデル - インフラ (ジャーナル) | ✓ | ✓ |
| Viaq データモデル - Linux 監査 | ✓ | ✓ |
| Viaq データモデル - kube-apiserver 監査 | ✓ | ✓ |
| Viaq データモデル - OpenShift API 監査 | ✓ | ✓ |
| Viaq データモデル - OVN | ✓ | ✓ |
| ログレベルの正規化 | ✓ | ✓ |
| JSON 解析 | ✓ | ✓ |
| 構造化インデックス | ✓ | ✓ |
| 複数行エラー検出 | ✓ | |
| マルチコンテナー/分割インデックス | ✓ | ✓ |
| ラベルのフラット化 | ✓ | ✓ |
| CLF 静的ラベル | ✓ | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| Fluentd readlinelimit | ✓ | |
| Fluentd バッファー | ✓ | |
| -chunklimitsize | ✓ | |
| - totallimitsize | ✓ | |
| - overflowaction | ✓ | |
| -flushThreadCount | ✓ | |
| - flushmode | ✓ | |
| - flushinterval | ✓ | |
| - retrywait | ✓ | |
| - retrytype | ✓ | |
| - retrymaxinterval | ✓ | |
| - retrytimeout | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| メトリクス | ✓ | ✓ |
| ダッシュボード | ✓ | ✓ |
| アラート | ✓ |
| 機能 | Fluentd | Vector |
|---|---|---|
| グローバルプロキシーサポート | ✓ | ✓ |
| x86 サポート | ✓ | ✓ |
| ARM サポート | ✓ | ✓ |
| PowerPC サポート | ✓ | ✓ |
| IBM Z サポート | ✓ | ✓ |
| IPv6 サポート | ✓ | ✓ |
| ログイベントのバッファリング | ✓ | |
| 非接続クラスター | ✓ | ✓ |
第6章 Red Hat のロギングサブシステムのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Elasticsearch と Red Hat Logging Operators をデプロイすることにより、Red Hat のロギングサブシステムをインストールできます。OpenShift Elasticsearch Operator は、OpenShift Logging によって使用される Elasticsearch クラスターを作成し、管理します。ロギングサブシステム Operator は、ロギングスタックのコンポーネントを作成および管理します。
ロギングサブシステムを OpenShift Container Platform にデプロイするためのプロセスには以下が含まれます。
- Logging サブシステムのストレージに関する考慮事項 を確認します。
- OpenShift Container Platform Web コンソール、または CLI を使用した OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator のインストール
6.1. Web コンソールを使用した Red Hat のロギングサブシステムのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して OpenShift Elasticsearch および Red Hat OpenShift Logging Operator をインストールすることができます。
デフォルトの Elasticsearch ログストアを使用しない場合、内部 Elasticsearch logStore、Kibana visualization コンポーネントを ClusterLogging カスタムリソース (CR) から削除することができます。これらのコンポーネントの削除はオプションですが、これによりリソースを節約できます。詳細は、Removing unused components if you do not use the default Elasticsearch log store を参照してください。
前提条件
Elasticsearch の必要な永続ストレージがあることを確認します。各 Elasticsearch ノードには独自のストレージボリュームが必要であることに注意してください。
注記永続ストレージにローカルボリュームを使用する場合は、
LocalVolumeオブジェクトのvolumeMode: blockで記述される raw ブロックボリュームを使用しないでください。Elasticsearch は raw ブロックボリュームを使用できません。Elasticsearch はメモリー集約型アプリケーションです。デフォルトで、OpenShift Container Platform はメモリー要求および 16 GB の制限を持つ 3 つの Elasticsearch ノードをインストールします。OpenShift Container Platform ノードの最初の 3 つのセットには、Elasticsearch をクラスター内で実行するのに十分なメモリーがない可能性があります。Elasticsearch に関連するメモリーの問題が発生した場合、既存ノードのメモリーを増やすのではなく、Elasticsearch ノードをクラスターにさらに追加します。
手順
OpenShift Container Platform Web コンソールを使用して OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator をインストールするには、以下を実行します。
OpenShift Elasticsearch Operator をインストールします。
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
- 利用可能な Operator のリストから OpenShift Elasticsearch Operator を選択し、Install をクリックします。
- All namespaces on the cluster が Installation Mode で選択されていることを確認します。
openshift-operators-redhat が Installed Namespace で選択されていることを確認します。
openshift-operators-redhatnamespace を指定する必要があります。openshift-operatorsnamespace には信頼されていないコミュニティー Operator が含まれる可能性があり、OpenShift Container Platform メトリックと同じ名前でメトリックを公開する可能性があるため、これによって競合が生じる可能性があります。Enable operator recommended cluster monitoring on this namespace を選択します。
このオプションは、namespace オブジェクトに
openshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-operators-redhatnamespace を収集できるように、このオプションを選択する必要があります。- Update Channel として stable-5.x を選択します。
Approval Strategy を選択します。
- Automatic ストラテジーにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。
- Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
- Operators → Installed Operators ページに切り替えて、OpenShift Elasticsearch Operator がインストールされていることを確認します。
- Status が Succeeded の状態で、OpenShift Elasticsearch Operator が すべてのプロジェクトにリスト表示されていることを確認します。
Red Hat OpenShift Logging Operator をインストールします。
- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
- 利用可能な Operator のリストから Red Hat OpenShift Logging を選択し、Install をクリックします。
- A specific namespace on the cluster が Installation Mode で選択されていることを確認します。
- Operator recommended namespace が Installed Namespace で openshift-logging になっていることを確認します。
Enable operator recommended cluster monitoring on this namespace を選択します。
このオプションは、namespace オブジェクトに
openshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-loggingnamespace を収集できるように、このオプションを選択する必要があります。- Update Channel として stable-5.x を選択します。
Approval Strategy を選択します。
- Automatic ストラテジーにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。
- Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
- Operators → Installed Operators ページに切り替えて、Red Hat OpenShift Logging Operator がインストールされていることを確認します。
Red Hat OpenShift Logging が Status が Succeeded の状態で openshift-logging プロジェクトにリスト表示されていることを確認します。
Operator がインストール済みとして表示されない場合に、さらにトラブルシューティングを実行します。
- Operators → Installed Operators ページに切り替え、Status 列でエラーまたは失敗の有無を確認します。
-
Workloads → Pods ページに切り替え、
openshift-loggingプロジェクトの Pod で問題を報告しているログの有無を確認します。
OpenShift Logging インスタンスを作成します。
- Administration → Custom Resource Definitions ページに切り替えます。
- Custom Resource Definitions ページで、ClusterLogging をクリックします。
- Custom Resource Definition details ページで、Actions メニューから View Instances を選択します。
ClusterLoggings ページで、 Create ClusterLogging をクリックします。
データを読み込むためにページの更新が必要になる場合があります。
YAML フィールドで、コードを以下に置き換えます。
注記このデフォルトの OpenShift Logging 設定は各種の環境をサポートすることが予想されます。OpenShift Logging クラスターに加えることのできる変更の詳細は、ロギングシステムコンポーネントのチューニングおよび設定に関するトピックを確認してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 名前は
instanceである必要があります。 - 2
- OpenShift Logging の管理状態。OpenShift Logging のデフォルト値を変更する場合は、これを
Unmanaged(管理外) に設定することが求められる場合があります。ただし、管理外のデプロイメントは OpenShift Logging がマネージドの状態に戻されるまで更新を受信しません。 - 3
- Elasticsearch の設定に必要な設定。CR を使用してシャードのレプリケーションポリシーおよび永続ストレージを設定できます。
- 4
- Elasticsearch が各ログソースを保持する期間を指定します。整数および時間の指定 (weeks(w)、hour(h/H)、minutes(m)、および seconds(s)) を入力します。たとえば、7 日の場合は
7dとなります。maxAgeよりも古いログは削除されます。各ログソースの保持ポリシーを指定する必要があります。指定しないと、Elasticsearch インデックスはそのソースに対して作成されません。 - 5
- Elasticsearch ノードの数を指定します。このリストに続く注記を確認してください。
- 6
- Elasticsearch ストレージの既存のストレージクラスの名前を入力します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。ストレージクラスを指定しないと、OpenShift Logging は一時ストレージを使用します。
- 7
- 必要に応じて CPU およびメモリー要求を指定します。これらの値を空のままにすると、OpenShift Elasticsearch Operator はデフォルト値を設定します。これらのデフォルト値はほとんどのデプロイメントでは問題なく使用できるはずです。デフォルト値は、メモリー要求の場合は
16Giであり、CPU 要求の場合は1です。 - 8
- 必要に応じて Elasticsearch プロキシーの CPU およびメモリーの制限および要求を指定します。これらの値を空のままにすると、OpenShift Elasticsearch Operator はデフォルト値を設定します。これらのデフォルト値はほとんどのデプロイメントでは問題なく使用できるはずです。デフォルト値は、メモリー要求の場合は
256Mi、CPU 要求の場合は100mです。 - 9
- Kibana の設定に必要な設定。CR を使用して、冗長性を確保するために Kibana をスケーリングし、Kibana ノードの CPU およびメモリーを設定できます。詳細は、ログビジュアライザーの設定 を参照してください。
- 10
- Fluentd の設定に必要な設定。CR を使用して Fluentd の CPU およびメモリー制限を設定できます。詳細はFluentd の設定を参照してください。
注記Elasticsearch コントロールプレーンノードの最大数は 3 です。
3を超えるnodeCountを指定する場合、OpenShift Container Platform は、マスター、クライアントおよびデータロールを使用して、3 つのマスターとしての適格性のあるノードである Elasticsearch ノードを作成します。追加の Elasticsearch ノードは、クライアントおよびデータロールを使用してデータのみのノードとして作成されます。コントロールプレーンノードは、インデックスの作成および削除、シャードの割り当て、およびノードの追跡などのクラスター全体でのアクションを実行します。データノードはシャードを保持し、CRUD、検索、および集計などのデータ関連の操作を実行します。データ関連の操作は、I/O、メモリーおよび CPU 集約型の操作です。これらのリソースを監視し、現行ノードがオーバーロードする場合にデータノード追加することが重要です。たとえば、
nodeCount=4の場合に、以下のノードが作成されます。oc get deployment
$ oc get deploymentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
cluster-logging-operator 1/1 1 1 18h elasticsearch-cd-x6kdekli-1 0/1 1 0 6m54s elasticsearch-cdm-x6kdekli-1 1/1 1 1 18h elasticsearch-cdm-x6kdekli-2 0/1 1 0 6m49s elasticsearch-cdm-x6kdekli-3 0/1 1 0 6m44s
cluster-logging-operator 1/1 1 1 18h elasticsearch-cd-x6kdekli-1 0/1 1 0 6m54s elasticsearch-cdm-x6kdekli-1 1/1 1 1 18h elasticsearch-cdm-x6kdekli-2 0/1 1 0 6m49s elasticsearch-cdm-x6kdekli-3 0/1 1 0 6m44sCopy to Clipboard Copied! Toggle word wrap Toggle overflow インデックステンプレートのプライマリーシャードの数は Elasticsearch データノードの数と等しくなります。
-
Create をクリックします。これにより、ロギングサブシステムコンポーネント、
Elasticsearchカスタムリソースとコンポーネント、および Kibana インターフェイスが作成されます。
インストールを確認します。
- Workloads → Pods ページに切り替えます。
openshift-logging プロジェクトを選択します。
以下のリストのような OpenShift Logging、Elasticsearch、Fluentd、および Kibana のいくつかの Pod が表示されるはずです。
- cluster-logging-operator-cb795f8dc-xkckc
- elasticsearch-cdm-b3nqzchd-1-5c6797-67kfz
- elasticsearch-cdm-b3nqzchd-2-6657f4-wtprv
- elasticsearch-cdm-b3nqzchd-3-588c65-clg7g
- fluentd-2c7dg
- fluentd-9z7kk
- fluentd-br7r2
- fluentd-fn2sb
- fluentd-pb2f8
- fluentd-zqgqx
- kibana-7fb4fd4cc9-bvt4p
6.2. インストール後のタスク リンクのコピーリンクがクリップボードにコピーされました!
Kibana を使用する場合、Kibana のデータを確認し、び可視化するために、Kibana インデックスパターンおよびビジュアライゼーションを手動で作成する 必要があります。
クラスターネットワークプロバイダーがネットワークの分離を実施している場合、ロギングシステム Operator が含まれるプロジェクト間のネットワークトラフィックを許可します。
6.3. CLI を使用した Red Hat OpenShift のロギングサブシステムのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform CLI を使用して OpenShift Elasticsearch および Red Hat OpenShift Logging Operator をインストールすることができます。
前提条件
Elasticsearch の必要な永続ストレージがあることを確認します。各 Elasticsearch ノードには独自のストレージボリュームが必要であることに注意してください。
注記永続ストレージにローカルボリュームを使用する場合は、
LocalVolumeオブジェクトのvolumeMode: blockで記述される raw ブロックボリュームを使用しないでください。Elasticsearch は raw ブロックボリュームを使用できません。Elasticsearch はメモリー集約型アプリケーションです。デフォルトで、OpenShift Container Platform はメモリー要求および 16 GB の制限を持つ 3 つの Elasticsearch ノードをインストールします。OpenShift Container Platform ノードの最初の 3 つのセットには、Elasticsearch をクラスター内で実行するのに十分なメモリーがない可能性があります。Elasticsearch に関連するメモリーの問題が発生した場合、既存ノードのメモリーを増やすのではなく、Elasticsearch ノードをクラスターにさらに追加します。
手順
CLI を使用して OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator をインストールするには、以下を実行します。
OpenShift Elasticsearch Operator の namespace を作成します。
OpenShift Elasticsearch Operator の namespace オブジェクト YAML ファイル (
eo-namespace.yamlなど) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
openshift-operators-redhatnamespace を指定する必要があります。メトリクスとの競合が発生する可能性を防ぐには、Prometheus のクラスターモニタリングスタックを、openshift-operatorsnamespace からではなく、openshift-operators-redhatnamespace からメトリクスを収集するように設定する必要があります。openshift-operatorsnamespace には信頼されていないコミュニティー Operator が含まれる可能性があり、OpenShift Container Platform メトリックと同じ名前でメトリックを公開する可能性があるため、これによって競合が生じる可能性があります。- 2
- 文字列。クラスターモニタリングが
openshift-operators-redhatnamespace を収集できるように、このラベルを上記のように指定する必要があります。
namespace を作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f eo-namespace.yaml
$ oc create -f eo-namespace.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Logging Operator の namespace を作成します。
Red Hat OpenShift Logging Operator の namespace オブジェクト YAML ファイル (
olo-namespace.yamlなど) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace を作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f olo-namespace.yaml
$ oc create -f olo-namespace.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のオブジェクトを作成して OpenShift Elasticsearch Operator をインストールします。
OpenShift Elasticsearch Operator の Operator グループオブジェクトの YAML ファイル (
eo-og.yamlなど) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
openshift-operators-redhatnamespace を指定する必要があります。
Operator グループオブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f eo-og.yaml
$ oc create -f eo-og.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Subscription オブジェクト YAML ファイル (
eo-sub.yamlなど) を作成し、namespace を OpenShift Elasticsearch Operator にサブスクライブします。Subscription の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
openshift-operators-redhatnamespace を指定する必要があります。- 2
- チャネルとして
stableまたはstable-5.<x>を指定します。以下の注意点を参照してください。 - 3
Automaticにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。Manualには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。- 4
redhat-operatorsを指定します。OpenShift Container Platform クラスターが、非接続クラスターとも呼ばれるネットワークが制限された環境でインストールされている場合、Operator Lifecycle Manager (OLM) の設定時に作成される CatalogSource オブジェクトの名前を指定します。
注記stableを指定すると、最新の安定したリリースの現行バージョンがインストールされます。installPlanApproval: "Automatic"でstable使用すると、Operatar が自動的に最新の安定したメジャーおよびマイナーリリースにアップグレードします。stable-5.<x>を指定すると、特定のメジャーリリースの現在のマイナーバージョンがインストールされます。installPlanApproval: "Automatic"でstable-5.<x>を使用すると、xで指定したメジャーリリース内で最新の安定マイナーリリースに Operator が自動的にアップグレードされます。Subscription オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f eo-sub.yaml
$ oc create -f eo-sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Elasticsearch Operator は
openshift-operators-redhatnamespace にインストールされ、クラスター内の各プロジェクトにコピーされます。Operator のインストールを確認します。
oc get csv --all-namespaces
$ oc get csv --all-namespacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれの namespace には OpenShift Elasticsearch Operator がなければなりません。バージョン番号が表示されるものと異なる場合があります。
以下のオブジェクトを作成して Red Hat OpenShift Logging Operator をインストールします。
Red Hat OpenShift Logging Operator の Operator グループオブジェクトの YAML ファイル (
olo-og.yamlなど) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroup オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f olo-og.yaml
$ oc create -f olo-og.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Subscription オブジェクト YAML ファイル (
olo-sub.yamlなど) を作成し、namespace を Red Hat OpenShift Logging Operator にサブスクライブします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f olo-sub.yaml
$ oc create -f olo-sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Logging Operator は
openshift-loggingnamespace にインストールされます。Operator のインストールを確認します。
openshift-loggingnamespace には Red Hat OpenShift Logging Operator がなければなりません。バージョン番号が表示されるものと異なる場合があります。oc get csv -n openshift-logging
$ oc get csv -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE ... openshift-logging clusterlogging.5.1.0-202007012112.p0 OpenShift Logging 5.1.0-202007012112.p0 Succeeded ...
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE ... openshift-logging clusterlogging.5.1.0-202007012112.p0 OpenShift Logging 5.1.0-202007012112.p0 Succeeded ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Logging インスタンスを作成します。
Red Hat OpenShift Logging Operator のインスタンスオブジェクト YAML ファイル (
olo-instance.yamlなど) を作成します。注記このデフォルトの OpenShift Logging 設定は各種の環境をサポートすることが予想されます。OpenShift Logging クラスターに加えることのできる変更の詳細は、ロギングシステムコンポーネントのチューニングおよび設定に関するトピックを確認してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 名前は
instanceである必要があります。 - 2
- OpenShift Logging の管理状態。OpenShift Logging のデフォルト値を変更する場合は、これを
Unmanaged(管理外) に設定することが求められる場合があります。ただし、管理外のデプロイメントは OpenShift Logging がマネージドの状態に戻されるまで更新を受信しません。デプロイメントをマネージドの状態に戻すと、加えた変更が元に戻される可能性があります。 - 3
- Elasticsearch の設定に必要な設定。カスタムリソース (CR) を使用してシャードのレプリケーションポリシーおよび永続ストレージを設定できます。
- 4
- Elasticsearch が各ログソースを保持する期間を指定します。整数および時間の指定 (weeks(w)、hour(h/H)、minutes(m)、および seconds(s)) を入力します。たとえば、7 日の場合は
7dとなります。maxAgeよりも古いログは削除されます。各ログソースの保持ポリシーを指定する必要があります。指定しないと、Elasticsearch インデックスはそのソースに対して作成されません。 - 5
- Elasticsearch ノードの数を指定します。このリストに続く注記を確認してください。
- 6
- Elasticsearch ストレージの既存のストレージクラスの名前を入力します。最適なパフォーマンスを得るには、ブロックストレージを割り当てるストレージクラスを指定します。ストレージクラスを指定しない場合、OpenShift Container Platform は一時ストレージのみの OpenShift Logging をデプロイします。
- 7
- 必要に応じて CPU およびメモリー要求を指定します。これらの値を空のままにすると、OpenShift Elasticsearch Operator はデフォルト値を設定します。これらのデフォルト値はほとんどのデプロイメントでは問題なく使用できるます。デフォルト値は、メモリー要求の場合は
16Giであり、CPU 要求の場合は1です。 - 8
- 必要に応じて Elasticsearch プロキシーの CPU およびメモリーの制限および要求を指定します。これらの値を空のままにすると、OpenShift Elasticsearch Operator はデフォルト値を設定します。これらのデフォルト値はほとんどのデプロイメントでは問題なく使用できるはずです。デフォルト値は、メモリー要求の場合は
256Mi、CPU 要求の場合は100mです。 - 9
- Kibana の設定に必要な設定。CR を使用して、冗長性を確保するために Kibana をスケーリングし、Kibana Pod の CPU およびメモリーを設定できます。詳細は、ログビジュアライザーの設定 を参照してください。
- 10
- Fluentd の設定に必要な設定。CR を使用して Fluentd の CPU およびメモリー制限を設定できます。詳細はFluentd の設定を参照してください。
注記Elasticsearch コントロールプレーンノードの最大数は 3 です。
3を超えるnodeCountを指定する場合、OpenShift Container Platform は、マスター、クライアントおよびデータロールを使用して、3 つのマスターとしての適格性のあるノードである Elasticsearch ノードを作成します。追加の Elasticsearch ノードは、クライアントおよびデータロールを使用してデータのみのノードとして作成されます。コントロールプレーンノードは、インデックスの作成および削除、シャードの割り当て、およびノードの追跡などのクラスター全体でのアクションを実行します。データノードはシャードを保持し、CRUD、検索、および集計などのデータ関連の操作を実行します。データ関連の操作は、I/O、メモリーおよび CPU 集約型の操作です。これらのリソースを監視し、現行ノードがオーバーロードする場合にデータノード追加することが重要です。たとえば、
nodeCount=4の場合に、以下のノードが作成されます。oc get deployment
$ oc get deploymentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
cluster-logging-operator 1/1 1 1 18h elasticsearch-cd-x6kdekli-1 1/1 1 0 6m54s elasticsearch-cdm-x6kdekli-1 1/1 1 1 18h elasticsearch-cdm-x6kdekli-2 1/1 1 0 6m49s elasticsearch-cdm-x6kdekli-3 1/1 1 0 6m44s
cluster-logging-operator 1/1 1 1 18h elasticsearch-cd-x6kdekli-1 1/1 1 0 6m54s elasticsearch-cdm-x6kdekli-1 1/1 1 1 18h elasticsearch-cdm-x6kdekli-2 1/1 1 0 6m49s elasticsearch-cdm-x6kdekli-3 1/1 1 0 6m44sCopy to Clipboard Copied! Toggle word wrap Toggle overflow インデックステンプレートのプライマリーシャードの数は Elasticsearch データノードの数と等しくなります。
インスタンスを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f olo-instance.yaml
$ oc create -f olo-instance.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、ロギングサブシステムコンポーネント、
Elasticsearchカスタムリソースとコンポーネント、および Kibana インターフェイスが作成されます。
openshift-logging プロジェクトに Pod を一覧表示して、インストールを検証します。
次のリストのように、Logging サブシステムのコンポーネントの Pod がいくつか表示されます。
oc get pods -n openshift-logging
$ oc get pods -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. インストール後のタスク リンクのコピーリンクがクリップボードにコピーされました!
Kibana を使用する場合、Kibana のデータを確認し、び可視化するために、Kibana インデックスパターンおよびビジュアライゼーションを手動で作成する 必要があります。
クラスターネットワークプロバイダーがネットワークの分離を実施している場合、ロギングシステム Operator が含まれるプロジェクト間のネットワークトラフィックを許可します。
6.4.1. Kibana インデックスパターンの定義 リンクのコピーリンクがクリップボードにコピーされました!
インデックスパターンは、可視化する必要のある Elasticsearch インデックスを定義します。Kibana でデータを確認し、可視化するには、インデックスパターンを作成する必要があります。
前提条件
Kibana で infra および audit インデックスを表示するには、ユーザーには
cluster-adminロール、cluster-readerロール、または両方のロールが必要です。デフォルトのkubeadminユーザーには、これらのインデックスを表示するための適切なパーミッションがあります。default、kube-およびopenshift-プロジェクトで Pod およびログを表示できる場合に、これらのインデックスにアクセスできるはずです。以下のコマンドを使用して、現在のユーザーが適切なパーミッションを持っているかどうかを確認できます。oc auth can-i get pods/log -n <project>
$ oc auth can-i get pods/log -n <project>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
yes
yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記監査ログは、デフォルトでは内部 OpenShift Container Platform Elasticsearch インスタンスに保存されません。Kibana で監査ログを表示するには、ログ転送 API を使用して監査ログの
default出力を使用するパイプラインを設定する必要があります。- Elasticsearch ドキュメントは、インデックスパターンを作成する前にインデックス化する必要があります。これは自動的に実行されますが、新規または更新されたクラスターでは数分の時間がかかる可能性があります。
手順
Kibana でインデックスパターンを定義し、ビジュアライゼーションを作成するには、以下を実行します。
-
OpenShift Container Platform コンソールで、Application Launcher
をクリックし、Logging を選択します。
Management → Index Patterns → Create index pattern をクリックして Kibana インデックスパターンを作成します。
-
各ユーザーは、プロジェクトのログを確認するために、Kibana に初めてログインする際にインデックスパターンを手動で作成する必要があります。ユーザーは
appという名前のインデックスパターンを作成し、@timestamp時間フィールドを使用してコンテナーログを表示する必要があります。 -
管理ユーザーはそれぞれ、最初に Kibana にログインする際に、
@timestamp時間フィールドを使用してapp、infraおよびauditインデックスのインデックスパターンを作成する必要があります。
-
各ユーザーは、プロジェクトのログを確認するために、Kibana に初めてログインする際にインデックスパターンを手動で作成する必要があります。ユーザーは
- 新規インデックスパターンから Kibana のビジュアライゼーション (Visualization) を作成します。
6.4.2. ネットワークの分離が有効にされている場合のプロジェクト間のトラフィックの許可 リンクのコピーリンクがクリップボードにコピーされました!
クラスターネットワークプロバイダーはネットワークの分離を有効にする可能性があります。その場合、OpenShift Logging によってデプロイされる Operator が含まれるプロジェクト間のネットワークトラフィックを許可する必要があります。
ネットワークの分離は、異なるプロジェクトにある Pod およびサービス間のネットワークトラフィックをブロックします。ロギングシステムは、OpenShift Elasticsearch Operator を openshift-operators-redhat プロジェクトにインストールし、Red Hat OpenShift Logging Operator を openshift-logging プロジェクトにインストールします。したがって、これら 2 つのプロジェクト間のトラフィックを許可する必要があります。
OpenShift Container Platform は、2 つのサポート対象のオプションをデフォルトの Container Network Interface (CNI) ネットワークプロバイダー、OpenShift SDN および OVN-Kubernetes 用に提供します。これら 2 つのプロバイダーはさまざまなネットワーク分離ポリシーを実装します。
OpenShift SDN には 3 つのモードがあります。
- network policy (ネットワークポリシー)
- これはデフォルトモードになります。ポリシーが定義されていない場合は、すべてのトラフィックを許可します。ただし、ユーザーがポリシーを定義する場合、通常はすべてのトラフィックを拒否し、例外を追加して開始します。このプロセスでは、異なるプロジェクトで実行されているアプリケーションが破損する可能性があります。そのため、ポリシーを明示的に設定し、1 つのロギング関連のプロジェクトから他のプロジェクトへの egress のトラフィックを許可します。
- multitenant (マルチテナント)
- このモードは、ネットワークの分離を実行します。2 つのロギング関連のプロジェクトを結合して、それらのプロジェクト間のトラフィックを許可します。
- subnet (サブネット)
- このモードでは、すべてのトラフィックを許可します。ネットワーク分離は実行しません。アクションは不要です。
OVN-Kubernetes は常に ネットワークポリシー を使用します。そのため、OpenShift SDN の場合と同様に、ポリシーを明示的に設定し、1 つのロギング関連のプロジェクトから他のプロジェクトへの egress のトラフィックを許可する必要があります。
手順
multitenant モードで OpenShift SDN を使用している場合は、2 つのプロジェクトに参加します。以下に例を示します。
oc adm pod-network join-projects --to=openshift-operators-redhat openshift-logging
$ oc adm pod-network join-projects --to=openshift-operators-redhat openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、network policy の OpenShift SDN および OVN-Kubernetes の場合は、以下の操作を実行します。
openshift-operators-redhatnamespace にラベルを設定します。以下に例を示します。oc label namespace openshift-operators-redhat project=openshift-operators-redhat
$ oc label namespace openshift-operators-redhat project=openshift-operators-redhatCopy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-operators-redhat、openshift-monitoring、およびopenshift-ingressプロジェクトから openshift-logging プロジェクトへの入力を許可する、openshift-loggingnamespace にネットワークポリシーオブジェクトを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第7章 ロギングデプロイメントの設定 リンクのコピーリンクがクリップボードにコピーされました!
7.1. クラスターロギングカスタムリソースについて リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムを設定するには、ClusterLogging カスタムリソース (CR) をカスタマイズします。
7.1.1. ClusterLogging カスタムリソースについて リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステム環境に変更を加えるには、ClusterLogging カスタムリソース (CR) を作成および変更します。
CR の作成または変更方法については、このドキュメントで適宜説明されます。
次の例は、ロギングサブシステムの一般的なカスタムリソースを示しています。
ClusterLogging カスタムリソース (CRD) のサンプル
7.2. ロギングコレクターの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムは、クラスターからオペレーションとアプリケーションログを収集し、Kubernetes Pod とプロジェクトメタデータでデータを強化します。
ログコレクターの CPU およびメモリー制限を設定し、ログコレクター Pod を特定のノードに移動 できます。ログコレクターに対するサポートされるすべての変更は、ClusterLogging カスタムリソース (CR) の spec.collection.log.fluentd スタンザを使用して実行できます。
7.2.1. サポートされる設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムを設定するためにサポートされている方法は、このドキュメントで説明されているオプションを使用して設定することです。サポートされていない他の設定は使用しないでください。設定のパラダイムが OpenShift Container Platform リリース間で変更される可能性があり、このような変更は、設定のすべての可能性が制御されている場合のみ適切に対応できます。本書で説明されている設定以外の設定を使用する場合、OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator が差分を調整するため、変更内容は失われます。Operator はデフォルトで定義された状態にすべて戻します。
OpenShift Container Platform ドキュメントで説明されていない設定を実行する 必要がある 場合、Red Hat OpenShift Logging Operator または OpenShift Elasticsearch Operator を Unmanaged (管理外) に設定する 必要があります。管理外の OpenShift Logging 環境は サポート外 であり、OpenShift Logging を Managed に戻すまで変更を受信しません。
7.2.2. ロギングコレクター Pod の表示 リンクのコピーリンクがクリップボードにコピーされました!
Fluentd ロギングコレクター Pod およびそれらが実行されている対応するノードを表示できます。Fluentd ロギングコレクター Pod は openshift-logging プロジェクトでのみ実行されます。
手順
-
openshift-loggingプロジェクトで以下のコマンドを実行し、Fluentd ロギングコレクター Pod とそれらの詳細を表示します。
oc get pods --selector component=collector -o wide -n openshift-logging
$ oc get pods --selector component=collector -o wide -n openshift-logging
出力例
7.2.3. ログコレクター CPU およびメモリー制限の設定 リンクのコピーリンクがクリップボードにコピーされました!
ログコレクターは、CPU とメモリー制限の両方への調整を許可します。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc -n openshift-logging edit ClusterLogging instance
$ oc -n openshift-logging edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 必要に応じて CPU、メモリー制限および要求を指定します。表示される値はデフォルト値です。
7.2.4. ログフォワーダーの高度な設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムには、Fluentd ログ転送のパフォーマンスを調整するために使用できる複数の Fluentd パラメーターが含まれています。これらのパラメーターを使用すると、以下の Fluentd の動作を変更できます。
- チャンクおよびチャンクのバッファーサイズ
- チャンクのフラッシュ動作
- チャンク転送の再試行動作
Fluentd は、チャンク という単一の Blob でログデータを収集します。Fluentd がチャンクを作成する際に、チャンクは ステージ にあると見なされます。ここでチャンクはデータで一杯になります。チャンクが一杯になると、Fluentd はチャンクを キュー に移動します。ここでチャンクはフラッシュされる前か、送信先に書き込まれるまで保持されます。Fluentd は、ネットワークの問題や送信先での容量の問題などのさまざまな理由でチャンクをフラッシュできない場合があります。チャンクをフラッシュできない場合、Fluentd は設定通りにフラッシュを再試行します。
OpenShift Container Platform のデフォルトで、Fluentd は 指数関数的バックオフ 方法を使用してフラッシュを再試行します。この場合、Fluentd はフラッシュを再試行するまで待機する時間を 2 倍にします。これは、送信先への接続要求を減らすのに役立ちます。指数バックオフを無効にし、代わりに 定期的な 再試行方法を使用できます。これは、指定の間隔でチャンクのフラッシュを再試行します。
これらのパラメーターは、待ち時間とスループット間のトレードオフを判断するのに役立ちます。
- Fluentd のスループットを最適化するには、これらのパラメーターを使用して、より大きなバッファーおよびキューを設定し、フラッシュを遅延し、再試行の間隔の長く設定することで、ネットワークパケット数を減らすことができます。より大きなバッファーにはノードのファイルシステムでより多くの領域が必要になることに注意してください。
- 待機時間が低い場合に最適化するには、パラメーターを使用してすぐにデータを送信し、バッチの蓄積を回避し、キューとバッファーが短くして、より頻繁にフラッシュおよび再試行を使用できます。
ClusterLogging カスタムリソース (CR) で以下のパラメーターを使用して、チャンクおよびフラッシュ動作を設定できます。次に、パラメーターは Fluentd で使用するために Fluentd 設定マップに自動的に追加されます。
これらのパラメーターの特徴は以下の通りです。
- ほとんどのユーザーには関連性がありません。デフォルト設定で、全般的に良いパフォーマンスが得られるはずです。
- Fluentd 設定およびパフォーマンスに関する詳しい知識を持つ上級ユーザーのみが対象です。
- パフォーマンスチューニングのみを目的とします。ロギングの機能面に影響を与えることはありません。
| パラメーター | 説明 | デフォルト |
|---|---|---|
|
| 各チャンクの最大サイズ。Fluentd はこのサイズに達するとデータのチャンクへの書き込みを停止します。次に、Fluentd はチャンクをキューに送信し、新規のチャンクを開きます。 |
|
|
| ステージおよびキューの合計サイズであるバッファーの最大サイズ。バッファーサイズがこの値を超えると、Fluentd はデータのチャンクへの追加を停止し、エラーを出して失敗します。チャンクにないデータはすべて失われます。 |
|
|
|
チャンクのフラッシュの間隔。 |
|
|
| フラッシュを実行する方法:
|
|
|
| チャンクのフラッシュを実行するスレッドの数。スレッドの数を増やすと、フラッシュのスループットが改善し、ネットワークの待機時間が非表示になります。 |
|
|
| キューが一杯になると、チャンク動作は以下のようになります。
|
|
|
|
|
|
|
| フラッシュに失敗する場合の再試行方法:
|
|
|
| レコードが破棄される前に再試行を試みる最大時間間隔。 |
|
|
| 次のチャンクのフラッシュまでの時間 (秒単位)。 |
|
Fluentd チャンクのライフサイクルの詳細は、Fluentd ドキュメントの Buffer Plugins を参照してください。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc edit ClusterLogging instance
$ oc edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のパラメーターを追加または変更します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 各チャンクの最大サイズを指定してから、フラッシュ用にキューに入れます。
- 2
- チャンクのフラッシュの間隔を指定します。
- 3
- チャンクのフラッシュを実行する方法を指定します (
lazy、interval、またはimmediate)。 - 4
- チャンクのフラッシュに使用するスレッドの数を指定します。
- 5
- キューが一杯になる場合のチャンクの動作を指定します (
throw_exception、block、またはdrop_oldest_chunk)。 - 6
exponential_backoffチャンクのフラッシュ方法について最大の間隔 (秒単位) を指定します。- 7
- チャンクのフラッシュが失敗する場合の再試行タイプ (
exponential_backoffまたはperiodic) を指定します。 - 8
- 次のチャンクのフラッシュまでの時間 (秒単位) を指定します。
- 9
- チャンクバッファーの最大サイズを指定します。
Flunentd Pod が再デプロイされていることを確認します。
oc get pods -l component=collector -n openshift-logging
$ oc get pods -l component=collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規の値が
fluentd設定マップにあることを確認します。oc extract configmap/fluentd --confirm
$ oc extract configmap/fluentd --confirmCopy to Clipboard Copied! Toggle word wrap Toggle overflow fluentd.conf の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.5. デフォルトの Elasticsearch ログストアを使用しない場合の未使用のコンポーネントの削除 リンクのコピーリンクがクリップボードにコピーされました!
管理者がログをサードパーティーのログストアに転送し、デフォルトの Elasticsearch ログストアを使用しない場合は、ロギングクラスターからいくつかの未使用のコンポーネントを削除できます。
つまり、デフォルトの Elasticsearch ログストアを使用しない場合は、内部 Elasticsearch logStore、Kibana visualization コンポーネントを ClusterLogging カスタムリソース (CR) から削除できます。これらのコンポーネントの削除はオプションですが、これによりリソースを節約できます。
前提条件
ログフォワーダーがログデータをデフォルトの内部 Elasticsearch クラスターに送信しないことを確認します。ログ転送の設定に使用した
ClusterLogForwarderCR YAML ファイルを検査します。これにはdefaultを指定するoutputRefs要素が ない ことを確認します。以下に例を示します。outputRefs: - default
outputRefs: - defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ClusterLogForwarder CR がログデータを内部 Elasticsearch クラスターに転送し、ClusterLogging CR から logStore コンポーネントを削除するとします。この場合、内部 Elasticsearch クラスターはログデータを保存するために表示されません。これがないと、データが失われる可能性があります。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc edit ClusterLogging instance
$ oc edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
これらが存在する場合は、
logStore、visualizationスタンザをClusterLoggingCR から削除します。 ClusterLoggingCR のcollectionスタンザを保持します。結果は以下の例のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow コレクター Pod が再デプロイされたことを確認します。
oc get pods -l component=collector -n openshift-logging
$ oc get pods -l component=collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. ログストアの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムは、Elasticsearch 6 (ES) を使用してログデータを保存および整理します。
ログストアに加えることのできる変更には、以下が含まれます。
- Elasticsearch クラスターのストレージ。
- シャードをクラスター内の複数のデータノードにレプリケートする方法 (完全なレプリケーションからレプリケーションなしまで)。
- Elasticsearch データへの外部アクセス
Elasticsearch はメモリー集約型アプリケーションです。それぞれの Elasticsearch ノードには、ClusterLogging カスタムリソースで指定しない限り、メモリー要求および制限の両方に 16G 以上のメモリーが必要です。初期設定の OpenShift Container Platform ノードのセットは、Elasticsearch クラスターをサポートするのに十分な大きさではない場合があります。その場合、推奨されるサイズ以上のメモリー (各 Elasticsearch ノードに最大 64G) を使用して実行できるようにノードを OpenShift Container Platform クラスターに追加する必要があります。
各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境には推奨されません。
7.3.1. 監査ログのログストアへの転送 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトで、OpenShift Logging では監査ログを内部の OpenShift Container Platform Elasticsearch ログストアに保存しません。Kibana で表示するなど、監査ログをこのログストアに送信できます。
監査ログをデフォルトの内部 Elasticsearch ログストアに送信するには、Kibana で監査ログを表示するなど、ログ転送 API を使用する必要があります。
内部 OpenShift Container Platform Elasticsearch ログストアは、監査ログのセキュアなストレージを提供しません。監査ログを転送するシステムが組織および政府の規制に適合し、適切にセキュリティーが保護されていることを確認します。Red Hat OpenShift のロギングサブシステムは、これらの規制に準拠していません。
手順
ログ転送 API を使用して監査ログを内部 Elasticsearch インスタンスに転送するには、以下を実行します。
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。すべてのログタイプを内部 Elasticsearch インスタンスに送信するために CR を作成します。変更せずに以下の例を使用できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- パイプラインは、指定された出力を使用して転送するログのタイプを定義します。デフォルトの出力は、ログを内部 Elasticsearch インスタンスに転送します。
注記パイプラインの 3 つのすべてのタイプのログをパイプラインに指定する必要があります (アプリケーション、インフラストラクチャー、および監査)。ログの種類を指定しない場合、それらのログは保存されず、失われます。
既存の
ClusterLogForwarderCR がある場合は、パイプラインを監査ログのデフォルト出力に追加します。デフォルトの出力を定義する必要はありません。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このパイプラインは、外部インスタンスに加えて監査ログを内部 Elasticsearch インスタンスに送信します。
7.3.2. ログ保持時間の設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの Elasticsearch ログストアがインフラストラクチャーログ、アプリケーションログ、監査ログなどの 3 つのログソースのインデックスを保持する期間を指定する 保持ポリシー を設定できます。
保持ポリシーを設定するには、ClusterLogging カスタムリソース (CR) に各ログソースの maxAge パラメーターを設定します。CR はこれらの値を Elasticsearch ロールオーバースケジュールに適用し、Elasticsearch がロールオーバーインデックスを削除するタイミングを決定します。
Elasticsearch はインデックスをロールオーバーし、インデックスが以下の条件のいずれかに一致する場合に現在のインデックスを移動し、新規インデックスを作成します。
-
インデックスは
ElasticsearchCR のrollover.maxAgeの値よりも古い値になります。 - インデックスサイズは、40 GB x プライマリーシャードの数よりも大きくなります。
- インデックスの doc 数は、40960 KB × プライマリーシャードの数よりも大きくなります。
Elasticsearch は、設定する保持ポリシーに基づいてロールオーバーインデックスを削除します。ログソースの保持ポリシーを作成しない場合、ログはデフォルトで 7 日後に削除されます。
前提条件
- Red HatOpenShift のロギングサブシステムと OpenShift Elasticsearch Operator がインストールされている必要があります。
手順
ログの保持時間を設定するには、以下を実行します。
ClusterLoggingCR を編集して、retentionPolicyパラメーターを追加するか、変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Elasticsearch が各ログソースを保持する時間を指定します。整数および時間の指定 (weeks(w)、hour(h/H)、minutes(m)、および seconds(s)) を入力します。たとえば、1 日の場合は
1dになります。maxAgeよりも古いログは削除されます。デフォルトで、ログは 7 日間保持されます。
Elasticsearchカスタムリソース (CR) で設定を確認できます。たとえば、Red Hat OpenShift Logging Operator は以下の
ElasticsearchCR を更新し、8 時間ごとにインフラストラクチャーログのアクティブなインデックスをロールオーバーし、ロールオーバーされたインデックスはロールオーバーの 7 日後に削除される設定を含む保持ポリシーを設定するとします。OpenShift Container Platform は 15 分ごとにチェックし、インデックスをロールオーバーする必要があるかどうかを判別します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 各ログソースについて、保持ポリシーは、そのソースのログを削除/ロールオーバーするタイミングを示します。
- 2
- OpenShift Container Platform がロールオーバーされたインデックスを削除する場合。この設定は、
ClusterLoggingCR に設定するmaxAgeになります。 - 3
- インデックスをロールオーバーする際に考慮する OpenShift Container Platform のインデックス期間。この値は、
ClusterLoggingCR に設定するmaxAgeに基づいて決定されます。 - 4
- OpenShift Container Platform がインデックスをロールオーバーする必要があるかどうかをチェックする場合。この設定はデフォルトであるため、変更できません。
注記ElasticsearchCR の変更はサポートされていません。保持ポリシーに対するすべての変更はClusterLoggingCR で行う必要があります。OpenShift Elasticsearch Operator は cron ジョブをデプロイし、
pollIntervalを使用してスケジュールされる定義されたポリシーを使用して各マッピングのインデックスをロールオーバーします。oc get cronjob
$ oc get cronjobCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE elasticsearch-im-app */15 * * * * False 0 <none> 4s elasticsearch-im-audit */15 * * * * False 0 <none> 4s elasticsearch-im-infra */15 * * * * False 0 <none> 4s
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE elasticsearch-im-app */15 * * * * False 0 <none> 4s elasticsearch-im-audit */15 * * * * False 0 <none> 4s elasticsearch-im-infra */15 * * * * False 0 <none> 4sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.3. ログストアの CPU およびメモリー要求の設定 リンクのコピーリンクがクリップボードにコピーされました!
それぞれのコンポーネント仕様は、CPU とメモリー要求の両方への調整を許可します。OpenShift Elasticsearch Operator は環境に適した値を設定するため、これらの値を手動で調整する必要はありません。
大規模なクラスターでは、Elasticsearch プロキシーコンテナーのデフォルトのメモリー制限が不十分な場合があり、これにより、プロキシーコンテナーが OOM による強制終了 (OOMKilled) が生じます。この問題が発生した場合は、Elasticsearch プロキシーのメモリー要求および制限を引き上げます。
各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境でのデプロイメントには推奨 されていません。実稼働環境で使用する場合は、デフォルトの 16Gi よりも小さい値を各 Pod に割り当てることはできません。Pod ごとに割り当て可能な最大値は 64Gi であり、この範囲の中で、できるだけ多くのメモリーを割り当てることを推奨します。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc edit ClusterLogging instance
$ oc edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 必要に応じて CPU およびメモリー要求を指定します。これらの値を空のままにすると、OpenShift Elasticsearch Operator はデフォルト値を設定します。これらのデフォルト値はほとんどのデプロイメントでは問題なく使用できるはずです。デフォルト値は、メモリー要求の場合は
16Giであり、CPU 要求の場合は1です。 - 2
- Pod が使用できるリソースの最大量。
- 3
- Pod のスケジュールに必要最小限のリソース。
- 4
- 必要に応じて Elasticsearch プロキシーの CPU およびメモリーの制限および要求を指定します。これらの値を空のままにすると、OpenShift Elasticsearch Operator はデフォルト値を設定します。これらのデフォルト値はほとんどのデプロイメントでは問題なく使用できるます。デフォルト値は、メモリー要求の場合は
256Mi、CPU 要求の場合は100mです。
Elasticsearch メモリーの量を調整するときは、要求 と 制限 の両方に同じ値を使用する必要があります。
以下に例を示します。
Kubernetes は一般的にはノードの設定に従い、Elasticsearch が指定された制限を使用することを許可しません。requests と limits に同じ値を設定することにより、Elasticseach が必要なメモリーを確実に使用できるようにします (利用可能なメモリーがノードにあることを前提とします)。
7.3.4. ログストアのレプリケーションポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch シャードをクラスター内の複数のデータノードにレプリケートする方法を定義できます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc edit clusterlogging instance
$ oc edit clusterlogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- シャードの冗長性ポリシーを指定します。変更の保存時に変更が適用されます。
- FullRedundancy:Elasticsearch は、各インデックスのプライマリーシャードをすべてのデータノードに完全にレプリケートします。これは最高レベルの安全性を提供しますが、最大量のディスクが必要となり、パフォーマンスは最低レベルになります。
- MultipleRedundancy:Elasticsearch は、各インデックスのプライマリーシャードをデータノードの半分に完全にレプリケートします。これは、安全性とパフォーマンス間の適切なトレードオフを提供します。
- SingleRedundancy:Elasticsearch は、各インデックスのプライマリーシャードのコピーを 1 つ作成します。2 つ以上のデータノードが存在する限り、ログは常に利用可能かつ回復可能です。5 以上のノードを使用する場合は、MultipleRedundancy よりもパフォーマンスが良くなります。このポリシーは、単一 Elasticsearch ノードのデプロイメントには適用できません。
- ZeroRedundancy:Elasticsearch は、プライマリーシャードのコピーを作成しません。ノードが停止または失敗した場合は、ログは利用不可となるか、失われる可能性があります。安全性よりもパフォーマンスを重視する場合や、独自のディスク/PVC バックアップ/復元ストラテジーを実装している場合は、このモードを使用できます。
インデックステンプレートのプライマリーシャードの数は Elasticsearch データノードの数と等しくなります。
7.3.5. Elasticsearch Pod のスケールダウン リンクのコピーリンクがクリップボードにコピーされました!
クラスター内の Elasticsearch Pod 数を減らすと、データ損失や Elasticsearch のパフォーマンスが低下する可能性があります。
スケールダウンする場合は、一度に 1 つの Pod 分スケールダウンし、クラスターがシャードおよびレプリカのリバランスを実行できるようにする必要があります。Elasticsearch のヘルスステータスが green に戻された後に、別の Pod でスケールダウンできます。
Elasticsearch クラスターが ZeroRedundancy に設定される場合は、Elasticsearch Pod をスケールダウンしないでください。
7.3.6. ログストアの永続ストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch には永続ストレージが必要です。ストレージが高速になると、Elasticsearch のパフォーマンスも高速になります。
NFS ストレージをボリュームまたは永続ボリュームを使用 (または Gluster などの NAS を使用する) ことは Elasticsearch ストレージではサポートされません。Lucene は NFS が指定しないファイルシステムの動作に依存するためです。データの破損およびその他の問題が発生する可能性があります。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
ClusterLoggingCR を編集してクラスターの各データノードが永続ボリューム要求 (PVC) にバインドされるように指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この例では、クラスターの各データノードが、200G の AWS General Purpose SSD (gp2) ストレージを要求する永続ボリューム要求 (PVC) にバインドされるように指定します。
永続ストレージにローカルボリュームを使用する場合は、LocalVolume オブジェクトの volumeMode: block で記述される raw ブロックボリュームを使用しないでください。Elasticsearch は raw ブロックボリュームを使用できません。
7.3.7. emptyDir ストレージのログストアの設定 リンクのコピーリンクがクリップボードにコピーされました!
ログストアで emptyDir を使用できます。これは、Pod のデータすべてが再起動時に失われる一時デプロイメントを作成します。
emptyDir を使用する場合は、ログストアが再起動するか、再デプロイされる場合にデータが失われます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
ClusterLoggingCR を編集して emptyDir を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.8. Elasticsearch クラスターのローリング再起動の実行 リンクのコピーリンクがクリップボードにコピーされました!
elasticsearch 設定マップまたは elasticsearch-* デプロイメント設定のいずれかを変更する際にローリング再起動を実行します。
さらにローリング再起動は、Elasticsearch Pod が実行されるノードで再起動が必要な場合に推奨されます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
クラスターのローリング再起動を実行するには、以下を実行します。
openshift-loggingプロジェクトに切り替えます。oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow Elasticsearch Pod の名前を取得します。
oc get pods -l component=elasticsearch-
$ oc get pods -l component=elasticsearch-Copy to Clipboard Copied! Toggle word wrap Toggle overflow コレクター Pod をスケールダウンして、Elasticsearch への新しいログの送信を停止します。
oc -n openshift-logging patch daemonset/collector -p '{"spec":{"template":{"spec":{"nodeSelector":{"logging-infra-collector": "false"}}}}}'$ oc -n openshift-logging patch daemonset/collector -p '{"spec":{"template":{"spec":{"nodeSelector":{"logging-infra-collector": "false"}}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform es_util ツールを使用してシャードの同期フラッシュを実行して、シャットダウンの前にディスクへの書き込みを待機している保留中の操作がないようにします。
oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query="_flush/synced" -XPOST
$ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query="_flush/synced" -XPOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc exec -c elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query="_flush/synced" -XPOST
$ oc exec -c elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query="_flush/synced" -XPOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"_shards":{"total":4,"successful":4,"failed":0},".security":{"total":2,"successful":2,"failed":0},".kibana_1":{"total":2,"successful":2,"failed":0}}{"_shards":{"total":4,"successful":4,"failed":0},".security":{"total":2,"successful":2,"failed":0},".kibana_1":{"total":2,"successful":2,"failed":0}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform es_util ツールを使用して、ノードを意図的に停止する際のシャードのバランシングを防ぎます。
oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "primaries" } }'$ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "primaries" } }'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc exec elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "primaries" } }'$ oc exec elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "primaries" } }'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"acknowledged":true,"persistent":{"cluster":{"routing":{"allocation":{"enable":"primaries"}}}},"transient":{"acknowledged":true,"persistent":{"cluster":{"routing":{"allocation":{"enable":"primaries"}}}},"transient":Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドが完了したら、ES クラスターのそれぞれのデプロイメントについて、以下を実行します。
デフォルトで、OpenShift Container Platform Elasticsearch クラスターはノードのロールアウトをブロックします。以下のコマンドを使用してロールアウトを許可し、Pod が変更を取得できるようにします。
oc rollout resume deployment/<deployment-name>
$ oc rollout resume deployment/<deployment-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc rollout resume deployment/elasticsearch-cdm-0-1
$ oc rollout resume deployment/elasticsearch-cdm-0-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
deployment.extensions/elasticsearch-cdm-0-1 resumed
deployment.extensions/elasticsearch-cdm-0-1 resumedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規 Pod がデプロイされます。Pod に準備状態のコンテナーがある場合は、次のデプロイメントに進むことができます。
oc get pods -l component=elasticsearch-
$ oc get pods -l component=elasticsearch-Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6k 2/2 Running 0 22h elasticsearch-cdm-5ceex6ts-2-f799564cb-l9mj7 2/2 Running 0 22h elasticsearch-cdm-5ceex6ts-3-585968dc68-k7kjr 2/2 Running 0 22h
NAME READY STATUS RESTARTS AGE elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6k 2/2 Running 0 22h elasticsearch-cdm-5ceex6ts-2-f799564cb-l9mj7 2/2 Running 0 22h elasticsearch-cdm-5ceex6ts-3-585968dc68-k7kjr 2/2 Running 0 22hCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントが完了したら、ロールアウトを許可しないように Pod をリセットします。
oc rollout pause deployment/<deployment-name>
$ oc rollout pause deployment/<deployment-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc rollout pause deployment/elasticsearch-cdm-0-1
$ oc rollout pause deployment/elasticsearch-cdm-0-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
deployment.extensions/elasticsearch-cdm-0-1 paused
deployment.extensions/elasticsearch-cdm-0-1 pausedCopy to Clipboard Copied! Toggle word wrap Toggle overflow Elasticsearch クラスターが
greenまたはyellow状態にあることを確認します。oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/health?pretty=true
$ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query=_cluster/health?pretty=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記直前のコマンドで使用した Elasticsearch Pod でロールアウトを実行した場合、Pod は存在しなくなっているため、ここで新規 Pod 名が必要になります。
以下に例を示します。
oc exec elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query=_cluster/health?pretty=true
$ oc exec elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query=_cluster/health?pretty=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 次に進む前に、このパラメーターが
greenまたはyellowであることを確認します。
- Elasticsearch 設定マップを変更した場合は、それぞれの Elasticsearch Pod に対してこれらの手順を繰り返します。
クラスターのすべてのデプロイメントがロールアウトされたら、シャードのバランシングを再度有効にします。
oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "all" } }'$ oc exec <any_es_pod_in_the_cluster> -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "all" } }'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc exec elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "all" } }'$ oc exec elasticsearch-cdm-5ceex6ts-1-dcd6c4c7c-jpw6 -c elasticsearch -- es_util --query="_cluster/settings" -XPUT -d '{ "persistent": { "cluster.routing.allocation.enable" : "all" } }'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいログが Elasticsearch に送信されるように、コレクター Pod をスケールアップします。
oc -n openshift-logging patch daemonset/collector -p '{"spec":{"template":{"spec":{"nodeSelector":{"logging-infra-collector": "true"}}}}}'$ oc -n openshift-logging patch daemonset/collector -p '{"spec":{"template":{"spec":{"nodeSelector":{"logging-infra-collector": "true"}}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.9. ログストアサービスのルートとしての公開 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat OpenShift のロギングサブシステムとともにデプロイされているログストアには、ロギングクラスターの外部からアクセスできません。データにアクセスするツールについては、ログストアへの外部アクセスのために re-encryption termination でルートを有効にすることができます。
re-encrypt ルート、OpenShift Container Platform トークンおよびインストールされたログストア CA 証明書を作成して、ログストアに外部からアクセスすることができます。次に、以下を含む cURL 要求でログストアサービスをホストするノードにアクセスします。
-
Authorization: Bearer ${token} - Elasticsearch reencrypt ルートおよび Elasticsearch API 要求
内部からは、ログストアクラスター IP を使用してログストアサービスにアクセスできます。これは、以下のコマンドのいずれかを使用して取得できます。
oc get service elasticsearch -o jsonpath={.spec.clusterIP} -n openshift-logging
$ oc get service elasticsearch -o jsonpath={.spec.clusterIP} -n openshift-logging
出力例
172.30.183.229
172.30.183.229
oc get service elasticsearch -n openshift-logging
$ oc get service elasticsearch -n openshift-logging
出力例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE elasticsearch ClusterIP 172.30.183.229 <none> 9200/TCP 22h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch ClusterIP 172.30.183.229 <none> 9200/TCP 22h
以下のようなコマンドを使用して、クラスター IP アドレスを確認できます。
oc exec elasticsearch-cdm-oplnhinv-1-5746475887-fj2f8 -n openshift-logging -- curl -tlsv1.2 --insecure -H "Authorization: Bearer ${token}" "https://172.30.183.229:9200/_cat/health"
$ oc exec elasticsearch-cdm-oplnhinv-1-5746475887-fj2f8 -n openshift-logging -- curl -tlsv1.2 --insecure -H "Authorization: Bearer ${token}" "https://172.30.183.229:9200/_cat/health"
出力例
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29 100 29 0 0 108 0 --:--:-- --:--:-- --:--:-- 108
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29 100 29 0 0 108 0 --:--:-- --:--:-- --:--:-- 108
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
- ログにアクセスできるようになるには、プロジェクトへのアクセスが必要です。
手順
ログストアを外部に公開するには、以下を実行します。
openshift-loggingプロジェクトに切り替えます。oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログストアから CA 証明書を抽出し、admin-ca ファイルに書き込みます。
oc extract secret/elasticsearch --to=. --keys=admin-ca
$ oc extract secret/elasticsearch --to=. --keys=admin-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
admin-ca
admin-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログストアサービスのルートを YAML ファイルとして作成します。
以下のように YAML ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 次の手順でログストア CA 証明書を追加するか、コマンドを使用します。一部の re-encrypt ルートで必要とされる
spec.tls.key、spec.tls.certificate、およびspec.tls.caCertificateパラメーターを設定する必要はありません。
以下のコマンドを実行して、前のステップで作成したルート YAML にログストア CA 証明書を追加します。
cat ./admin-ca | sed -e "s/^/ /" >> <file-name>.yaml
$ cat ./admin-ca | sed -e "s/^/ /" >> <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ルートを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
route.route.openshift.io/elasticsearch created
route.route.openshift.io/elasticsearch createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Elasticsearch サービスが公開されていることを確認します。
要求に使用されるこのサービスアカウントのトークンを取得します。
token=$(oc whoami -t)
$ token=$(oc whoami -t)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成した elasticsearch ルートを環境変数として設定します。
routeES=`oc get route elasticsearch -o jsonpath={.spec.host}`$ routeES=`oc get route elasticsearch -o jsonpath={.spec.host}`Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートが正常に作成されていることを確認するには、公開されたルート経由で Elasticsearch にアクセスする以下のコマンドを実行します。
curl -tlsv1.2 --insecure -H "Authorization: Bearer ${token}" "https://${routeES}"curl -tlsv1.2 --insecure -H "Authorization: Bearer ${token}" "https://${routeES}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のような出力が表示されます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4. ログビジュアライザーの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、Kibana を使用して、ロギングサブシステムによって収集されたログデータを表示します。
冗長性を確保するために Kibana をスケーリングし、Kibana ノードの CPU およびメモリーを設定することができます。
7.4.1. CPU およびメモリー制限の設定 リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステムコンポーネントを使用すると、CPU とメモリーの両方の制限を調整できます。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc -n openshift-logging edit ClusterLogging instance
$ oc -n openshift-logging edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4.2. ログビジュアライザーノードの冗長性のスケーリング リンクのコピーリンクがクリップボードにコピーされました!
冗長性を確保するために、ログビジュアライザーをホストする Pod をスケーリングできます。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc edit ClusterLogging instance
$ oc edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kibana ノードの数を指定します。
7.5. ロギングサブシステムストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch はメモリー集約型アプリケーションです。デフォルトのロギングサブシステムのインストールでは、メモリー要求とメモリー制限の両方に 16G のメモリーがデプロイされます。初期設定の OpenShift Container Platform ノードのセットは、Elasticsearch クラスターをサポートするのに十分な大きさではない場合があります。その場合、推奨されるサイズ以上のメモリーを使用して実行できるようにノードを OpenShift Container Platform クラスターに追加する必要があります。各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境には推奨されません。
7.5.1. Red Hat OpenShift のロギングサブシステムのストレージに関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリュームがそれぞれの Elasticsearch デプロイメント設定に必要です。OpenShift Container Platform では、これは永続ボリューム要求 (PVC) を使用して実行されます。
永続ストレージにローカルボリュームを使用する場合は、LocalVolume オブジェクトの volumeMode: block で記述される raw ブロックボリュームを使用しないでください。Elasticsearch は raw ブロックボリュームを使用できません。
OpenShift Elasticsearch Operator は Elasticsearch リソース名を使用して PVC に名前を付けます。
Fluentd は systemd ジャーナル および /var/log/containers/ から Elasticsearch にログを送信します。
Elasticsearch では、大規模なマージ操作を実行するのに十分なメモリーが必要です。十分なメモリーがない場合は、応答しなくなります。この問題を回避するには、必要なアプリケーションのログデータの量を評価し、空き容量の約 2 倍を割り当てます。
デフォルトで、ストレージ容量が 85% に達すると、Elasticsearch は新規データのノードへの割り当てを停止します。90% になると、Elasticsearch は可能な場合に既存のシャードをそのノードから他のノードに移動しようとします。ただし、空き容量のレベルが 85% 未満のノードがない場合、Elasticsearch は新規インデックスの作成を拒否し、ステータスは RED になります。
これらの基準値 (高い値および低い値を含む) は現行リリースにおける Elasticsearch のデフォルト値です。これらのデフォルト値は変更できます。アラートは同じデフォルト値を使用しますが、これらの値をアラートで変更することはできません。
7.6. ロギングサブシステムコンポーネントの CPU およびメモリー制限の設定 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて、ロギングサブシステムコンポーネントごとに CPU とメモリーの両方の制限を設定できます。
7.6.1. CPU およびメモリー制限の設定 リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステムコンポーネントを使用すると、CPU とメモリーの両方の制限を調整できます。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc -n openshift-logging edit ClusterLogging instance
$ oc -n openshift-logging edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.7. 容認を使用した OpenShift Logging Pod 配置の制御 リンクのコピーリンクがクリップボードにコピーされました!
taint と toleration を使用することで、ロギングシステム pod が特定のノードで実行され、その他のワークロードがそれらのノードで実行されないようにします。
テイントおよび容認は、単純な key:value のペアです。ノードのテイントはノードに対し、テイントを容認しないすべての Pod を拒否するよう指示します。
key は最大 253 文字までの文字列で、value は最大 63 文字までの文字列になります。文字列は文字または数字で開始する必要があり、文字、数字、ハイフン、ドットおよびアンダースコアを含めることができます。
toleration のあるサンプルロギングサブシステム CR
7.7.1. 容認を使用したログストア Pod の配置の制御 リンクのコピーリンクがクリップボードにコピーされました!
ログストア Pod が実行するノードを制御し、Pod の容認を使用して他のワークロードがそれらのノードを使用しないようにできます。
ClusterLogging カスタムリソース (CR) を使用して容認をログストア Pod に適用し、テイントをノード仕様でノードに適用します。ノードのテイントは、テイントを容認しないすべての Pod を拒否するようノードに指示する key:value pair です。他の Pod にはない特定の key:value ペアを使用することで、ログストア Pod のみがそのノード上で実行されるようにできます。
デフォルトで、ログストア Pod には以下の容認があります。
tolerations: - effect: "NoExecute" key: "node.kubernetes.io/disk-pressure" operator: "Exists"
tolerations:
- effect: "NoExecute"
key: "node.kubernetes.io/disk-pressure"
operator: "Exists"
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
以下のコマンドを使用して、OpenShift Logging Pod をスケジュールするノードにテイントを追加します。
oc adm taint nodes <node-name> <key>=<value>:<effect>
$ oc adm taint nodes <node-name> <key>=<value>:<effect>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc adm taint nodes node1 elasticsearch=node:NoExecute
$ oc adm taint nodes node1 elasticsearch=node:NoExecuteCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、テイントをキー
elasticsearch、値node、およびテイントの効果NoExecuteのあるnode1に配置します。NoExecuteeffect のノードは、テイントに一致する Pod のみをスケジュールし、一致しない既存の Pod を削除します。ClusterLoggingCR のlogstoreセクションを編集し、Elasticsearch Pod の容認を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この容認は、oc adm taint コマンドで作成されたテイントと一致します。この容認のある Pod は node1 にスケジュールできます。
7.7.2. 容認を使用したログビジュアライザー Pod の配置の制御 リンクのコピーリンクがクリップボードにコピーされました!
ログビジュアライザー Pod が実行されるノードを制御し、Pod の容認を使用して他のワークロードがそれらのノードを使用しないようにできます。
ClusterLogging カスタムリソース (CR) を使用して容認をログビジュアライザー Pod に適用し、テイントをノード仕様でノードに適用します。ノードのテイントは、テイントを容認しないすべての Pod を拒否するようノードに指示する key:value pair です。他の Pod にはない特定の key:value ペアを使用することで、Kibana Pod のみをそのノード上で実行できます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
以下のコマンドを使用して、ログビジュアライザー Pod をスケジュールする必要のあるノードにテイントを追加します。
oc adm taint nodes <node-name> <key>=<value>:<effect>
$ oc adm taint nodes <node-name> <key>=<value>:<effect>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc adm taint nodes node1 kibana=node:NoExecute
$ oc adm taint nodes node1 kibana=node:NoExecuteCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、テイントをキー
kibana、値node、およびテイントの効果NoExecuteのあるnode1に配置します。NoExecuteテイント effect を使用する必要があります。NoExecuteは、テイントに一致する Pod のみをスケジュールし、一致しない既存の Pod を削除します。ClusterLoggingCR のvisualizationセクションを編集し、Kibana Pod の容認を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この容認は、oc adm taint コマンドで作成されたテイントと一致します。この容認のある Pod は、node1 にスケジュールできます。
7.7.3. 容認を使用したログコレクター Pod 配置の制御 リンクのコピーリンクがクリップボードにコピーされました!
ロギングコレクター Pod が実行するノードを確認し、Pod の容認を使用して他のワークロードがそれらのノードを使用しないようにできます。
容認を ClusterLogging カスタムリソース (CR) でロギングコレクター Pod に適用し、テイントをノード仕様でノードに適用します。テイントおよび容認を使用すると、Pod がメモリーや CPU などの問題によってエビクトされないようにできます。
デフォルトで、ロギングコレクター Pod には以下の容認があります。
tolerations: - key: "node-role.kubernetes.io/master" operator: "Exists" effect: "NoExecute"
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoExecute"
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
以下のコマンドを使用して、ロギングコレクター Pod がロギングコレクター Pod をスケジュールする必要のあるノードにテイントを追加します。
oc adm taint nodes <node-name> <key>=<value>:<effect>
$ oc adm taint nodes <node-name> <key>=<value>:<effect>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc adm taint nodes node1 collector=node:NoExecute
$ oc adm taint nodes node1 collector=node:NoExecuteCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、テイントをキー
collector、値node、およびテイント effectNoExecuteのあるnode1に配置します。NoExecuteテイント effect を使用する必要があります。NoExecuteは、テイントに一致する Pod のみをスケジュールし、一致しない既存の Pod を削除します。ClusterLoggingカスタムリソース (CR) のcollectionスタンザを編集して、ロギングコレクター Pod の容認を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この容認は、oc adm taint コマンドで作成されたテイントと一致します。この容認のある Pod は、node1 にスケジュールできます。
7.8. ノードセレクターを使用したロギングサブシステムリソースの移動 リンクのコピーリンクがクリップボードにコピーされました!
ノードセレクターを使用して Elasticsearch、Kibana Pod を異なるノードにデプロイできます。
7.8.1. OpenShift Logging リソースの移動 リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch および Kibana などのロギングシステムコンポーネントの pod を異なるノードにデプロイするように Cluster Logging Operator を設定できます。Cluster Logging Operator Pod をインストールした場所から移動することはできません。
たとえば、Elasticsearch Pod の CPU、メモリーおよびディスクの要件が高いために、この Pod を別のノードに移動できます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。これらの機能はデフォルトでインストールされません。
手順
openshift-loggingプロジェクトでClusterLoggingカスタムリソース (CR) を編集します。oc edit ClusterLogging instance
$ oc edit ClusterLogging instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
コンポーネントが移動したことを確認するには、oc get pod -o wide コマンドを使用できます。
以下に例を示します。
Kibana Pod を
ip-10-0-147-79.us-east-2.compute.internalノードから移動する必要がある場合は、以下を実行します。oc get pod kibana-5b8bdf44f9-ccpq9 -o wide
$ oc get pod kibana-5b8bdf44f9-ccpq9 -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-5b8bdf44f9-ccpq9 2/2 Running 0 27s 10.129.2.18 ip-10-0-147-79.us-east-2.compute.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-5b8bdf44f9-ccpq9 2/2 Running 0 27s 10.129.2.18 ip-10-0-147-79.us-east-2.compute.internal <none> <none>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kibana Pod を、専用インフラストラクチャーノードである
ip-10-0-139-48.us-east-2.compute.internalノードに移動する必要がある場合は、以下を実行します。oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードには
node-role.kubernetes.io/infra: ''ラベルがあることに注意してください。oc get node ip-10-0-139-48.us-east-2.compute.internal -o yaml
$ oc get node ip-10-0-139-48.us-east-2.compute.internal -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kibana Pod を移動するには、
ClusterLoggingCR を編集してノードセレクターを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ノード仕様のラベルに一致するノードセレクターを追加します。
CR を保存した後に、現在の Kibana Pod は終了し、新規 Pod がデプロイされます。
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規 Pod が
ip-10-0-139-48.us-east-2.compute.internalノードに置かれます。oc get pod kibana-7d85dcffc8-bfpfp -o wide
$ oc get pod kibana-7d85dcffc8-bfpfp -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-7d85dcffc8-bfpfp 2/2 Running 0 43s 10.131.0.22 ip-10-0-139-48.us-east-2.compute.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-7d85dcffc8-bfpfp 2/2 Running 0 43s 10.131.0.22 ip-10-0-139-48.us-east-2.compute.internal <none> <none>Copy to Clipboard Copied! Toggle word wrap Toggle overflow しばらくすると、元の Kibana Pod が削除されます。
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.9. systemd-journald および Fluentd の設定 リンクのコピーリンクがクリップボードにコピーされました!
Fluentd のジャーナルからの読み取りや、ジャーナルのデフォルト設定値は非常に低く、ジャーナルがシステムサービスからのロギング速度に付いていくことができないためにジャーナルエントリーが失われる可能性があります。
ジャーナルでエントリーが失われるのを防ぐことができるように RateLimitIntervalSec=30s および RateLimitBurst=10000 (必要な場合はさらに高い値) を設定することが推奨されます。
7.9.1. OpenShift Logging 用の systemd-journald の設定 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトのスケールアップ時に、デフォルトのロギング環境にはいくらかの調整が必要になる場合があります。
たとえば、ログが見つからない場合は、journald の速度制限を引き上げる必要がある場合があります。一定期間保持するメッセージ数を調整して、OpenShift Logging がログをドロップせずに過剰なリソースを使用しないようにすることができます。
また、ログを圧縮する必要があるかどうか、ログを保持する期間、ログを保存する方法、ログを保存するかどうかやその他の設定を決定することもできます。
手順
必要な設定で
/etc/systemd/journald.confファイルが含まれる Butane 設定ファイル40-worker-custom -journald.buを作成します。注記Butane の詳細は、Butane を使用したマシン設定の作成を参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
journald.confファイルのパーミッションを設定します。0644パーミッションを設定することが推奨されます。- 2
- ログがファイルシステムに書き込まれる前にそれらのログを圧縮するかどうかを指定します。
yesを指定してメッセージを圧縮するか、noを指定して圧縮しないようにします。デフォルトはyesです。 - 3
- ログメッセージを転送するかどうかを設定します。それぞれについて、デフォルトで
noに設定されます。以下を指定します。-
ForwardToConsole: ログをシステムコンソールに転送します。 -
ForwardToKsmg: ログをカーネルログバッファーに転送します。 -
ForwardToSyslog: syslog デーモンに転送します。 -
ForwardToWall: メッセージを wall メッセージとしてすべてのログインしているユーザーに転送します。
-
- 4
- ジャーナルエントリーを保存する最大時間を指定します。数字を入力して秒数を指定します。または、year、month、week、day、h または m などの単位を含めます。無効にするには
0を入力します。デフォルトは1monthです。 - 5
- レート制限を設定します。
RateLimitIntervalSecで定義される期間に、RateLimitBurstで指定される以上のログが受信される場合、この期間内の追加のメッセージはすべてこの期間が終了するまでにドロップされます。デフォルト値であるRateLimitIntervalSec=30sおよびRateLimitBurst=10000を設定することが推奨されます。 - 6
- ログの保存方法を指定します。デフォルトは
persistentです。-
volatile: ログを/var/log/journal/のメモリーに保存します。 -
persistent: ログを/var/log/journal/のディスクに保存します。systemd は存在しない場合はディレクトリーを作成します。 -
auto: ディレクトリーが存在する場合に、ログを/var/log/journal/に保存します。存在しない場合は、systemd はログを/run/systemd/journalに一時的に保存します。 -
none: ログを保存しません。systemd はすべてのログをドロップします。
-
- 7
- ERR、WARNING、NOTICE、INFO、および DEBUG ログについてジャーナルファイルをディスクに同期させるまでのタイムアウトを指定します。 systemd は、CRIT、ALERT、または EMERG ログの受信後すぐに同期を開始します。デフォルトは
1sです。 - 8
- ジャーナルが使用できる最大サイズを指定します。デフォルトは
8Gです。 - 9
- systemd が残す必要のあるディスク領域のサイズを指定します。デフォルトは
20%です。 - 10
/var/log/journalに永続的に保存される個別のジャーナルファイルの最大サイズを指定します。デフォルトは10Mです。注記レート制限を削除する場合、システムロギングデーモンの CPU 使用率が高くなることがあります。 以前はスロットリングされていた可能性のあるメッセージが処理されるためです。
systemd 設定の詳細については、https://www.freedesktop.org/software/systemd/man/journald.conf.html を参照してください。このページに一覧表示されるデフォルト設定は OpenShift Container Platform には適用されない可能性があります。
Butane を使用して、ノードに配信される設定を含む
MachineConfigオブジェクトファイル (40-worker-custom-journald.yaml) を生成します。butane 40-worker-custom-journald.bu -o 40-worker-custom-journald.yaml
$ butane 40-worker-custom-journald.bu -o 40-worker-custom-journald.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow マシン設定を適用します。以下に例を示します。
oc apply -f 40-worker-custom-journald.yaml
$ oc apply -f 40-worker-custom-journald.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーは新規の
MachineConfigオブジェクトを検出し、新規のrendered-worker-<hash>バージョンを生成します。新規のレンダリングされた設定の各ノードへのロールアウトのステータスをモニターします。
oc describe machineconfigpool/worker
$ oc describe machineconfigpool/workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.10. メンテナンスとサポート リンクのコピーリンクがクリップボードにコピーされました!
7.10.1. サポートされる設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift のロギングサブシステムを設定するためにサポートされている方法は、このドキュメントで説明されているオプションを使用して設定することです。サポートされていない他の設定は使用しないでください。設定のパラダイムが OpenShift Container Platform リリース間で変更される可能性があり、このような変更は、設定のすべての可能性が制御されている場合のみ適切に対応できます。本書で説明されている設定以外の設定を使用する場合、OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator が差分を調整するため、変更内容は失われます。Operator はデフォルトで定義された状態にすべて戻します。
OpenShift Container Platform ドキュメントで説明されていない設定を実行する 必要がある 場合、Red Hat OpenShift Logging Operator または OpenShift Elasticsearch Operator を Unmanaged (管理外) に設定する 必要があります。管理外の OpenShift Logging 環境は サポート外 であり、OpenShift Logging を Managed に戻すまで変更を受信しません。
7.10.2. サポートされない設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のコンポーネントを変更するには、Red Hat OpenShift Logging Operator を Unmanaged (管理外) の状態に設定する必要があります。
-
ElasticsearchCR - Kibana デプロイメント
-
fluent.confファイル - Fluentd デーモンセット
以下のコンポーネントを変更するには、OpenShift Elasticsearch Operator を Unmanaged(管理外) の状態に設定する必要があります。
- Elasticsearch デプロイメントファイル。
明示的にサポート対象外とされているケースには、以下が含まれます。
- デフォルトのログローテーションの設定。デフォルトのログローテーション設定は変更できません。
-
収集したログの場所の設定。ログコレクターの出力ファイルの場所を変更することはできません。デフォルトは
/var/log/fluentd/fluentd.logです。 - ログコレクションのスロットリング。ログコレクターによってログが読み取られる速度を調整して減速することはできません。
- 環境変数を使用したロギングコレクターの設定。環境変数を使用してログコレクターを変更することはできません。
- ログコレクターによってログを正規化する方法の設定。デフォルトのログの正規化を変更することはできません。
7.10.3. 管理外の Operator のサポートポリシー リンクのコピーリンクがクリップボードにコピーされました!
Operator の 管理状態 は、Operator が設計通りにクラスター内の関連するコンポーネントのリソースをアクティブに管理しているかどうかを定めます。Operator が unmanaged 状態に設定されていると、これは設定の変更に応答せず、更新を受信しません。
これは非実稼働クラスターやデバッグ時に便利ですが、管理外の状態の Operator はサポートされず、クラスター管理者は個々のコンポーネント設定およびアップグレードを完全に制御していることを前提としています。
Operator は以下の方法を使用して管理外の状態に設定できます。
個別の Operator 設定
個別の Operator には、それらの設定に
managementStateパラメーターがあります。これは Operator に応じてさまざまな方法でアクセスできます。たとえば、Red Hat OpenShift Logging Operator は管理するカスタムリソース (CR) を変更することによってこれを実行しますが、Cluster Samples Operator はクラスター全体の設定リソースを使用します。managementStateパラメーターをUnmanagedに変更する場合、Operator はそのリソースをアクティブに管理しておらず、コンポーネントに関連するアクションを取らないことを意味します。Operator によっては、クラスターが破損し、手動リカバリーが必要になる可能性があるため、この管理状態に対応しない可能性があります。警告個別の Operator を
Unmanaged状態に変更すると、特定のコンポーネントおよび機能がサポート対象外になります。サポートを継続するには、報告された問題をManaged状態で再現する必要があります。Cluster Version Operator (CVO) のオーバーライド
spec.overridesパラメーターを CVO の設定に追加すると、管理者はコンポーネントの CVO の動作に対してオーバーライドの一覧を追加できます。コンポーネントのspec.overrides[].unmanagedパラメーターをtrueに設定すると、クラスターのアップグレードがブロックされ、CVO のオーバーライドが設定された後に管理者にアラートが送信されます。Disabling ownership via cluster version overrides prevents upgrades. Please remove overrides before continuing.
Disabling ownership via cluster version overrides prevents upgrades. Please remove overrides before continuing.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告CVO のオーバーライドを設定すると、クラスター全体がサポートされない状態になります。サポートを継続するには、オーバーライドを削除した後に、報告された問題を再現する必要があります。
第8章 LokiStack を使用したロギング リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステムのドキュメントでは、LokiStack はロギングサブシステムでサポートされている Loki と Web プロキシーと OpenShift Container Platform 認証統合の組み合わせを指します。LokiStack のプロキシーは、OpenShift Container Platform 認証を使用してマルチテナンシーを適用します。Loki では、ログストアを個別のコンポーネントまたは外部ストアと呼んでいます。
Loki は、水平方向にスケーラブルで可用性の高いマルチテナントログ集約システムであり、現在、ロギングサブシステムのログストアとして Elasticsearch の代替として提供されています。Elasticsearch は、取り込み中に受信ログレコードを完全にインデックス化します。Loki は、取り込み中にいくつかの固定ラベルのみをインデックスに登録し、ログが保存されるまで、より複雑な解析が延期されるのでLoki がより迅速にログを収集できるようになります。LogQL ログクエリー言語を使用して Loki にクエリー を実行できます。
8.1. デプロイメントのサイズ リンクのコピーリンクがクリップボードにコピーされました!
Loki のサイズは N<x>.<size> の形式に従います。<N> はインスタンスの数を、<size> はパフォーマンスの機能を指定します。
1x.extra-small はデモ用であり、サポートされていません。
| 1x.extra-small | 1x.small | 1x.medium | |
|---|---|---|---|
| データ転送 | デモ使用のみ。 | 500GB/day | 2TB/日 |
| 1 秒あたりのクエリー数 (QPS) | デモ使用のみ。 | 200 ミリ秒で 25 - 50 QPS | 200 ミリ秒で 25 ~ 75 QPS |
| レプリケーション係数 | なし | 2 | 3 |
| 合計 CPU 要求 | 仮想 CPU 5 個 | 仮想 CPU 36 個 | 仮想 CPU 54 個 |
| 合計メモリー要求 | 7.5Gi | 63Gi | 139Gi |
| ディスク要求の合計 | 150Gi | 300Gi | 450Gi |
8.1.1. サポート対象の API カスタムリソース定義 リンクのコピーリンクがクリップボードにコピーされました!
LokiStack は開発中で、現在すべての API がサポートされているわけではありません。
| CustomResourceDefinition (CRD) | ApiVersion | サポートの状態 |
|---|---|---|
| LokiStack | lokistack.loki.grafana.com/v1 | 5.5 でサポート |
| RulerConfig | rulerconfig.loki.grafana/v1beta1 | テクノロジープレビュー |
| AlertingRule | alertingrule.loki.grafana/v1beta1 | テクノロジープレビュー |
| RecordingRule | recordingrule.loki.grafana/v1beta1 | テクノロジープレビュー |
RulerConfig、AlertingRule、RecordingRule カスタムリソース定義 (CRD) の使用は、テクノロジープレビュー機能のみとなっています。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
8.2. Lokistack のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して LokiStack をデプロイできます。
前提条件
- Red Hat OpenShift Operator 5.5 以降のロギングサブシステム
- 対応ログストア (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)
手順
Loki OperatorOperator をインストールします。- OpenShift Container Platform Web コンソールで、Operators → OperatorHub をクリックします。
- 使用可能な Operator のリストから Loki Operator を選択し、Install をクリックします。
- Installation Mode で、All namespaces on the cluster を選択します。
Installed Namespace で、openshift-operators-redhat を選択します。
openshift-operators-redhatnamespace を指定する必要があります。openshift-operatorsnamespace には信頼されていないコミュニティー Operator が含まれる可能性があり、OpenShift Container Platform メトリックと同じ名前でメトリックを公開する可能性があるため、これによって競合が生じる可能性があります。Enable operator recommended cluster monitoring on this namespace を選択します。
このオプションは、namespace オブジェクトに
openshift.io/cluster-monitoring: "true"ラベルを設定します。クラスターモニタリングがopenshift-operators-redhatnamespace を収集できるように、このオプションを選択する必要があります。Approval Strategy を選択します。
- Automatic ストラテジーにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。
- Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
- Loki Operator がインストールされていることを確認します。Operators→ Installed Operators ページにアクセスして、Loki Operator を探します。
- Loki Operator がすべてのプロジェクトで Succeeded の Status でリストされていることを確認します。
access_key_idフィールドとaccess_key_secretフィールドを使用して AWS 認証情報とbucketnames、endpoint、およびregionを指定し、オブジェクトストレージの場所を定義するSecretYAML ファイルを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow LokiStackカスタムリソース (CR) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow LokiStackCR を適用します。oc apply -f logging-loki.yaml
$ oc apply -f logging-loki.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLoggingカスタムリソース (CR) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLoggingCR を適用します。oc apply -f cr-lokistack.yaml
$ oc apply -f cr-lokistack.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow RedHat OpenShift ログコンソールプラグインを有効にします。
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators をクリックします。
- RedHat OpenShift Logging Operator を選択します。
- コンソールプラグインで 無効 をクリックします。
-
有効、保存 の順に選択します。この変更により、
openshift-consolePod が再起動されます。 - Pod の再起動後、Web コンソールの更新が利用可能であるという通知を受け取り、更新するよう求められます。
- Web コンソールを更新したら、左側のメインメニューから 監視 をクリックします。Logs の新しいオプションが利用可能です。
8.3. ログの LokiStack への転送 リンクのコピーリンクがクリップボードにコピーされました!
LokiStack ゲートウェイへのログ転送を設定するには、ClusterLogging カスタムリソース (CR) を作成する必要があります。
前提条件
- Red Hat OpenShift バージョン 5.5 以降のログサブシステムがクラスターにインストールされている。
- Loki Operator がクラスターにインストールされている。
手順
ClusterLoggingカスタムリソース (CR) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3.1. Loki レート制限エラーのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Log Forwarder API がレート制限を超える大きなメッセージブロックを Loki に転送すると、Loki により、レート制限 (429) エラーが生成されます。
これらのエラーは、通常の動作中に発生する可能性があります。たとえば、すでにいくつかのログがあるクラスターにログサブシステムを追加する場合、ログサブシステムが既存のログエントリーをすべて取り込もうとするとレート制限エラーが発生する可能性があります。この場合、新しいログの追加速度が合計レート制限よりも低い場合、履歴データは最終的に取り込まれ、ユーザーの介入を必要とせずにレート制限エラーが解決されます。
レート制限エラーが引き続き発生する場合は、LokiStack カスタムリソース (CR) を変更することで問題を解決できます。
LokiStack CR は、Grafana がホストする Loki では利用できません。このトピックは、Grafana がホストする Loki サーバーには適用されません。
条件
- Log Forwarder API は、ログを Loki に転送するように設定されている。
システムは、次のような 2MB を超えるメッセージのブロックを Loki に送信する。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -n openshift-logging -l component=collectorと入力すると、クラスター内のコレクターログに、次のいずれかのエラーメッセージを含む行が表示されます。429 Too Many Requests Ingestion rate limit exceeded
429 Too Many Requests Ingestion rate limit exceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vector エラーメッセージの例
2023-08-25T16:08:49.301780Z WARN sink{component_kind="sink" component_id=default_loki_infra component_type=loki component_name=default_loki_infra}: vector::sinks::util::retries: Retrying after error. error=Server responded with an error: 429 Too Many Requests internal_log_rate_limit=true2023-08-25T16:08:49.301780Z WARN sink{component_kind="sink" component_id=default_loki_infra component_type=loki component_name=default_loki_infra}: vector::sinks::util::retries: Retrying after error. error=Server responded with an error: 429 Too Many Requests internal_log_rate_limit=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Fluentd エラーメッセージの例
2023-08-30 14:52:15 +0000 [warn]: [default_loki_infra] failed to flush the buffer. retry_times=2 next_retry_time=2023-08-30 14:52:19 +0000 chunk="604251225bf5378ed1567231a1c03b8b" error_class=Fluent::Plugin::LokiOutput::LogPostError error="429 Too Many Requests Ingestion rate limit exceeded for user infrastructure (limit: 4194304 bytes/sec) while attempting to ingest '4082' lines totaling '7820025' bytes, reduce log volume or contact your Loki administrator to see if the limit can be increased\n"
2023-08-30 14:52:15 +0000 [warn]: [default_loki_infra] failed to flush the buffer. retry_times=2 next_retry_time=2023-08-30 14:52:19 +0000 chunk="604251225bf5378ed1567231a1c03b8b" error_class=Fluent::Plugin::LokiOutput::LogPostError error="429 Too Many Requests Ingestion rate limit exceeded for user infrastructure (limit: 4194304 bytes/sec) while attempting to ingest '4082' lines totaling '7820025' bytes, reduce log volume or contact your Loki administrator to see if the limit can be increased\n"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このエラーは受信側にも表示されます。たとえば、LokiStack 取り込み Pod で以下を行います。
Loki 取り込みエラーメッセージの例
level=warn ts=2023-08-30T14:57:34.155592243Z caller=grpc_logging.go:43 duration=1.434942ms method=/logproto.Pusher/Push err="rpc error: code = Code(429) desc = entry with timestamp 2023-08-30 14:57:32.012778399 +0000 UTC ignored, reason: 'Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for stream
level=warn ts=2023-08-30T14:57:34.155592243Z caller=grpc_logging.go:43 duration=1.434942ms method=/logproto.Pusher/Push err="rpc error: code = Code(429) desc = entry with timestamp 2023-08-30 14:57:32.012778399 +0000 UTC ignored, reason: 'Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for streamCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
LokiStackCR のingestionBurstSizeおよびingestionRateフィールドを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ingestionBurstSizeフィールドは、ディストリビューターレプリカごとに最大ローカルレート制限サンプルサイズを MB 単位で定義します。この値はハードリミットです。この値を、少なくとも 1 つのプッシュリクエストで想定される最大ログサイズに設定します。ingestionBurstSize値より大きい単一リクエストは使用できません。- 2
ingestionRateフィールドは、1 秒あたりに取り込まれるサンプルの最大量 (MB 単位) に対するソフト制限です。ログのレートが制限を超えているにもかかわらず、コレクターがログの送信を再試行すると、レート制限エラーが発生します。合計平均が制限よりも少ない場合に限り、システムは回復し、ユーザーの介入なしでエラーが解決されます。
第9章 リソースのログの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) および Web コンソールを使用して、ビルド、デプロイメント、および Pod などの各種リソースのログを表示できます。
リソースログは、制限されたログ表示機能を提供するデフォルトの機能です。ログの取得および表示のエクスペリエンスを強化するには、OpenShift Logging をインストールすることが推奨されます。ロギングシステムは、ノードシステムの監査ログ、アプリケーションコンテナーログ、およびインフラストラクチャーログなどの OpenShift Container Platform クラスターからのすべてのログを専用のログストアに集計します。次に、Kibana インターフェイス を使用してログデータをクエリーし、検出し、可視化できます。リソースログは、ロギングサブシステムのログストアにアクセスしません。
9.1. リソースログの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) および Web コンソールで、各種リソースのログを表示できます。ログの末尾から読み取られるログ。
前提条件
- OpenShift CLI (oc) へのアクセス。
手順 (UI)
OpenShift Container Platform コンソールで Workloads → Pods に移動するか、調査するリソースから Pod に移動します。
注記ビルドなどの一部のリソースには、直接クエリーする Pod がありません。このような場合は、リソースの Details ページで Logs リンクを特定できます。
- ドロップダウンメニューからプロジェクトを選択します。
- 調査する Pod の名前をクリックします。
- Logs をクリックします。
手順 (CLI)
特定の Pod のログを表示します。
oc logs -f <pod_name> -c <container_name>
$ oc logs -f <pod_name> -c <container_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
-f- オプション: ログに書き込まれている内容に沿って出力することを指定します。
<pod_name>- Pod の名前を指定します。
<container_name>- オプション: コンテナーの名前を指定します。Pod に複数のコンテナーがある場合は、コンテナー名を指定する必要があります。
以下に例を示します。
oc logs ruby-58cd97df55-mww7r
$ oc logs ruby-58cd97df55-mww7rCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -f ruby-57f7f4855b-znl92 -c ruby
$ oc logs -f ruby-57f7f4855b-znl92 -c rubyCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログファイルの内容が出力されます。
特定のリソースのログを表示します。
oc logs <object_type>/<resource_name>
$ oc logs <object_type>/<resource_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- リソースタイプおよび名前を指定します。
以下に例を示します。
oc logs deployment/ruby
$ oc logs deployment/rubyCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログファイルの内容が出力されます。
第10章 Kibana を使用したクラスターログの表示 リンクのコピーリンクがクリップボードにコピーされました!
ロギングサブシステムには、収集されたログデータを視覚化するための Web コンソールが含まれています。現時点で、OpenShift Container Platform では、可視化できるように Kibana コンソールをデプロイします。
ログビジュアライザーを使用して、データで以下を実行できます。
- Discover タブを使用してデータを検索し、参照します。
- Visualize タブを使用してデータのグラフを表示し、データをマップします。
- Dashboard タブを使用してカスタムダッシュボードを作成し、表示します。
Kibana インターフェイスの使用および設定は、このドキュメントでは扱いません。詳細については、Kibana ドキュメント を参照してください。
監査ログは、デフォルトでは内部 OpenShift Container Platform Elasticsearch インスタンスに保存されません。Kibana で監査ログを表示するには、ログ転送 API を使用して、監査ログの default 出力を使用するパイプラインを設定する必要があります。
10.1. Kibana インデックスパターンの定義 リンクのコピーリンクがクリップボードにコピーされました!
インデックスパターンは、可視化する必要のある Elasticsearch インデックスを定義します。Kibana でデータを確認し、可視化するには、インデックスパターンを作成する必要があります。
前提条件
Kibana で infra および audit インデックスを表示するには、ユーザーには
cluster-adminロール、cluster-readerロール、または両方のロールが必要です。デフォルトのkubeadminユーザーには、これらのインデックスを表示するための適切なパーミッションがあります。default、kube-およびopenshift-プロジェクトで Pod およびログを表示できる場合に、これらのインデックスにアクセスできるはずです。以下のコマンドを使用して、現在のユーザーが適切なパーミッションを持っているかどうかを確認できます。oc auth can-i get pods/log -n <project>
$ oc auth can-i get pods/log -n <project>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
yes
yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記監査ログは、デフォルトでは内部 OpenShift Container Platform Elasticsearch インスタンスに保存されません。Kibana で監査ログを表示するには、ログ転送 API を使用して監査ログの
default出力を使用するパイプラインを設定する必要があります。- Elasticsearch ドキュメントは、インデックスパターンを作成する前にインデックス化する必要があります。これは自動的に実行されますが、新規または更新されたクラスターでは数分の時間がかかる可能性があります。
手順
Kibana でインデックスパターンを定義し、ビジュアライゼーションを作成するには、以下を実行します。
-
OpenShift Container Platform コンソールで、Application Launcher
をクリックし、Logging を選択します。
Management → Index Patterns → Create index pattern をクリックして Kibana インデックスパターンを作成します。
-
各ユーザーは、プロジェクトのログを確認するために、Kibana に初めてログインする際にインデックスパターンを手動で作成する必要があります。ユーザーは
appという名前のインデックスパターンを作成し、@timestamp時間フィールドを使用してコンテナーログを表示する必要があります。 -
管理ユーザーはそれぞれ、最初に Kibana にログインする際に、
@timestamp時間フィールドを使用してapp、infraおよびauditインデックスのインデックスパターンを作成する必要があります。
-
各ユーザーは、プロジェクトのログを確認するために、Kibana に初めてログインする際にインデックスパターンを手動で作成する必要があります。ユーザーは
- 新規インデックスパターンから Kibana のビジュアライゼーション (Visualization) を作成します。
10.2. Kibana でのクラスターログの表示 リンクのコピーリンクがクリップボードにコピーされました!
Kibana Web コンソールでクラスターのログを表示します。Kibana でデータを表示し、可視化する方法は、このドキュメントでは扱いません。詳細は、Kibana ドキュメント を参照してください。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
- Kibana インデックスパターンが存在する。
Kibana で infra および audit インデックスを表示するには、ユーザーには
cluster-adminロール、cluster-readerロール、または両方のロールが必要です。デフォルトのkubeadminユーザーには、これらのインデックスを表示するための適切なパーミッションがあります。default、kube-およびopenshift-プロジェクトで Pod およびログを表示できる場合に、これらのインデックスにアクセスできるはずです。以下のコマンドを使用して、現在のユーザーが適切なパーミッションを持っているかどうかを確認できます。oc auth can-i get pods/log -n <project>
$ oc auth can-i get pods/log -n <project>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
yes
yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記監査ログは、デフォルトでは内部 OpenShift Container Platform Elasticsearch インスタンスに保存されません。Kibana で監査ログを表示するには、ログ転送 API を使用して監査ログの
default出力を使用するパイプラインを設定する必要があります。
手順
Kibana でログを表示するには、以下を実行します。
-
OpenShift Container Platform コンソールで、Application Launcher
をクリックし、Logging を選択します。
OpenShift Container Platform コンソールにログインするために使用するものと同じ認証情報を使用してログインします。
Kibana インターフェイスが起動します。
- Kibana で Discover をクリックします。
左上隅のドロップダウンメニューから作成したインデックスパターン (app、audit、または infra) を選択します。
ログデータは、タイムスタンプ付きのドキュメントとして表示されます。
- タイムスタンプ付きのドキュメントの 1 つをデプロイメントします。
JSON タブをクリックし、ドキュメントのログエントリーを表示します。
例10.1 Kibana のインフラストラクチャーログエントリーのサンプル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第11章 ログの外部のサードパーティーロギングシステムへの転送 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトで、ロギングシステムは ClusterLogging カスタムリソースに定義されるデフォルトの内部ログストアにコンテナーおよびインフラストラクチャーログを送信します。ただし、監査ログは内部ストアに送信しません。セキュアなストレージを提供しないためです。このデフォルト設定が要件を満たす場合には、クラスターログフォワーダーを設定する必要はありません。
ログを他のログアグリゲーターに送信するには、OpenShift Container Platform クラスターログフォワーダーを使用します。この API を使用すると、コンテナー、インフラストラクチャーおよび監査ログをクラスター内外の特定のエンドポイントに送信できます。さらに、異なるタイプのログをさまざまなシステムに送信できるため、さまざまなユーザーがそれぞれのタイプにアクセスできます。また、Transport Layer Security (TLS) のサポートを有効にして、組織の要件に合わせてログを安全に送信することもできます。
監査ログをデフォルトの内部 Elasticsearch ログストアに送信するには、監査ログのログストアへの転送 で説明されているようにクラスターログフォワーダーを使用します。
ログを外部に転送する場合、ログサブシステムは Fluentd 設定マップを作成または変更して、目的のプロトコルを使用してログを送信します。外部ログアグリゲーターでプロトコルを設定する必要があります。
11.1. ログのサードパーティーシステムへの転送 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターの内外の特定のエンドポイントにログを送信するには、 ClusterLogForwarder カスタムリソース (CR) で出力とパイプラインの組み合わせを指定します。入力 を使用して、特定のプロジェクトに関連付けられたアプリケーションログをエンドポイントに転送することもできます。認証は Kubernetesシークレットオブジェクトによって提供されます。
- output
定義するログデータの宛先、またはログの送信先です。出力は以下のいずれかのタイプになります。
-
elasticsearch。外部 Elasticsearch インスタンス。elasticsearch出力では、TLS 接続を使用できます。 -
fluentdForward。Fluentd をサポートする外部ログ集計ソリューション。このオプションは Fluentd forward プロトコルを使用します。fluentForward出力は TCP または TLS 接続を使用でき、シークレットに shared_key フィールドを指定して共有キーの認証をサポートします。共有キーの認証は、TLS の有無に関係なく使用できます。 -
syslog。syslog RFC3164 または RFC5424 プロトコルをサポートする外部ログ集計ソリューション。syslog出力は、UDP、TCP、または TLS 接続を使用できます。 -
cloudwatch.Amazon Web Services (AWS) がホストするモニタリングおよびログストレージサービスである Amazon CloudWatch。 -
loki。Loki: 水平方向にスケーラブルで可用性の高いマルチテナントログ集計システム。 -
kafka。Kafka ブローカー。kafka出力は TCP または TLS 接続を使用できます。 -
default。内部 OpenShift Container Platform Elasticsearch インスタンス。デフォルトの出力を設定する必要はありません。default出力を設定する場合、default出力は Red Hat OpenShift Logging Operator 用に予約されるため、エラーメッセージが送信されます。
-
- パイプライン
1 つのログタイプから 1 つまたは複数の出力への単純なルーティング、または送信するログを定義します。ログタイプは以下のいずれかになります。
-
application。クラスターで実行される、インフラストラクチャーコンテナーアプリケーションを除くユーザーアプリケーションによって生成されるコンテナーログ。 -
infrastructure。openshift*、kube*、またはdefaultプロジェクトで実行される Pod のコンテナーログおよびノードファイルシステムから取得されるジャーナルログ。 -
auditノード監査システム、auditd、Kubernetes API サーバー、OpenShift API サーバー、および OVN ネットワークで生成される監査ログ。
パイプラインで
key:valueペアを使用すると、アウトバウンドログメッセージにラベルを追加できます。たとえば、他のデータセンターに転送されるメッセージにラベルを追加したり、タイプ別にログにラベルを付けたりできます。オブジェクトに追加されるラベルもログメッセージと共に転送されます。-
- input
特定のプロジェクトに関連付けられるアプリケーションログをパイプラインに転送します。
パイプラインでは、
inputRefパラメーターを使用して転送するログタイプと、outputRefパラメーターを使用してログを転送する場所を定義します。- Secret
-
ユーザー認証情報などの機密データを含む
Key:Value マップ。
次の点に注意してください。
-
ClusterLogForwarderCR オブジェクトが存在する場合に、default出力のあるパイプラインがない限り、ログはデフォルト Elasticsearch インスタンスに転送されません。 -
デフォルトで、ロギングシステムは
ClusterLoggingカスタムリソースに定義されるデフォルトの内部 Elasticsearch ログストアにコンテナーおよびインフラストラクチャーログを送信します。ただし、監査ログは内部ストアに送信しません。セキュアなストレージを提供しないためです。このデフォルト設定が要件を満たす場合は、ログ転送 API を設定する必要はありません。 -
ログタイプのパイプラインを定義しない場合、未定義タイプのログはドロップされます。たとえば、
applicationおよびauditタイプのパイプラインを指定するものの、infrastructureタイプのパイプラインを指定しないと、infrastructureログはドロップされます。 -
ClusterLogForwarderカスタムリソース (CR) で出力の複数のタイプを使用し、ログを複数の異なるプロトコルをサポートするサーバーに送信できます。 - 内部 OpenShift Container Platform Elasticsearch インスタンスは、監査ログのセキュアなストレージを提供しません。監査ログを転送するシステムが組織および政府の規制に準拠しており、適切にセキュリティーが保護されていることを確認することが推奨されています。ロギングサブシステムはこれらの規制に準拠していません。
以下の例では、監査ログをセキュアな外部 Elasticsearch インスタンスに転送し、インフラストラクチャーログをセキュアでない外部 Elasticsearch インスタンスに、アプリケーションログを Kafka ブローカーに転送し、アプリケーションログを my-apps-logs プロジェクトから内部 Elasticsearch インスタンスに転送します。
ログ転送の出力とパイプラインのサンプル
- 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- シークレットとセキュアな URL を使用したセキュアな Elasticsearch 出力の設定。
- 出力を記述する名前。
-
出力のタイプ:
elasticsearch。 - 接頭辞を含む、有効な絶対 URL としての Elasticsearch インスタンスのセキュアな URL およびポート。
-
TLS 通信のエンドポイントで必要なシークレット。シークレットは
openshift-loggingプロジェクトに存在する必要があります。
- 4
- 非セキュアな Elasticsearch 出力の設定:
- 出力を記述する名前。
-
出力のタイプ:
elasticsearch。 - 接頭辞を含む、有効な絶対 URL として Elasticsearch インスタンスのセキュアではない URL およびポート。
- 5
- セキュアな URL を介したクライアント認証 TLS 通信を使用した Kafka 出力の設定
- 出力を記述する名前。
-
出力のタイプ:
kafka。 - Kafka ブローカーの URL およびポートを、接頭辞を含む有効な絶対 URL として指定します。
- 6
my-projectnamespace からアプリケーションログをフィルターするための入力の設定。- 7
- 監査ログをセキュアな外部 Elasticsearch インスタンスに送信するためのパイプラインの設定。
- パイプラインを説明する名前。
-
inputRefsはログタイプです (例:audit)。 -
outputRefsは使用する出力の名前です。この例では、elasticsearch-secureはセキュアな Elasticsearch インスタンスに転送され、defaultは内部 Elasticsearch インスタンスに転送されます。 - オプション: ログに追加する複数のラベル。
- 8
- オプション: 構造化された JSON ログエントリーを
structuredフィールドの JSON オブジェクトとして転送するかどうかを指定します。ログエントリーに有効な構造化された JSON が含まれる必要があります。そうでない場合は、OpenShift Logging は構造化フィールドを削除し、代わりにログエントリーをデフォルトのインデックスapp-00000xに送信します。 - 9
- オプション: 文字列。ログに追加する 1 つまたは複数のラベル。"true" などの引用値は、ブール値としてではなく、文字列値として認識されるようにします。
- 10
- インフラストラクチャーログをセキュアでない外部 Elasticsearch インスタンスに送信するためのパイプラインの設定。
- 11
my-projectプロジェクトから内部 Elasticsearch インスタンスにログを送信するためのパイプラインの設定。- パイプラインを説明する名前。
-
inputRefsは特定の入力my-app-logsです。 -
outputRefsはdefaultです。 - オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
- 12
- パイプライン名がない場合にログを Kafka ブローカーに送信するためのパイプラインの設定。
-
inputRefsはログタイプです (例:application)。 -
outputRefsは使用する出力の名前です。 - オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
-
外部ログアグリゲーターが利用できない場合の Fluentd のログの処理
外部ロギングアグリゲーターが利用できず、ログを受信できない場合、Fluentd は継続してログを収集し、それらをバッファーに保存します。ログアグリゲーターが利用可能になると、バッファーされたログを含む、ログの転送が再開されます。バッファーが完全に一杯になると、Fluentd はログの収集を停止します。OpenShift Container Platform はログをローテーションし、それらを削除します。バッファーサイズを調整したり、永続ボリューム要求 (PVC) を Fluentd デーモンセットまたは Pod に追加したりすることはできません。
サポート対象の認証キー
ここでは、一般的なキータイプを示します。出力タイプは追加の特殊キーをサポートするものもあります。出力固有の設定フィールにまとめられています。すべての秘密鍵はオプションです。関連するキーを設定して、必要なセキュリティー機能を有効にします。キーやシークレット、サービスアカウント、ポートのオープン、またはグローバルプロキシー設定など、外部の宛先で必要となる可能性のある追加設定を作成し、維持する必要があります。OpenShift Logging は、認証の組み合わせ間の不一致を検証しません。
- Transport Layer Security (TLS)
シークレットなしで TLSURL( 'http://…'または 'ssl://…') を使用すると、基本的な TLS サーバー側認証が有効になります。シークレットを含め、次のオプションフィールドを設定して、追加の TLS 機能を有効にします。
-
tls.crt:(文字列) クライアント証明書を含むファイル名。相互認証を有効にします。tls.keyが必要です。 -
tls.key:(文字列) クライアント証明書のロックを解除するための秘密鍵を含むファイル名。tls.crtが必要です。 -
passphrase:(文字列) エンコードされた TLS 秘密鍵をデコードするためのパスフレーズ。tls.keyが必要です。 -
ca-bundle.crt:(文字列) サーバー認証用のカスタマー CA のファイル名。
-
- ユーザー名およびパスワード
-
username:(文字列) 認証ユーザー名。パスワードが必要です。 -
password:(文字列) 認証パスワード。ユーザー名が必要です。
-
- Simple Authentication Security Layer (SASL)
-
sasl.enable(boolean)SASL を明示的に有効または無効にします。ない場合は、SASL は、他のsasl.キーが設定されている場合に自動的に有効になります。 -
sasl.mechanisms:(配列) 許可された SASL メカニズム名のリスト。欠落しているか空の場合は、システムのデフォルトが使用されます。 -
sasl.allow-insecure:(ブール値) クリアテキストのパスワードを送信するメカニズムを許可します。デフォルトは false です。
-
11.1.1. シークレットの作成 リンクのコピーリンクがクリップボードにコピーされました!
次のコマンドを使用して、証明書とキーファイルを含むディレクトリーにシークレットを作成できます。
最適な結果を得るには一般的または不透明なシークレットを使用することを推奨します。
11.2. 同じ Pod 内のコンテナーから別のインデックスへの JSON ログの転送 リンクのコピーリンクがクリップボードにコピーされました!
構造化ログを、同じ Pod 内の異なるコンテナーから別のインデックスに転送できます。この機能を使用するには、複数コンテナーのサポートを使用してパイプラインを設定し、Pod にアノテーションを付ける必要があります。ログは接頭辞が app- のインデックスに書き込まれます。これに対応するために、エイリアスを使用して Elasticsearch を設定することを推奨します。
ログの JSON 形式は、アプリケーションによって異なります。作成するインデックスが多すぎるとパフォーマンスに影響するため、この機能の使用は、互換性のない JSON 形式のログのインデックスの作成に限定してください。クエリーを使用して、さまざまな namespace または互換性のある JSON 形式のアプリケーションからログを分離します。
前提条件
- Red Hat OpenShift のロギングサブシステム: 5.5
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- マルチコンテナー出力を有効にします。
PodCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この設定により、クラスター上のシャードの数が大幅に増加する可能性があります。
11.3. OpenShift Logging 5.1 でサポートされるログデータ出力タイプ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging 5.1 は、ログデータをターゲットログコレクターに送信するために以下の出力タイプおよびプロトコルを提供します。
Red Hat は、以下の表に記載されているそれぞれの組み合わせをテストします。ただし、これらのプロトコルを取り込むより広範囲のターゲットログコレクターにログデータを送信できるはずです。
| 出力のタイプ | プロトコル | テストで使用 |
|---|---|---|
| elasticsearch | elasticsearch | Elasticsearch 6.8.1 Elasticsearch 6.8.4 Elasticsearch 7.12.2 |
| fluentdForward | fluentd forward v1 | fluentd 1.7.4 logstash 7.10.1 |
| kafka | kafka 0.11 | kafka 2.4.1 kafka 2.7.0 |
| syslog | RFC-3164、RFC-5424 | rsyslog-8.39.0 |
以前のバージョンでは、syslog 出力は RFC-3164 でのみサポートされました。現在の syslog 出力では RFC-5424 のサポートを追加します。
11.4. OpenShift Logging 5.2 でサポートされるログデータ出力タイプ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging バージョン 5.2 は、ログデータをターゲットログコレクターに送信するために以下の出力タイプおよびプロトコルを提供します。
Red Hat は、以下の表に記載されているそれぞれの組み合わせをテストします。ただし、これらのプロトコルを取り込むより広範囲のターゲットログコレクターにログデータを送信できるはずです。
| 出力のタイプ | プロトコル | テストで使用 |
|---|---|---|
| Amazon CloudWatch | REST over HTTPS | Amazon CloudWatch の現行バージョン |
| elasticsearch | elasticsearch | Elasticsearch 6.8.1 Elasticsearch 6.8.4 Elasticsearch 7.12.2 |
| fluentdForward | fluentd forward v1 | fluentd 1.7.4 logstash 7.10.1 |
| Loki | REST over HTTP and HTTPS | OCP および Grafana ラボにデプロイされた loki 2.3.0 |
| kafka | kafka 0.11 | kafka 2.4.1 kafka 2.7.0 |
| syslog | RFC-3164、RFC-5424 | rsyslog-8.39.0 |
11.5. OpenShift Logging 5.3 でサポートされるログデータ出力タイプ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging 5.3 は、ログデータをターゲットログコレクターに送信するために以下の出力タイプおよびプロトコルを提供します。
Red Hat は、以下の表に記載されているそれぞれの組み合わせをテストします。ただし、これらのプロトコルを取り込むより広範囲のターゲットログコレクターにログデータを送信できるはずです。
| 出力のタイプ | プロトコル | テストで使用 |
|---|---|---|
| Amazon CloudWatch | REST over HTTPS | Amazon CloudWatch の現行バージョン |
| elasticsearch | elasticsearch | Elasticsearch 7.10.1 |
| fluentdForward | fluentd forward v1 | fluentd 1.7.4 logstash 7.10.1 |
| Loki | REST over HTTP and HTTPS | OCP にデプロイされた Loki 2.2.1 |
| kafka | kafka 0.11 | kafka 2.7.0 |
| syslog | RFC-3164、RFC-5424 | rsyslog-8.39.0 |
11.6. OpenShift Logging 5.4 でサポートされるログデータ出力タイプ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging 5.4 は、ログデータをターゲットログコレクターに送信するために以下の出力タイプおよびプロトコルを提供します。
Red Hat は、以下の表に記載されているそれぞれの組み合わせをテストします。ただし、これらのプロトコルを取り込むより広範囲のターゲットログコレクターにログデータを送信できるはずです。
| 出力のタイプ | プロトコル | テストで使用 |
|---|---|---|
| Amazon CloudWatch | REST over HTTPS | Amazon CloudWatch の現行バージョン |
| elasticsearch | elasticsearch | Elasticsearch 7.10.1 |
| fluentdForward | fluentd forward v1 | fluentd 1.14.5 logstash 7.10.1 |
| Loki | REST over HTTP and HTTPS | OCP にデプロイされた Loki 2.2.1 |
| kafka | kafka 0.11 | kafka 2.7.0 |
| syslog | RFC-3164、RFC-5424 | rsyslog-8.39.0 |
11.7. OpenShift Logging 5.5 でサポートされるログデータ出力タイプ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging 5.5 は、ログデータをターゲットログコレクターに送信するために以下の出力タイプおよびプロトコルを提供します。
Red Hat は、以下の表に記載されているそれぞれの組み合わせをテストします。ただし、これらのプロトコルを取り込むより広範囲のターゲットログコレクターにログデータを送信できるはずです。
| 出力のタイプ | プロトコル | テストで使用 |
|---|---|---|
| Amazon CloudWatch | REST over HTTPS | Amazon CloudWatch の現行バージョン |
| elasticsearch | elasticsearch | Elasticsearch 7.10.1 |
| fluentdForward | fluentd forward v1 | fluentd 1.14.6 logstash 7.10.1 |
| Loki | REST over HTTP and HTTPS | OCP にデプロイされた Loki 2.5.0 |
| kafka | kafka 0.11 | kafka 2.7.0 |
| syslog | RFC-3164、RFC-5424 | rsyslog-8.39.0 |
11.8. OpenShift Logging 5.6 でサポートされるログデータ出力タイプ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging 5.6 は、ログデータをターゲットログコレクターに送信するために以下の出力タイプおよびプロトコルを提供します。
Red Hat は、以下の表に記載されているそれぞれの組み合わせをテストします。ただし、これらのプロトコルを取り込むより広範囲のターゲットログコレクターにログデータを送信できるはずです。
| 出力のタイプ | プロトコル | テストで使用 |
|---|---|---|
| Amazon CloudWatch | REST over HTTPS | Amazon CloudWatch の現行バージョン |
| elasticsearch | elasticsearch | Elasticsearch 6.8.23 Elasticsearch 7.10.1 Elasticsearch 8.6.1 |
| fluentdForward | fluentd forward v1 | fluentd 1.14.6 logstash 7.10.1 |
| Loki | REST over HTTP and HTTPS | OCP にデプロイされた Loki 2.5.0 |
| kafka | kafka 0.11 | kafka 2.7.0 |
| syslog | RFC-3164、RFC-5424 | rsyslog-8.39.0 |
Fluentd は、5.6.2 の時点で Elasticsearch 8 をサポートしていません。Vector は、5.7.0 より前の fluentd/logstash/rsyslog をサポートしていません。
11.9. 外部 Elasticsearch インスタンスへのログの送信 リンクのコピーリンクがクリップボードにコピーされました!
オプションで、内部 OpenShift Container Platform Elasticsearch インスタンスに加えて、またはその代わりに外部 Elasticsearch インスタンスにログを転送できます。外部ログアグリゲーターを OpenShift Container Platform からログデータを受信するように設定する必要があります。
外部 Elasticsearch インスタンスへのログ転送を設定するには、そのインスタンスへの出力および出力を使用するパイプラインで ClusterLogForwarder カスタムリソース (CR) を作成する必要があります。外部 Elasticsearch 出力では、HTTP(セキュアでない) または HTTPS(セキュアな HTTP) 接続を使用できます。
外部 Elasticsearch インスタンスと内部 Elasticsearch インスタンスの両方にログを転送するには、出力および外部インスタンスへのパイプライン、および default 出力を使用してログを内部インスタンスに転送するパイプラインを作成します。default 出力を作成する必要はありません。default 出力を設定する場合、default 出力は Red Hat OpenShift Logging Operator 用に予約されるため、エラーメッセージが送信されます。
ログを内部 OpenShift Container Platform Elasticsearch インスタンス のみ に転送する必要がある場合は、ClusterLogForwarder CR を作成する必要はありません。
前提条件
- 指定されたプロトコルまたは形式を使用してロギングデータを受信するように設定されたロギングサーバーが必要です。
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
elasticsearchタイプを指定します。- 5
- 外部 Elasticsearch インスタンスの URL およびポートを有効な絶対 URL として指定します。
http(セキュアでない) プロトコルまたはhttps(セキュアな HTTP) プロトコルを使用できます。CIDR アノテーションを使用するクラスター全体のプロキシーが有効になっている場合、出力は IP アドレスではなくサーバー名または FQDN である必要があります。 - 6
- セキュアな接続では、
シークレットを指定して、認証するhttpsまたはhttpURL を指定できます。 - 7
https接頭辞の場合は、TLS 通信のエンドポイントに必要なシークレットの名前を指定します。シークレットはopenshift-loggingプロジェクトに存在し、tls.crt、tls.key および ca-bundle.crt のキーが含まれる必要があります。これらは、それぞれが表す証明書を参照します。それ以外の場合、httpおよびhttps接頭辞の場合は、ユーザー名とパスワードを含むシークレットを指定できます。詳細は、Example: Setting secret that contains a username and password.を参照してください。- 8
- オプション: パイプラインの名前を指定します。
- 9
- パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - 10
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
- 11
- オプション: ログを内部 Elasticsearch インスタンスに送信するために
default出力を指定します。 - 12
- オプション: 構造化された JSON ログエントリーを
structuredフィールドの JSON オブジェクトとして転送するかどうかを指定します。ログエントリーに有効な構造化された JSON が含まれる必要があります。そうでない場合は、OpenShift Logging は構造化フィールドを削除し、代わりにログエントリーをデフォルトのインデックスapp-00000xに送信します。 - 13
- オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
- 14
- オプション: サポートされるタイプの他の外部ログアグリゲーターにログを転送するように複数の出力を設定します。
- パイプラインを説明する名前。
-
inputRefsは、そのパイプラインを使用して転送するログタイプです (application、infrastructure、またはaudit)。 -
outputRefsは使用する出力の名前です。 - オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
例: ユーザー名とパスワードを含むシークレットの設定
ユーザー名とパスワードを含むシークレットを使用して、外部 Elasticsearch インスタンスへのセキュアな接続を認証できます。
たとえば、サードパーティーが Elasticsearch インスタンスを操作するため、相互 TLS (mTLS) キーを使用できない場合に、HTTP または HTTPS を使用してユーザー名とパスワードを含むシークレットを設定できます。
以下の例のような
SecretYAML ファイルを作成します。usernameおよびpasswordフィールドに base64 でエンコードされた値を使用します。シークレットタイプはデフォルトで不透明です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを作成します。
oc create secret -n openshift-logging openshift-test-secret.yaml
$ oc create secret -n openshift-logging openshift-test-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderCR にシークレットの名前を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記urlフィールドの値では、接頭辞はhttpまたはhttpsになります。CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10. Fluentd 転送プロトコルを使用したログの転送 リンクのコピーリンクがクリップボードにコピーされました!
Fluentd forward プロトコルを使用して、デフォルトの Elasticsearch ログストアの代わり、またはこれに加えてプロトコルを受け入れるように設定された外部ログアグリゲーターにログのコピーを送信できます。外部ログアグリゲーターを OpenShift Container Platform からログを受信するように設定する必要があります。
forward プロトコルを使用してログ転送を設定するには、Fluentd サーバーに対する 1 つ以上の出力およびそれらの出力を使用するパイプラインと共に ClusterLogForwarder カスタムリース (CR) を作成します。Fluentd の出力は TCP(セキュアでない) または TLS(セキュアな TCP) 接続を使用できます。
前提条件
- 指定されたプロトコルまたは形式を使用してロギングデータを受信するように設定されたロギングサーバーが必要です。
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
fluentdForwardタイプを指定します。- 5
- 外部 Fluentd インスタンスの URL およびポートを有効な絶対 URL として指定します。
tcp(セキュアでない) プロトコルまたはtls(セキュアな TCP) プロトコルを使用できます。CIDR アノテーションを使用するクラスター全体のプロキシーが有効になっている場合、出力は IP アドレスではなくサーバー名または FQDN である必要があります。 - 6
tls接頭辞を使用する場合は、TLS 通信のエンドポイントに必要なシークレットの名前を指定する必要があります。シークレットはopenshift-loggingプロジェクトに存在し、tls.crt、tls.key および ca-bundle.crt のキーが含まれる必要があります。これらは、それぞれが表す証明書を参照します。それ以外の場合は、http および https 接頭辞の場合は、ユーザー名とパスワードを含むシークレットを指定できます。詳細は、Example: Setting secret that contains a username and password.を参照してください。- 7
- オプション: パイプラインの名前を指定します。
- 8
- パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - 9
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
- 10
- オプション: ログを内部 Elasticsearch インスタンスに転送するために
default出力を指定します。 - 11
- オプション: 構造化された JSON ログエントリーを
structuredフィールドの JSON オブジェクトとして転送するかどうかを指定します。ログエントリーに有効な構造化された JSON が含まれる必要があります。そうでない場合は、OpenShift Logging は構造化フィールドを削除し、代わりにログエントリーをデフォルトのインデックスapp-00000xに送信します。 - 12
- オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
- 13
- オプション: サポートされるタイプの他の外部ログアグリゲーターにログを転送するように複数の出力を設定します。
- パイプラインを説明する名前。
-
inputRefsは、そのパイプラインを使用して転送するログタイプです (application、infrastructure、またはaudit)。 -
outputRefsは使用する出力の名前です。 - オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10.1. Logstash が fluentd からデータを取り込むためのナノ秒精度の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Logstash が fluentd からログデータを取り込むには、Logstash 設定ファイルでナノ秒精度を有効にする必要があります。
手順
-
Logstash 設定ファイルで、
nanosecond_precisionをtrueに設定します。
Logstash 設定ファイルの例
input { tcp { codec => fluent { nanosecond_precision => true } port => 24114 } }
filter { }
output { stdout { codec => rubydebug } }
input { tcp { codec => fluent { nanosecond_precision => true } port => 24114 } }
filter { }
output { stdout { codec => rubydebug } }
11.11. syslog プロトコルを使用したログの転送 リンクのコピーリンクがクリップボードにコピーされました!
syslog RFC3164 または RFC5424 プロトコルを使用して、デフォルトの Elasticsearch ログストアの代わり、またはこれに加えてプロトコルを受け入れるように設定された外部ログアグリゲーターにログのコピーを送信できます。syslog サーバーなど、外部ログアグリゲーターを OpenShift Container Platform からログを受信するように設定する必要があります。
syslog プロトコルを使用してログ転送を設定するには、syslog サーバーに対する 1 つ以上の出力およびそれらの出力を使用するパイプラインと共に ClusterLogForwarder カスタムリース (CR) を作成します。syslog 出力では、UDP、TCP、または TLS 接続を使用できます。
前提条件
- 指定されたプロトコルまたは形式を使用してロギングデータを受信するように設定されたロギングサーバーが必要です。
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
syslogタイプを指定します。- 5
- オプション: 以下にリスト表示されている syslog パラメーターを指定します。
- 6
- 外部 syslog インスタンスの URL およびポートを指定します。
udp(セキュアでない)、tcp(セキュアでない) プロトコル、またはtls(セキュアな TCP) プロトコルを使用できます。CIDR アノテーションを使用するクラスター全体のプロキシーが有効になっている場合、出力は IP アドレスではなくサーバー名または FQDN である必要があります。 - 7
tls接頭辞を使用する場合は、TLS 通信のエンドポイントに必要なシークレットの名前を指定する必要があります。シークレットはopenshift-loggingプロジェクトに存在し、tls.crt、tls.key および ca-bundle.crt のキーが含まれる必要があります。これらは、それぞれが表す証明書を参照します。- 8
- オプション: パイプラインの名前を指定します。
- 9
- パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - 10
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
- 11
- オプション: ログを内部 Elasticsearch インスタンスに転送するために
default出力を指定します。 - 12
- オプション: 構造化された JSON ログエントリーを
structuredフィールドの JSON オブジェクトとして転送するかどうかを指定します。ログエントリーに有効な構造化された JSON が含まれる必要があります。そうでない場合は、OpenShift Logging は構造化フィールドを削除し、代わりにログエントリーをデフォルトのインデックスapp-00000xに送信します。 - 13
- オプション: 文字列。ログに追加する 1 つまたは複数のラベル。"true" などの引用値は、ブール値としてではなく、文字列値として認識されるようにします。
- 14
- オプション: サポートされるタイプの他の外部ログアグリゲーターにログを転送するように複数の出力を設定します。
- パイプラインを説明する名前。
-
inputRefsは、そのパイプラインを使用して転送するログタイプです (application、infrastructure、またはaudit)。 -
outputRefsは使用する出力の名前です。 - オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.11.1. メッセージ出力へのログソース情報の追加 リンクのコピーリンクがクリップボードにコピーされました!
AddLogSource フィールドを ClusterLogForwarder カスタムリソース (CR) に追加することで、namespace_name、pod_name、および container_name 要素をレコードの メッセージ フィールドに追加できます。
この設定は、RFC3164 と RFC5424 の両方と互換性があります。
AddLogSource を使用しない場合の syslog メッセージ出力の例
<15>1 2020-11-15T17:06:14+00:00 fluentd-9hkb4 mytag - - - {"msgcontent"=>"Message Contents", "timestamp"=>"2020-11-15 17:06:09", "tag_key"=>"rec_tag", "index"=>56}
<15>1 2020-11-15T17:06:14+00:00 fluentd-9hkb4 mytag - - - {"msgcontent"=>"Message Contents", "timestamp"=>"2020-11-15 17:06:09", "tag_key"=>"rec_tag", "index"=>56}
AddLogSource を使用した syslog メッセージ出力の例
<15>1 2020-11-16T10:49:37+00:00 crc-j55b9-master-0 mytag - - - namespace_name=clo-test-6327,pod_name=log-generator-ff9746c49-qxm7l,container_name=log-generator,message={"msgcontent":"My life is my message", "timestamp":"2020-11-16 10:49:36", "tag_key":"rec_tag", "index":76}
<15>1 2020-11-16T10:49:37+00:00 crc-j55b9-master-0 mytag - - - namespace_name=clo-test-6327,pod_name=log-generator-ff9746c49-qxm7l,container_name=log-generator,message={"msgcontent":"My life is my message", "timestamp":"2020-11-16 10:49:36", "tag_key":"rec_tag", "index":76}
11.11.2. syslog パラメーター リンクのコピーリンクがクリップボードにコピーされました!
syslog 出力には、以下を設定できます。詳細は、syslog の RFC3164 または RFC5424 RFC を参照してください。
facility: syslog ファシリティー。値には 10 進数の整数または大文字と小文字を区別しないキーワードを使用できます。
-
カーネルメッセージの場合は、
0またはkern -
ユーザーレベルのメッセージの場合は、
1またはuser。デフォルトです。 -
メールシステムの場合は、
2またはmail -
システムデーモンの場合は、
3またはdaemon -
セキュリティー/認証メッセージの場合は、
4またはauth -
syslogd によって内部に生成されるメッセージの場合は、
5またはsyslog -
ラインプリンターサブシステムの場合は、
6またはlpr -
ネットワーク news サブシステムの場合は、
7またはnews -
UUCP サブシステムの場合は、
8またはuucp -
クロックデーモンの場合は、
9またはcron -
セキュリティー認証メッセージの場合は、
10またはauthpriv -
FTP デーモンの場合は、
11またはftp -
NTP サブシステムの場合は、
12またはntp -
syslog 監査ログの場合は、
13またはsecurity -
syslog アラートログの場合は、
14またはconsole -
スケジューリングデーモンの場合は、
15またはsolaris-cron -
ローカルに使用される facility の場合は、
16–23またはlocal0–local7
-
カーネルメッセージの場合は、
オプション:
payloadKey: syslog メッセージのペイロードとして使用するレコードフィールド。注記payloadKeyパラメーターを設定すると、他のパラメーターが syslog に転送されなくなります。- rfc: syslog を使用してログを送信するために使用される RFC。デフォルトは RFC5424 です。
severity: 送信 syslog レコードに設定される syslog の重大度。値には 10 進数の整数または大文字と小文字を区別しないキーワードを使用できます。
-
システムが使用不可であることを示すメッセージの場合は、
0またはEmergency -
即時にアクションを実行する必要があることを示すメッセージの場合は、
1またはAlert -
重大な状態を示すメッセージの場合は、
2またはCritical -
エラーの状態を示すメッセージの場合は、
3またはError -
警告状態を示すメッセージの場合は、
4またはWarning -
正常であるが重要な状態を示すメッセージの場合は、
5またはNotice -
情報を提供するメッセージの場合は、
6またはInformational -
デバッグレベルのメッセージを示唆するメッセージの場合は、
7またはDebug。デフォルトです。
-
システムが使用不可であることを示すメッセージの場合は、
- tag: タグは、syslog メッセージでタグとして使用するレコードフィールドを指定します。
- trimPrefix: 指定された接頭辞をタグから削除します。
11.11.3. 追加の RFC5424 syslog パラメーター リンクのコピーリンクがクリップボードにコピーされました!
以下のパラメーターは RFC5424 に適用されます。
-
appName: APP-NAME は、ログを送信したアプリケーションを識別するフリーテキストの文字列です。
RFC5424に対して指定する必要があります。 -
msgID: MSGID は、メッセージのタイプを識別するフリーテキスト文字列です。
RFC5424に対して指定する必要があります。 -
procID: PROCID はフリーテキスト文字列です。値が変更される場合は、syslog レポートが中断していることを示します。
RFC5424に対して指定する必要があります。
11.12. ログの Amazon CloudWatch への転送 リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) がホストするモニタリングおよびログストレージサービスである Amazon CloudWatch にログを転送できます。デフォルトのログストアに加えて、またはログストアの代わりに、CloudWatch にログを転送できます。
CloudWatch へのログ転送を設定するには、CloudWatch の出力および出力を使用するパイプラインで ClusterLogForwarder カスタムリソース (CR) を作成する必要があります。
手順
aws_access_key_idおよびaws_secret_access_keyフィールドを使用するSecretYAML ファイルを作成し、base64 でエンコードされた AWS 認証情報を指定します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを作成します。以下に例を示します。
oc apply -f cw-secret.yaml
$ oc apply -f cw-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。このファイルに、シークレットの名前を指定します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
cloudwatchタイプを指定します。- 5
- オプション: ログをグループ化する方法を指定します。
-
logTypeは、ログタイプごとにロググループを作成します。 -
namespaceNameは、アプリケーションの namespace ごとにロググループを作成します。また、インフラストラクチャーおよび監査ログ用の個別のロググループも作成します。 -
namespaceUUIDは、アプリケーション namespace UUID ごとに新しいロググループを作成します。また、インフラストラクチャーおよび監査ログ用の個別のロググループも作成します。
-
- 6
- オプション: ロググループの名前に含まれるデフォルトの
infrastructureName接頭辞を置き換える文字列を指定します。 - 7
- AWS リージョンを指定します。
- 8
- AWS 認証情報が含まれるシークレットの名前を指定します。
- 9
- オプション: パイプラインの名前を指定します。
- 10
- パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - 11
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
例: Amazon CloudWatch での ClusterLogForwarder の使用
ここでは、ClusterLogForwarder カスタムリソース (CR) のサンプルと、Amazon CloudWatch に出力するログデータが表示されます。
mycluster という名前の OpenShift Container Platform クラスターを実行しているとします。以下のコマンドは、クラスターの infrastructureName を返します。これは、後で aws コマンドの作成に使用します。
oc get Infrastructure/cluster -ojson | jq .status.infrastructureName
$ oc get Infrastructure/cluster -ojson | jq .status.infrastructureName
"mycluster-7977k"
この例のログデータを生成するには、app という名前の namespace で busybox pod を実行します。busybox pod は、3 秒ごとに stdout にメッセージを書き込みます。
busybox pod が実行される app namespace の UUID を検索できます。
oc get ns/app -ojson | jq .metadata.uid
$ oc get ns/app -ojson | jq .metadata.uid
"794e1e1a-b9f5-4958-a190-e76a9b53d7bf"
ClusterLogForwarder カスタムリソース (CR) で、インフラストラクチャー、監査、および アプリケーションログ タイプを all-logs パイプラインへの入力として設定します。また、このパイプラインを cw 出力に接続し、us-east-2 リージョンの CloudWatch インスタンスに転送します。
CloudWatch の各リージョンには、3 つのレベルのオブジェクトが含まれます。
ロググループ
ログストリーム
- ログイベント
ClusterLogForwarding CR の groupBy: logType の場合に、inputRefs にある 3 つのログタイプで Amazon Cloudwatch に 3 つのロググループを生成します。
aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
$ aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
"mycluster-7977k.application"
"mycluster-7977k.audit"
"mycluster-7977k.infrastructure"
各ロググループにはログストリームが含まれます。
aws --output json logs describe-log-streams --log-group-name mycluster-7977k.application | jq .logStreams[].logStreamName
$ aws --output json logs describe-log-streams --log-group-name mycluster-7977k.application | jq .logStreams[].logStreamName
"kubernetes.var.log.containers.busybox_app_busybox-da085893053e20beddd6747acdbaf98e77c37718f85a7f6a4facf09ca195ad76.log"
aws --output json logs describe-log-streams --log-group-name mycluster-7977k.audit | jq .logStreams[].logStreamName
$ aws --output json logs describe-log-streams --log-group-name mycluster-7977k.audit | jq .logStreams[].logStreamName
"ip-10-0-131-228.us-east-2.compute.internal.k8s-audit.log"
"ip-10-0-131-228.us-east-2.compute.internal.linux-audit.log"
"ip-10-0-131-228.us-east-2.compute.internal.openshift-audit.log"
...
aws --output json logs describe-log-streams --log-group-name mycluster-7977k.infrastructure | jq .logStreams[].logStreamName
$ aws --output json logs describe-log-streams --log-group-name mycluster-7977k.infrastructure | jq .logStreams[].logStreamName
"ip-10-0-131-228.us-east-2.compute.internal.kubernetes.var.log.containers.apiserver-69f9fd9b58-zqzw5_openshift-oauth-apiserver_oauth-apiserver-453c5c4ee026fe20a6139ba6b1cdd1bed25989c905bf5ac5ca211b7cbb5c3d7b.log"
"ip-10-0-131-228.us-east-2.compute.internal.kubernetes.var.log.containers.apiserver-797774f7c5-lftrx_openshift-apiserver_openshift-apiserver-ce51532df7d4e4d5f21c4f4be05f6575b93196336be0027067fd7d93d70f66a4.log"
"ip-10-0-131-228.us-east-2.compute.internal.kubernetes.var.log.containers.apiserver-797774f7c5-lftrx_openshift-apiserver_openshift-apiserver-check-endpoints-82a9096b5931b5c3b1d6dc4b66113252da4a6472c9fff48623baee761911a9ef.log"
...
各ログストリームにはログイベントが含まれます。busybox Pod からログイベントを表示するには、application ロググループからログストリームを指定します。
例: ロググループ名の接頭辞のカスタマイズ
ロググループ名では、デフォルトの infrastructureName 接頭辞 mycluster-7977k は demo-group-prefix のように任意の文字列に置き換えることができます。この変更を加えるには、ClusterLogForwarding CR の groupPrefix フィールドを更新します。
cloudwatch:
groupBy: logType
groupPrefix: demo-group-prefix
region: us-east-2
cloudwatch:
groupBy: logType
groupPrefix: demo-group-prefix
region: us-east-2
groupPrefix の値は、デフォルトの infrastructureName 接頭辞を置き換えます。
aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
$ aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
"demo-group-prefix.application"
"demo-group-prefix.audit"
"demo-group-prefix.infrastructure"
例: アプリケーションの namespace 名をもとにロググループの命名
クラスター内のアプリケーション namespace ごとに、名前がアプリケーション namespace 名をもとにする CloudWatch にロググループを作成できます。
アプリケーションの namespace オブジェクトを削除して、同じ名前の新しいオブジェクトを作成する場合は、CloudWatch は以前と同じロググループを使用し続けます。
相互に名前が同じアプリケーション namespace オブジェクトを引き継ぐ予定の場合は、この例で説明されている方法を使用します。それ以外で、生成されるログメッセージを相互に区別する必要がある場合は、代わりに Naming log groups for application namespace UUIDs のセクションを参照してください。
アプリケーション namespace 名を基にした名前を指定してアプリケーションロググループを作成するには、ClusterLogForwarder CR で groupBy フィールドの値を namespaceName に設定します。
cloudwatch:
groupBy: namespaceName
region: us-east-2
cloudwatch:
groupBy: namespaceName
region: us-east-2
groupBy を namespaceName に設定すると、アプリケーションロググループのみが影響を受けます。これは、audit および infrastructure のロググループには影響しません。
Amazon Cloudwatch では、namespace 名が各ロググループ名の最後に表示されます。アプリケーション namespace (app) が 1 つであるため、以下の出力は mycluster-7977k.application ではなく、新しい mycluster-7977k.app ロググループを示しています。
aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
$ aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
"mycluster-7977k.app"
"mycluster-7977k.audit"
"mycluster-7977k.infrastructure"
この例のクラスターに複数のアプリケーション namespace が含まれる場合は、出力には namespace ごとに複数のロググループが表示されます。
groupBy フィールドは、アプリケーションロググループだけに影響します。これは、audit および infrastructure のロググループには影響しません。
例: アプリケーション namespace UUID をもとにロググループの命名
クラスター内のアプリケーション namespace ごとに、名前がアプリケーション namespace の UUID をもとにする CloudWatch にロググループを作成できます。
アプリケーションの namespace オブジェクトを削除して新規のロググループを作成する場合は、CloudWatch で新しいロググループを作成します。
相互に名前が異なるアプリケーション namespace オブジェクトを引き継ぐ予定の場合は、この例で説明されている方法を使用します。それ以外の場合は、前述の例: Naming log groups for application namespace name のセクションを参照してください。
アプリケーション namespace UUID をもとにログエントリーに名前を付けるには、ClusterLogForwarder CR で groupBy フィールドの値を namespaceUUID に設定します。
cloudwatch:
groupBy: namespaceUUID
region: us-east-2
cloudwatch:
groupBy: namespaceUUID
region: us-east-2
Amazon Cloudwatch では、namespace UUID が各ロググループ名の最後に表示されます。アプリケーション namespace (app) が 1 つであるため、以下の出力は mycluster-7977k.application ではなく、新しい mycluster-7977k.794e1e1a-b9f5-4958-a190-e76a9b53d7bf ロググループを示しています。
aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
$ aws --output json logs describe-log-groups | jq .logGroups[].logGroupName
"mycluster-7977k.794e1e1a-b9f5-4958-a190-e76a9b53d7bf" // uid of the "app" namespace
"mycluster-7977k.audit"
"mycluster-7977k.infrastructure"
groupBy フィールドは、アプリケーションロググループだけに影響します。これは、audit および infrastructure のロググループには影響しません。
11.12.1. STS 対応クラスターから Amazon CloudWatch へのログ転送 リンクのコピーリンクがクリップボードにコピーされました!
AWS Security Token Service (STS) が有効になっているクラスターの場合に、AWS サービスアカウントを手動で作成するか、Cloud Credential Operator (CCO) ユーティリティー ccoctl を使用してクレデンシャルのリクエストを作成できます。
この機能は、vector コレクターではサポートされていません。
AWS 認証情報リクエストの作成
以下のテンプレートを使用して、
CredentialsRequestカスタムリソース YAML を作成します。CloudWatch クレデンシャルリクエストのテンプレート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccoctlコマンドを使用して、CredentialsRequestCR を使用して AWS のロールを作成します。CredentialsRequestオブジェクトでは、このccoctlコマンドを使用すると、特定の OIDC アイデンティティープロバイダーに紐付けされたトラストポリシーと、CloudWatch リソースでの操作実行パーミッションを付与するパーミッションポリシーを指定して IAM ロールを作成します。このコマンドは、/<path_to_ccoctl_output_dir>/manifests/openshift-logging-<your_role_name>-credentials.yamlに YAML 設定ファイルも作成します。このシークレットファイルには、AWS IAM ID プロバイダーでの認証中に使用されるrole_arnキー/値が含まれています。ccoctl aws create-iam-roles \ --name=<name> \ --region=<aws_region> \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --identity-provider-arn=arn:aws:iam::<aws_account_id>:oidc-provider/<name>-oidc.s3.<aws_region>.amazonaws.com
ccoctl aws create-iam-roles \ --name=<name> \ --region=<aws_region> \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --identity-provider-arn=arn:aws:iam::<aws_account_id>:oidc-provider/<name>-oidc.s3.<aws_region>.amazonaws.com1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <name> は、クラウドリソースのタグ付けに使用される名前であり、STS クラスターのインストール中に使用される名前と一致する必要があります。
作成したシークレットを適用します。
oc apply -f output/manifests/openshift-logging-<your_role_name>-credentials.yaml
oc apply -f output/manifests/openshift-logging-<your_role_name>-credentials.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderカスタムリソースを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
cloudwatchタイプを指定します。- 5
- オプション: ログをグループ化する方法を指定します。
-
logTypeは、ログタイプごとにロググループを作成します。 -
namespaceNameは、アプリケーションの namespace ごとにロググループを作成します。インフラストラクチャーおよび監査ログは影響を受けず、logTypeによってグループ化されたままになります。 -
namespaceUUIDは、アプリケーション namespace UUID ごとに新しいロググループを作成します。また、インフラストラクチャーおよび監査ログ用の個別のロググループも作成します。
-
- 6
- オプション: ロググループの名前に含まれるデフォルトの
infrastructureName接頭辞を置き換える文字列を指定します。 - 7
- AWS リージョンを指定します。
- 8
- AWS 認証情報が含まれるシークレットの名前を指定します。
- 9
- オプション: パイプラインの名前を指定します。
- 10
- パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - 11
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
11.12.1.1. 既存の AWS ロールを使用した AWS CloudWatch のシークレット作成 リンクのコピーリンクがクリップボードにコピーされました!
AWS の既存のロールがある場合は、oc create secret --from-literal コマンドを使用して、STS で AWS のシークレットを作成できます。
oc create secret generic cw-sts-secret -n openshift-logging --from-literal=role_arn=arn:aws:iam::123456789012:role/my-role_with-permissions
oc create secret generic cw-sts-secret -n openshift-logging --from-literal=role_arn=arn:aws:iam::123456789012:role/my-role_with-permissions
シークレットの例
11.13. ログの Loki への転送 リンクのコピーリンクがクリップボードにコピーされました!
内部のデフォルト OpenShift Container Platform Elasticsearch インスタンスに加えて、またはその代わりに外部の Loki ロギングシステムにログを転送できます。
Loki へのログ転送を設定するには、Loki の出力と、出力を使用するパイプラインで ClusterLogForwarder カスタムリソース (CR) を作成する必要があります。Loki への出力は HTTP (セキュアでない) または HTTPS (セキュアな HTTP) 接続を使用できます。
前提条件
-
CR の
urlフィールドで指定する URL で Loki ロギングシステムが実行されている必要がある。
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
- タイプを
lokiとして指定します。 - 5
- Loki システムの URL およびポートを有効な絶対 URL として指定します。
http(セキュアでない) プロトコルまたはhttps(セキュアな HTTP) プロトコルを使用できます。CIDR アノテーションを使用するクラスター全体のプロキシーが有効になっている場合、出力は IP アドレスではなくサーバー名または FQDN である必要があります。HTTP(S) 通信用の Loki のデフォルトポートは 3100 です。 - 6
- セキュアな接続では、
シークレットを指定して、認証するhttpsまたはhttpURL を指定できます。 - 7
https接頭辞の場合は、TLS 通信のエンドポイントに必要なシークレットの名前を指定します。シークレットはopenshift-loggingプロジェクトに存在し、tls.crt、tls.key および ca-bundle.crt のキーが含まれる必要があります。これらは、それぞれが表す証明書を参照します。それ以外の場合、httpおよびhttps接頭辞の場合は、ユーザー名とパスワードを含むシークレットを指定できます。詳細は、Example: Setting secret that contains a username and password.を参照してください。- 8
- オプション: メタデータキーフィールドを指定して、Loki の
TenantIDフィールドの値を生成します。たとえば、tenantKey: kubernetes.namespace_nameを設定すると、Kubernetes namespace の名前を Loki のテナント ID の値として使用します。他にどのログレコードフィールドを指定できるかを確認するには、以下の Additional resources セクションの Log Record Fields リンクを参照してください。 - 9
- オプション: デフォルトの Loki ラベルを置き換えるメタデータフィールドキーのリストを指定します。loki ラベル名は、正規表現
[a-zA-Z_:][a-zA-Z0-9_:]*と一致する必要があります。ラベル名を形成するため、メタデータキーの無効な文字は_に置き換えられます。たとえば、kubernetes.labels.foometa-data キーは Loki ラベルkubernetes_labels_fooになります。labelKeysを設定しないと、デフォルト値は[log_type, kubernetes.namespace_name, kubernetes.pod_name, kubernetes_host]です。Loki で指定可能なラベルのサイズと数に制限があるため、ラベルのセットを小さくします。Configuring Loki, limits_config を参照してください。クエリーフィルターを使用して、ログレコードフィールドに基づいてクエリーを実行できます。 - 10
- オプション: パイプラインの名前を指定します。
- 11
- パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - 12
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
注記Loki ではログストリームを正しくタイムスタンプで順序付ける必要があるため、
labelKeysには指定しなくてもkubernetes_hostラベルセットが常に含まれます。このラベルセットが含まれることで、各ストリームが 1 つのホストから発信されるので、ホストのクロック間の誤差が原因でタイムスタンプの順番が乱れないようになります。CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.13.1. Loki レート制限エラーのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
Log Forwarder API がレート制限を超える大きなメッセージブロックを Loki に転送すると、Loki により、レート制限 (429) エラーが生成されます。
これらのエラーは、通常の動作中に発生する可能性があります。たとえば、すでにいくつかのログがあるクラスターにログサブシステムを追加する場合、ログサブシステムが既存のログエントリーをすべて取り込もうとするとレート制限エラーが発生する可能性があります。この場合、新しいログの追加速度が合計レート制限よりも低い場合、履歴データは最終的に取り込まれ、ユーザーの介入を必要とせずにレート制限エラーが解決されます。
レート制限エラーが引き続き発生する場合は、LokiStack カスタムリソース (CR) を変更することで問題を解決できます。
LokiStack CR は、Grafana がホストする Loki では利用できません。このトピックは、Grafana がホストする Loki サーバーには適用されません。
条件
- Log Forwarder API は、ログを Loki に転送するように設定されている。
システムは、次のような 2MB を超えるメッセージのブロックを Loki に送信する。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -n openshift-logging -l component=collectorと入力すると、クラスター内のコレクターログに、次のいずれかのエラーメッセージを含む行が表示されます。429 Too Many Requests Ingestion rate limit exceeded
429 Too Many Requests Ingestion rate limit exceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vector エラーメッセージの例
2023-08-25T16:08:49.301780Z WARN sink{component_kind="sink" component_id=default_loki_infra component_type=loki component_name=default_loki_infra}: vector::sinks::util::retries: Retrying after error. error=Server responded with an error: 429 Too Many Requests internal_log_rate_limit=true2023-08-25T16:08:49.301780Z WARN sink{component_kind="sink" component_id=default_loki_infra component_type=loki component_name=default_loki_infra}: vector::sinks::util::retries: Retrying after error. error=Server responded with an error: 429 Too Many Requests internal_log_rate_limit=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Fluentd エラーメッセージの例
2023-08-30 14:52:15 +0000 [warn]: [default_loki_infra] failed to flush the buffer. retry_times=2 next_retry_time=2023-08-30 14:52:19 +0000 chunk="604251225bf5378ed1567231a1c03b8b" error_class=Fluent::Plugin::LokiOutput::LogPostError error="429 Too Many Requests Ingestion rate limit exceeded for user infrastructure (limit: 4194304 bytes/sec) while attempting to ingest '4082' lines totaling '7820025' bytes, reduce log volume or contact your Loki administrator to see if the limit can be increased\n"
2023-08-30 14:52:15 +0000 [warn]: [default_loki_infra] failed to flush the buffer. retry_times=2 next_retry_time=2023-08-30 14:52:19 +0000 chunk="604251225bf5378ed1567231a1c03b8b" error_class=Fluent::Plugin::LokiOutput::LogPostError error="429 Too Many Requests Ingestion rate limit exceeded for user infrastructure (limit: 4194304 bytes/sec) while attempting to ingest '4082' lines totaling '7820025' bytes, reduce log volume or contact your Loki administrator to see if the limit can be increased\n"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このエラーは受信側にも表示されます。たとえば、LokiStack 取り込み Pod で以下を行います。
Loki 取り込みエラーメッセージの例
level=warn ts=2023-08-30T14:57:34.155592243Z caller=grpc_logging.go:43 duration=1.434942ms method=/logproto.Pusher/Push err="rpc error: code = Code(429) desc = entry with timestamp 2023-08-30 14:57:32.012778399 +0000 UTC ignored, reason: 'Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for stream
level=warn ts=2023-08-30T14:57:34.155592243Z caller=grpc_logging.go:43 duration=1.434942ms method=/logproto.Pusher/Push err="rpc error: code = Code(429) desc = entry with timestamp 2023-08-30 14:57:32.012778399 +0000 UTC ignored, reason: 'Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for streamCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
LokiStackCR のingestionBurstSizeおよびingestionRateフィールドを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ingestionBurstSizeフィールドは、ディストリビューターレプリカごとに最大ローカルレート制限サンプルサイズを MB 単位で定義します。この値はハードリミットです。この値を、少なくとも 1 つのプッシュリクエストで想定される最大ログサイズに設定します。ingestionBurstSize値より大きい単一リクエストは使用できません。- 2
ingestionRateフィールドは、1 秒あたりに取り込まれるサンプルの最大量 (MB 単位) に対するソフト制限です。ログのレートが制限を超えているにもかかわらず、コレクターがログの送信を再試行すると、レート制限エラーが発生します。合計平均が制限よりも少ない場合に限り、システムは回復し、ユーザーの介入なしでエラーが解決されます。
11.14. ログの Google Cloud Platform (GCP) への転送 リンクのコピーリンクがクリップボードにコピーされました!
内部のデフォルトの OpenShift Container Platform ログストアに加えて、またはその代わりに、ログを Google Cloud Logging に転送できます。
この機能を Fluentd で使用することはサポートされていません。
前提条件
- Red Hat OpenShift Operator 5.5.1 以降のロギングサブシステム
手順
Google サービスアカウントキー を使用してシークレットを作成します。
oc -n openshift-logging create secret generic gcp-secret --from-file google-application-credentials.json=<your_service_account_key_file.json>
$ oc -n openshift-logging create secret generic gcp-secret --from-file google-application-credentials.json=<your_service_account_key_file.json>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のテンプレートを使用して、
ClusterLogForwarderカスタムリソース YAML を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ログを保存する GCP リソース階層 の場所に応じて、
projectId、folderId、organizationId、またはbillingAccountIdフィールドとそれに対応する値を設定します。 - 2
- Log Entry の
logNameフィールドに追加する値を設定します。 - 3
- パイプラインを使用して転送するログタイプ (
application、infrastructure、またはaudit) を指定します。
11.15. ログの Splunk への転送 リンクのコピーリンクがクリップボードにコピーされました!
内部のデフォルトの OpenShift Container Platform ログストアに加えて、またはその代わりに、Splunk HTTP Event Collector (HEC) にログを転送できます。
この機能を Fluentd で使用することはサポートされていません。
前提条件
- Red Hat OpenShift Logging Operator 5.6 以降
- コレクターとして vector が指定された ClusterLogging インスタンス
- Base64 でエンコードされた Splunk HEC トークン
手順
Base64 でエンコードされた Splunk HEC トークンを使用してシークレットを作成します。
oc -n openshift-logging create secret generic vector-splunk-secret --from-literal hecToken=<HEC_Token>
$ oc -n openshift-logging create secret generic vector-splunk-secret --from-literal hecToken=<HEC_Token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のテンプレートを使用して、
ClusterLogForwarderカスタムリソース (CR) を作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ClusterLogForwarder CR の名前は
instanceである必要があります。 - 2
- ClusterLogForwarder CR の namespace は
openshift-loggingである必要があります。 - 3
- 出力の名前を指定します。
- 4
- HEC トークンが含まれるシークレットの名前を指定します。
- 5
- 出力タイプを
splunkとして指定します。 - 6
- Splunk HEC の URL (ポートを含む) を指定します。
- 7
- パイプラインを使用して転送するログタイプ (
application、infrastructure、またはaudit) を指定します。 - 8
- オプション: パイプラインの名前を指定します。
- 9
- このパイプラインでログを転送する時に使用する出力の名前を指定します。
11.16. 特定のプロジェクトからのアプリケーションログの転送 リンクのコピーリンクがクリップボードにコピーされました!
クラスターログフォワーダーを使用して、外部ログアグリゲーターに、特定のプロジェクトからアプリケーションログのコピーを送信できます。これは、デフォルトの Elasticsearch ログストアの代わりに、またはこれに加えてデフォルトの Elasticsearch ログストアを使用して実行できます。また、外部ログアグリゲーターを OpenShift Container Platform からログデータを受信できるように設定する必要もあります。
アプリケーションログのプロジェクトからの転送を設定するには、プロジェクトから少なくとも 1 つの入力で ClusterLogForwarder カスタムリソース (CR) を作成し、他のログアグリゲーターのオプション出力、およびそれらの入出力を使用するパイプラインを作成する必要があります。
前提条件
- 指定されたプロトコルまたは形式を使用してロギングデータを受信するように設定されたロギングサーバーが必要です。
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
- 出力の名前を指定します。
- 4
- 出力タイプ
elasticsearch、fluentdForward、syslog、またはkafkaを指定します。 - 5
- 外部ログアグリゲーターの URL およびポートを有効な絶対 URL として指定します。CIDR アノテーションを使用するクラスター全体のプロキシーが有効になっている場合、出力は IP アドレスではなくサーバー名または FQDN である必要があります。
- 6
tls接頭辞を使用する場合は、TLS 通信のエンドポイントに必要なシークレットの名前を指定する必要があります。シークレットはopenshift-loggingプロジェクトに存在し、 tls.crt、 tls.key、 および ca-bundle.crt キーが含まれる必要があります。これらは、それぞれが表す証明書を参照します。- 7
- 指定されたプロジェクトからアプリケーションログをフィルターするための入力の設定。
- 8
- 入力を使用してプロジェクトアプリケーションログを外部 Fluentd インスタンスに送信するためのパイプラインの設定。
- 9
my-app-logs入力。- 10
- 使用する出力の名前。
- 11
- オプション: 構造化された JSON ログエントリーを
structuredフィールドの JSON オブジェクトとして転送するかどうかを指定します。ログエントリーに有効な構造化された JSON が含まれる必要があります。そうでない場合は、OpenShift Logging は構造化フィールドを削除し、代わりにログエントリーをデフォルトのインデックスapp-00000xに送信します。 - 12
- オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
- 13
- ログを他のログアグリゲーターに送信するためのパイプラインの設定。
- オプション: パイプラインの名前を指定します。
-
パイプラインを使用して転送するログタイプ (
application、infrastructureまたはaudit) を指定します。 - このパイプラインでログを転送する時に使用する出力の名前を指定します。
-
オプション: ログを内部 Elasticsearch インスタンスに転送するために
default出力を指定します。 - オプション: 文字列。ログに追加する 1 つまたは複数のラベル。
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.17. 特定の Pod からのアプリケーションログの転送 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、Kubernetes Pod ラベルを使用して特定の Pod からログデータを収集し、これをログコレクターに転送できます。
アプリケーションがさまざまな namespace の他の Pod と共に実行される Pod で設定されるとします。これらの Pod にアプリケーションを識別するラベルがある場合は、それらのログデータを収集し、特定のログコレクターに出力できます。
Pod ラベルを指定するには、1 つ以上の matchLabels のキー/値のペアを使用します。複数のキー/値のペアを指定する場合、Pod は選択されるそれらすべてに一致する必要があります。
手順
ClusterLogForwarderCR オブジェクトを定義する YAML ファイルを作成または編集します。ファイルで、以下の例が示すようにinputs[].name.application.selector.matchLabelsの下で単純な等価ベース (Equality-based) のセレクターを使用して Pod ラベルを指定します。ClusterLogForwarderCR YAML ファイルのサンプルCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR の名前はinstanceである必要があります。- 2
ClusterLogForwarderCR の namespace はopenshift-loggingである必要があります。- 3
inputs[].nameから 1 つ以上のコンマ区切りの値を指定します。- 4
outputs[]から 1 つ以上のコンマ区切りの値を指定します。- 5
- オプション: 構造化された JSON ログエントリーを
structuredフィールドの JSON オブジェクトとして転送するかどうかを指定します。ログエントリーに有効な構造化された JSON が含まれる必要があります。そうでない場合は、OpenShift Logging は構造化フィールドを削除し、代わりにログエントリーをデフォルトのインデックスapp-00000xに送信します。 - 6
- Pod ラベルの一意のセットを持つ各アプリケーションの一意の
inputs[].nameを定義します。 - 7
- 収集するログデータを持つ Pod ラベルのキー/値のペアを指定します。キーだけではなく、キーと値の両方を指定する必要があります。Pod を選択するには、Pod はすべてのキーと値のペアと一致する必要があります。
- 8
- オプション: namespace を 1 つ以上指定します。
- 9
- ログデータを転送する 1 つ以上の出力を指定します。ここで表示されるオプションの
default出力はログデータを内部 Elasticsearch インスタンスに送信します。
-
オプション: ログデータの収集を特定の namespace に制限するには、前述の例のように
inputs[].name.application.namespacesを使用します。 オプション: 異なる Pod ラベルを持つ追加のアプリケーションから同じパイプラインにログデータを送信できます。
-
Pod ラベルの一意の組み合わせごとに、表示されるものと同様の追加の
inputs[].nameセクションを作成します。 -
このアプリケーションの Pod ラベルに一致するように、
selectorsを更新します。 新規の
inputs[].name値をinputRefsに追加します。以下に例を示します。- inputRefs: [ myAppLogData, myOtherAppLogData ]
- inputRefs: [ myAppLogData, myOtherAppLogData ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Pod ラベルの一意の組み合わせごとに、表示されるものと同様の追加の
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.18. ログ転送のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogForwarder カスタムリソース (CR) の作成時に、Red Hat OpenShift Logging Operator により Fluentd Pod が自動的に再デプロイされない場合は、Fluentd Pod を削除して、強制的に再デプロイできます。
前提条件
-
ClusterLogForwarderカスタムリソース (CR) オブジェクトを作成している。
手順
Fluentd Pod を削除して強制的に再デプロイします。
oc delete pod --selector logging-infra=collector
$ oc delete pod --selector logging-infra=collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第12章 JSON ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ログ転送 API を設定して、構造化されたオブジェクトに対して JSON 文字列を解析できます。
12.1. JSON ログの解析 リンクのコピーリンクがクリップボードにコピーされました!
JSON ログなどのログは、通常 message フィールド内の文字列として表されます。これにより、JSON ドキュメント内の特定のフィールドをクエリーすることが困難になります。OpenShift Logging のログ転送 API を使用すると、JSON ログを構造化オブジェクトに解析し、それらを OpenShift Logging が管理する Elasticsearch またはログ転送 API でサポートされる他のサードパーティーシステムに転送できます。
以下の構造化された JSON ログエントリーがあると想定して、これがどのように機能するか説明します。
構造化された JSON ログエントリーの例
{"level":"info","name":"fred","home":"bedrock"}
{"level":"info","name":"fred","home":"bedrock"}
通常、ClusterLogForwarder カスタムリソース (CR) は、そのログエントリーを message フィールドに転送します。message フィールドには、以下の例のように JSON ログエントリーと同等の JSON 引用符で囲まれた文字列が含まれます。
message フィールドの例
{"message":"{\"level\":\"info\",\"name\":\"fred\",\"home\":\"bedrock\"",
"more fields..."}
{"message":"{\"level\":\"info\",\"name\":\"fred\",\"home\":\"bedrock\"",
"more fields..."}
JSON ログの解析を有効にするには、以下の例のように、parse: json を ClusterLogForwarder CR のパイプラインに追加します。
parse: json を示すスニペット例
pipelines: - inputRefs: [ application ] outputRefs: myFluentd parse: json
pipelines:
- inputRefs: [ application ]
outputRefs: myFluentd
parse: json
parse: json を使用して JSON ログの解析を有効にすると、以下の例のように CR は 構造化 フィールドに JSON-structured ログエントリーをコピーします。元の message フィールドは変更されません。
構造化された JSON ログエントリーを含む 構造化された 出力例
{"structured": { "level": "info", "name": "fred", "home": "bedrock" },
"more fields..."}
{"structured": { "level": "info", "name": "fred", "home": "bedrock" },
"more fields..."}
ログエントリーに有効な構造化された JSON が含まれていない場合に、構造化された フィールドはなくなります。
特定のロギングプラットフォームの JSON ログの解析を有効にするには、ログのサードパーティーシステムへの転送 を参照してください。
12.2. Elasticsearch の JSON ログデータの設定 リンクのコピーリンクがクリップボードにコピーされました!
JSON ログが複数のスキーマに従う場合は、それらを 1 つのインデックスに保存すると、タイプの競合やカーディナリティーの問題が発生する可能性があります。これを回避するには、1 つの出力定義に、各スキーマをグループ化するように ClusterLogForwarder カスタムリソース (CR) を設定する必要があります。これにより、各スキーマが別のインデックスに転送されます。
JSON ログを OpenShift Logging によって管理されるデフォルトの Elasticsearch インスタンスに転送する場合に、設定に基づいて新規インデックスが生成されます。インデックスが多すぎることが原因のパフォーマンスの問題を回避するには、共通のスキーマに標準化して使用できるスキーマの数を保持することを検討してください。
構造化タイプ
ClusterLogForwarder CR で以下の構造タイプを使用し、Elasticsearch ログストアのインデックス名を作成できます。
structuredTypeKey(string, optional) は、メッセージフィールドの名前です。このフィールドの値 (ある場合) はインデックス名の作成に使用されます。-
kubernetes.labels.<key>は、インデックス名の作成に使用される Kubernetes pod ラベルの値です。 -
openshift.labels.<key>は、インデックス名の作成に使用されるClusterLogForwarderCR のpipeline.label.<key> 要素です。 -
kubernetes.container_nameはコンテナー名を使用してインデックス名を作成します。
-
-
structuredTypeName:(文字列、オプション)structuredTypeKeyが設定されておらず、そのキーが存在しない場合、OpenShift Logging はstructuredTypeNameの値を構造化型として使用します。structuredTypeKeyandstructuredTypeNameの両方を使用する場合に、structuredTypeNameは、構造化されたTypeKeyのキーが JSON ログデータにない場合にフォールバックインデックス名を指定します。
structuredTypeKey の値を Log Record Fields トピックに記載されている任意のフィールドに設定できますが、構造タイプの前に来るリストに最も便利なフィールドが表示されます。
structuredTypeKey: kubernetes.labels.<key> の例
以下と仮定します。
- クラスターが、apache および google という 2 つの異なる形式で JSON ログを生成するアプリケーション Pod を実行している。
-
ユーザーはこれらのアプリケーション Pod に
logFormat=apacheとlogFormat=googleのラベルを付ける。 -
以下のスニペットを
ClusterLogForwarderCR YAML ファイルで使用する。
この場合は、以下の構造化ログレコードが app-apache-write インデックスに送信されます。
{
"structured":{"name":"fred","home":"bedrock"},
"kubernetes":{"labels":{"logFormat": "apache", ...}}
}
{
"structured":{"name":"fred","home":"bedrock"},
"kubernetes":{"labels":{"logFormat": "apache", ...}}
}
また、以下の構造化ログレコードは app-google-write インデックスに送信されます。
{
"structured":{"name":"wilma","home":"bedrock"},
"kubernetes":{"labels":{"logFormat": "google", ...}}
}
{
"structured":{"name":"wilma","home":"bedrock"},
"kubernetes":{"labels":{"logFormat": "google", ...}}
}
A structuredTypeKey: openshift.labels.<key> の例
以下のスニペットを ClusterLogForwarder CR YAML ファイルで使用すると仮定します。
この場合は、以下の構造化ログレコードが app-myValue-write インデックスに送信されます。
{
"structured":{"name":"fred","home":"bedrock"},
"openshift":{"labels":{"myLabel": "myValue", ...}}
}
{
"structured":{"name":"fred","home":"bedrock"},
"openshift":{"labels":{"myLabel": "myValue", ...}}
}
その他の考慮事項
- 構造化されたレコードの Elasticsearch インデックス は、構造化型の前に app-を、後ろに-write を追加して設定されます。
- 非構造化レコードは、構造化されたインデックスに送信されません。これらは、通常アプリケーション、インフラストラクチャー、または監査インデックスでインデックス化されます。
-
空でない構造化タイプがない場合は、unstructured レコードを
structuredフィールドなしで転送します。
過剰なインデックスで Elasticsearch を読み込まないようにすることが重要です。各アプリケーションや namespace ごとにではなく、個別のログ形式 のみに特定の構造化タイプを使用します。たとえば、ほとんどの Apache アプリケーションは、LogApache などの同じ JSON ログ形式と構造化タイプを使用します。
12.3. JSON ログの Elasticsearch ログストアへの転送 リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch ログストアの場合は、JSON ログエントリーが異なるスキーマに従う場合、各 JSON スキーマを 1 つの出力定義にグループ化するように ClusterLogForwarder カスタムリソース (CR) を設定します。これにより、Elasticsearch はスキーマごとに個別のインデックスを使用します。
異なるスキーマを同じインデックスに転送するとタイプの競合やカーディナリティーの問題を引き起こす可能性があるため、データを Elasticsearch ストアに転送する前にこの設定を実行する必要があります。
インデックスが多すぎることが原因のパフォーマンスの問題を回避するには、共通のスキーマに標準化して使用できるスキーマの数を保持することを検討してください。
手順
以下のスニペットを
ClusterLogForwarderCR YAML ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
オプション: Elasticsearch の JSON ログデータの設定 で前述しているように、
structuredTypeKeyを使用してログレコードフィールドのいずれかを指定します。それ以外の場合は、この行を削除します。 オプション: Elasticsearch の JSON ログデータの設定 で前述しているように
structuredTypeNameを使用して<name>を指定します。それ以外の場合は、この行を削除します。重要JSON ログを解析するには、
structuredTypeKeyまたはstructuredTypeNameか、structuredTypeKeyとstructuredTypeNameの両方を設定する必要があります。-
inputRefsの場合は、application、infrastructureまたはauditなどのパイプラインを使用して転送するログタイプを指定します。 -
parse: json要素をパイプラインに追加します。 CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Logging Operator は Fluentd Pod を再デプロイします。ただし、再デプロイが完了しない場合は、Fluentd Pod を削除して、強制的に再デプロイされるようにします。
oc delete pod --selector logging-infra=collector
$ oc delete pod --selector logging-infra=collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第13章 Kubernetes イベントの収集および保存 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform イベントルーターは、Kubernetes イベントを監視し、それらをロギングシステムによって収集できるようにログに記録する pod です。イベントルーターは手動でデプロイする必要があります。
イベントルーターはすべてのプロジェクトからイベントを収集し、それらを STDOUT に書き込みます。次に、コレクターはそれらのイベントを ClusterLogForwarder カスタムリソース (CR) で定義されたストアに転送します。
イベントルーターは追加の負荷を Fluentd に追加し、処理できる他のログメッセージの数に影響を与える可能性があります。
13.1. イベントルーターのデプロイおよび設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用してイベントルーターをクラスターにデプロイします。イベントルーターを openshift-logging プロジェクトに常にデプロイし、クラスター全体でイベントが収集されるようにする必要があります。
以下のテンプレートオブジェクトは、イベントルーターに必要なサービスアカウント、クラスターロールおよびクラスターロールバインディングを作成します。テンプレートはイベントルーター Pod も設定し、デプロイします。このテンプレートは変更せずに使用するか、デプロイメントオブジェクトの CPU およびメモリー要求を変更できます。
前提条件
- サービスアカウントを作成し、クラスターロールバインディングを更新するには、適切なパーミッションが必要です。たとえば、以下のテンプレートを、cluster-admin ロールを持つユーザーで実行できます。
- Red Hat OpenShift のロギングサブシステムをインストールする必要があります。
手順
イベントルーターのテンプレートを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- イベントルーターの
openshift-loggingプロジェクトでサービスアカウントを作成します。 - 2
- ClusterRole を作成し、クラスター内のイベントを監視します。
- 3
- ClusterRoleBinding を作成し、ClusterRole をサービスアカウントにバインドします。
- 4
openshift-loggingプロジェクトで設定マップを作成し、必要なconfig.jsonファイルを生成します。- 5
openshift-loggingプロジェクトでデプロイメントを作成し、イベントルーター Pod を生成し、設定します。- 6
v0.4などのタグで識別されるイメージを指定します。- 7
- イベントルーター Pod に割り当てる CPU の最小量を指定します。デフォルトは
100mに設定されます。 - 8
- イベントルーター Pod に割り当てるメモリーの最小量を指定します。デフォルトは
128Miに設定されます。 - 9
- オブジェクトをインストールする
openshift-loggingプロジェクトを指定します。
以下のコマンドを使用してテンプレートを処理し、これを適用します。
oc process -f <templatefile> | oc apply -n openshift-logging -f -
$ oc process -f <templatefile> | oc apply -n openshift-logging -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc process -f eventrouter.yaml | oc apply -n openshift-logging -f -
$ oc process -f eventrouter.yaml | oc apply -n openshift-logging -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
serviceaccount/eventrouter created clusterrole.authorization.openshift.io/event-reader created clusterrolebinding.authorization.openshift.io/event-reader-binding created configmap/eventrouter created deployment.apps/eventrouter created
serviceaccount/eventrouter created clusterrole.authorization.openshift.io/event-reader created clusterrolebinding.authorization.openshift.io/event-reader-binding created configmap/eventrouter created deployment.apps/eventrouter createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow イベントルーターが
openshift-loggingプロジェクトにインストールされていることを確認します。新規イベントルーター Pod を表示します。
oc get pods --selector component=eventrouter -o name -n openshift-logging
$ oc get pods --selector component=eventrouter -o name -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
pod/cluster-logging-eventrouter-d649f97c8-qvv8r
pod/cluster-logging-eventrouter-d649f97c8-qvv8rCopy to Clipboard Copied! Toggle word wrap Toggle overflow イベントルーターによって収集されるイベントを表示します。
oc logs <cluster_logging_eventrouter_pod> -n openshift-logging
$ oc logs <cluster_logging_eventrouter_pod> -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc logs cluster-logging-eventrouter-d649f97c8-qvv8r -n openshift-logging
$ oc logs cluster-logging-eventrouter-d649f97c8-qvv8r -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"verb":"ADDED","event":{"metadata":{"name":"openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","namespace":"openshift-service-catalog-removed","selfLink":"/api/v1/namespaces/openshift-service-catalog-removed/events/openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","uid":"787d7b26-3d2f-4017-b0b0-420db4ae62c0","resourceVersion":"21399","creationTimestamp":"2020-09-08T15:40:26Z"},"involvedObject":{"kind":"Job","namespace":"openshift-service-catalog-removed","name":"openshift-service-catalog-controller-manager-remover","uid":"fac9f479-4ad5-4a57-8adc-cb25d3d9cf8f","apiVersion":"batch/v1","resourceVersion":"21280"},"reason":"Completed","message":"Job completed","source":{"component":"job-controller"},"firstTimestamp":"2020-09-08T15:40:26Z","lastTimestamp":"2020-09-08T15:40:26Z","count":1,"type":"Normal"}}{"verb":"ADDED","event":{"metadata":{"name":"openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","namespace":"openshift-service-catalog-removed","selfLink":"/api/v1/namespaces/openshift-service-catalog-removed/events/openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","uid":"787d7b26-3d2f-4017-b0b0-420db4ae62c0","resourceVersion":"21399","creationTimestamp":"2020-09-08T15:40:26Z"},"involvedObject":{"kind":"Job","namespace":"openshift-service-catalog-removed","name":"openshift-service-catalog-controller-manager-remover","uid":"fac9f479-4ad5-4a57-8adc-cb25d3d9cf8f","apiVersion":"batch/v1","resourceVersion":"21280"},"reason":"Completed","message":"Job completed","source":{"component":"job-controller"},"firstTimestamp":"2020-09-08T15:40:26Z","lastTimestamp":"2020-09-08T15:40:26Z","count":1,"type":"Normal"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、Elasticsearch
infraインデックスを使用してインデックスパターンを作成し、Kibana を使用してイベントを表示することもできます。
第14章 OpenShift Logging の更新 リンクのコピーリンクがクリップボードにコピーされました!
14.1. サポート対象バージョン リンクのコピーリンクがクリップボードにコピーされました!
バージョンの互換性とサポート情報については、Red Hat OpenShift Container Platform Life Cycle Policy を参照してください。
OpenShift Container Platform バージョン 4.6 以前でクラスターロギングから OpenShift Logging 5.x にアップグレードするには、OpenShift Container Platform クラスターをバージョン 4.7 または 4.8 に更新します。次に、以下の Operator を更新します。
- Elasticsearch Operator 4.x から OpenShift Elasticsearch Operator 5.x へ
- Cluster Logging Operator 4.x から Red Hat OpenShift Logging Operator 5.x へ
以前のバージョンの OpenShift Logging から現行バージョンにアップグレードするには、OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator を現行バージョンに更新します。
14.2. Logging を現在のバージョンに更新する リンクのコピーリンクがクリップボードにコピーされました!
Logging を現在のバージョンに更新するには、OpenShift Elasticsearch Operator および Red Hat OpenShift Logging Operator のサブスクリプションを変更します。
Red Hat OpenShift Logging Operator を更新する前に OpenShift Elasticsearch Operator を更新する必要があります。また、両方の Operator を同じバージョンに更新する必要があります。
Operator を間違った順序で更新すると、Kibana は更新されず、Kibana カスタムリソース (CR) は作成されません。この問題を回避するには、Red Hat OpenShift Logging Operator Pod を削除します。Red Hat OpenShift Logging Operator Pod が再デプロイされると、Kibana CR が作成され、Kibana が再度利用可能になります。
前提条件
- OpenShift Container Platform バージョンが 4.7 以降である。
ロギングステータスは正常です。
-
すべての Pod が
Ready状態にある。 - Elasticsearch クラスターが正常である。
-
すべての Pod が
- Elasticsearch および Kibana データのバックアップが作成されている。
手順
OpenShift Elasticsearch Operator を更新します。
- Web コンソールで Operators → Installed Operators をクリックします。
-
openshift-operators-redhatプロジェクトを選択します。 - OpenShift Elasticsearch Operator をクリックします。
- Subscription → Channel をクリックします。
- Change Subscription Update Channel ウィンドウで stable-5.x を選択し、Save をクリックします。
- 数秒待ってから Operators → Installed Operators をクリックします。
- OpenShift Elasticsearch Operator のバージョンが 5.x.x であることを確認します。
- Status フィールドで Succeeded を報告するのを待機します。
Red Hat OpenShift Logging Operator を更新します。
- Web コンソールで Operators → Installed Operators をクリックします。
-
openshift-loggingプロジェクトを選択します。 - Red Hat OpenShift Logging Operator をクリックします。
- Subscription → Channel をクリックします。
- Change Subscription Update Channel ウィンドウで stable-5.x を選択し、Save をクリックします。
- 数秒待ってから Operators → Installed Operators をクリックします。
- Red Hat OpenShift Logging Operator のバージョンが 5.y.z であることを確認します。
- Status フィールドで Succeeded を報告するのを待機します。
ロギングコンポーネントを確認します。
すべての Elasticsearch Pod が Ready ステータスであることを確認します。
oc get pod -n openshift-logging --selector component=elasticsearch
$ oc get pod -n openshift-logging --selector component=elasticsearchCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk 2/2 Running 0 31m elasticsearch-cdm-1pbrl44l-2-5c6d87589f-gx5hk 2/2 Running 0 30m elasticsearch-cdm-1pbrl44l-3-88df5d47-m45jc 2/2 Running 0 29m
NAME READY STATUS RESTARTS AGE elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk 2/2 Running 0 31m elasticsearch-cdm-1pbrl44l-2-5c6d87589f-gx5hk 2/2 Running 0 30m elasticsearch-cdm-1pbrl44l-3-88df5d47-m45jc 2/2 Running 0 29mCopy to Clipboard Copied! Toggle word wrap Toggle overflow Elasticsearch クラスターが正常であることを確認します。
oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- health
$ oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow { "cluster_name" : "elasticsearch", "status" : "green", }{ "cluster_name" : "elasticsearch", "status" : "green", }Copy to Clipboard Copied! Toggle word wrap Toggle overflow Elasticsearch cron ジョブが作成されていることを確認します。
oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get cronjob
$ oc get cronjobCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE elasticsearch-im-app */15 * * * * False 0 <none> 56s elasticsearch-im-audit */15 * * * * False 0 <none> 56s elasticsearch-im-infra */15 * * * * False 0 <none> 56s
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE elasticsearch-im-app */15 * * * * False 0 <none> 56s elasticsearch-im-audit */15 * * * * False 0 <none> 56s elasticsearch-im-infra */15 * * * * False 0 <none> 56sCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログストアが 5.x に更新され、インデックスが
greenであることを確認します。oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- indices
$ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- indicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力に
app-00000x、infra-00000x、audit-00000x、.securityインデックス が含まれることを確認します。例14.1 緑色のステータスのインデックスを含む出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログコレクターが以下に更新されていることを確認します。
oc get ds collector -o json | grep collector
$ oc get ds collector -o json | grep collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力に
collectortコンテナーが含まれていることを確認します。"containerName": "collector"
"containerName": "collector"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kibana CRD を使用してログビジュアライザーが 5.x に更新されていることを確認します。
oc get kibana kibana -o json
$ oc get kibana kibana -o jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力に
readyステータスの Kibana Pod が含まれることを確認します。例14.2 準備状態にある Kibana Pod の出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第15章 クラスターダッシュボードの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールの Logging/Elasticsearch Nodes および Openshift Logging ダッシュボードは、 Elasticsearch インスタンスや、問題の発生防止および診断に使用できる個別の Elasticsearch ノードについての詳細情報を表示します。
OpenShift Logging ダッシュボードには、クラスターリソース、ガベージコレクション、クラスターのシャード、Fluentd 統計など、クラスターレベルでの Elasticsearch インスタンスについての詳細を表示するチャートが含まれます。
Logging/Elasticsearch Nodes ダッシュボードには、Elasticsearch インスタンスの詳細を表示するチャートが含まれます。これらのチャートの多くはノードレベルのものであり、これには、インデックス、シャード、リソースなどの詳細が含まれます。
より詳細なデータについては、ダッシュボードの Grafana UI リンクをクリックして Grafana ダッシュボードを起動します。Grafana には OpenShift cluster monitoring が同梱されています。
15.1. Elastisearch および Openshift Logging ダッシュボードへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールで Logging/Elasticsearch Nodes および Openshift Logging ダッシュボードを表示できます。
手順
ダッシュボードを起動するには、以下を実行します。
- OpenShift Container Platform Web コンソールで、Observe → Dashboards をクリックします。
Dashboards ページで、Dashboard メニューから Logging/Elasticsearch Nodes または Openshift Logging を選択します。
Logging/Elasticsearch Nodes ダッシュボードの場合は、表示する必要のある Elasticsearch ノードを選択し、データの解像度を設定できます。
適切なダッシュボードが表示され、データの複数のチャートが表示されます。
- 必要に応じて、Time Range メニューおよび Refresh Interval メニューから、データを表示するさまざまな時間の範囲またはデータのリフレッシュレートを選択します。
より詳細なデータについては、Grafana UI リンクをクリックして Grafana ダッシュボードを起動します。
ダッシュボードチャートについての詳細は、About the OpenShift Logging dashboard および About the Logging/Elastisearch Nodes dashboard を参照してください。
15.2. OpenShift Logging ダッシュボードについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Logging ダッシュボードには、クラスターレベルで Elasticsearch インスタンスの詳細を表示するチャートが含まれており、これを使用して問題を診断し、予測できます。
| メトリック | 説明 |
|---|---|
| Elastic Cluster Status (Elastic Cluster のステータス) | Elasticsearch の現行ステータス:
|
| Elastic Nodes (Elastic ノード) | Elasticsearch インスタンス内の Elasticsearch ノードの合計数。 |
| Elastic Shards (Elastic シャード) | Elasticsearch インスタンス内の Elasticsearch シャードの合計数。 |
| Elastic Documents (Elastic ドキュメント) | Elasticsearch インスタンス内の Elasticsearch ドキュメントの合計数。 |
| Total Index Size on Disk (ディスク上の合計インデックスサイズ) | Elasticsearch インデックスに使用されるディスク容量の合計。 |
| Elastic Pending Tasks (Elastic の保留中のタスク) | インデックスの作成、インデックスのマッピング、シャードの割り当て、シャードの失敗など、完了していない Elasticsearch 変更の合計数。 |
| Elastic JVM GC time (Elastic JVM GC 時間) | JVM がクラスターでの Elasticsearch ガベージコレクション操作の実行に費した時間。 |
| Elastic JVM GC Rate (Elastic JVM GC レート) | JVM が 1 秒ごとにガベージアクティビティーを実行する合計回数。 |
| Elastic Query/Fetch Latency Sum (Elastic クエリー/フェッチのレイテンシーの合計) |
通常、フェッチレイテンシーの時間はクエリーレイテンシーよりも短くなります。フェッチレイテンシーが一貫して増加する場合、これはディスクの速度の低下、データの増加、または結果が多すぎる大規模な要求があることを示している可能性があります。 |
| Elastic Query Rate (Elastic クエリーレート) | 各 Elasticsearch ノードの 1 秒あたりに Elasticsearch インスタンスに対して実行されたクエリーの合計。 |
| CPU | コンポーネントごとに表示される Elasticsearch、Fluentd、および Kibana によって使用される CPU の量。 |
| Elastic JVM Heap Used (Elastic JVM ヒープの使用) | 使用される JVM メモリーの量。正常なクラスターでは、JVM ガベージコレクションによってメモリーが解放されると、グラフは定期的な低下を示します。 |
| Elasticsearch Disk Usage (Elasticsearch ディスクの使用) | 各 Elasticsearch ノードの Elasticsearch インスタンスによって使用されるディスク容量の合計。 |
| File Descriptors In Use (使用中のファイル記述子) | Elasticsearch、Fluentd、および Kibana によって使用されるファイル記述子の合計数。 |
| FluentD emit count (Fluentd の生成数) | Fluentd デフォルト出力の 1 秒あたりの Fluentd メッセージの合計数およびデフォルト出力の再試行数。 |
| FluentD Buffer Availability (Fluentd バッファーの可用性) | チャンクに使用できる Fluentd バッファーのパーセント。バッファーが一杯になると、Fluentd が受信するログ数を処理できないことを示す可能性があります。 |
| Elastic rx bytes (Elastic rx バイト) | Elasticsearch が FluentD、Elasticsearch ノード、およびその他のソースから受信した合計バイト数。 |
| Elastic Index Failure Rate (Elastic インデックス失敗率) | Elasticsearch インデックスで失敗した 1 秒あたりの合計回数。レートが高い場合は、インデックスに問題があることを示す可能性があります。 |
| FluentD Output Error Rate (Fluentd 出力エラー率) | FluentD がログの出力に失敗する 1 秒あたりの合計回数。 |
15.3. Logging/Elasticsearch ノードダッシュボードのチャート リンクのコピーリンクがクリップボードにコピーされました!
Logging/Elasticsearch Nodes ダッシュボードには、追加の診断に使用できる Elasticsearch インスタンスの詳細を表示するチャートが含まれます。これらのチャートの多くはノードレベルのものです。
- Elasticsearch ステータス
- Logging/Elasticsearch Nodes ダッシュボードには、Elasticsearch インスタンスのステータスに関する以下のチャートが含まれます。
| メトリック | 説明 |
|---|---|
| Cluster status (クラスターステータス) | Elasticsearch の green、yellow、および red ステータスを使用する、選択された期間におけるクラスターの正常性ステータス。
|
| Cluster nodes (クラスターノード) | クラスター内の Elasticsearch ノードの合計数。 |
| Cluster data nodes (クラスターデータノード) | クラスター内の Elasticsearch データノードの数。 |
| Cluster pending tasks (クラスターの保留中のタスク) | 終了しておらず、クラスターキューで待機中のクラスター状態変更の数。たとえば、インデックスの作成、インデックスの削除、シャードの割り当てなどがあります。増加傾向は、クラスターが変更に対応できないことを示します。 |
- Elasticsearch クラスターインデックスシャードのステータス
- 各 Elasticsearch インデックスは、永続化されたデータの基本単位である 1 つ以上のシャードの論理グループです。インデックスシャードには、プライマリーシャードとレプリカシャードの 2 つのタイプがあります。ドキュメントがインデックスにインデックス化されると、これはプライマリーシャードのいずれかに保存され、そのシャードのすべてのレプリカにコピーされます。プライマリーシャードの数はインデックスの作成時に指定され、この数はインデックスの有効期間に変更することはできません。レプリカシャードの数はいつでも変更できます。
インデックスシャードは、ライフサイクルフェーズまたはクラスターで発生するイベントに応じて複数の状態に切り替わります。シャードが検索およびインデックス要求を実行できる場合、シャードはアクティブになります。シャードがこれらの要求を実行できない場合、シャードは非アクティブになります。シャードが初期化、再割り当て、未割り当てなどの状態にある場合は、シャードが非アクティブになる可能性があります。
インデックスシャードは、データの物理表現であるインデックスセグメントと呼ばれる数多くの小さな内部ブロックで設定されます。インデックスセグメントは、Lucene が新たにインデックス化されたデータをコミットしたときに作成される比較的小さく、イミュータブルな Lucene インデックスです。Lucene (Elasticsearch によって使用される検索ライブラリー) は、バックグラウンドでインデックスセグメントをより大きなセグメントにマージし、セグメントの合計数を低い状態に維持します。セグメントをマージするプロセスが新規セグメントが作成される速度よりも遅くなる場合は、問題があることを示す可能性があります。
Lucene が検索操作などのデータ操作を実行する場合、Lucene は関連するインデックスのインデックスセグメントに対して操作を実行します。そのため、各セグメントには、メモリーにロードされ、マップされる特定のデータ構造が含まれます。インデックスマッピングは、セグメントデータ構造で使用されるメモリーに大きく影響を与える可能性があります。
Logging/Elasticsearch Nodes ダッシュボードには、Elasticsearch インデックスシャードに関する以下のチャートが含まれます。
| メトリック | 説明 |
|---|---|
| Cluster active shards (クラスターのアクティブシャード) | クラスターにおけるアクティブなプライマリーシャードの数と、レプリカを含むシャードの合計数。シャードの数が大きくなると、クラスターのパフォーマンスが低下し始める可能性があります。 |
| Cluster initializing shards (クラスターの初期化シャード) | クラスターのアクティブではないシャードの数。アクティブではないシャードは、初期化され、別のノードに再配置されるているシャードや、割り当てられていないシャードを指します。通常、クラスターには短期間アクティブではないシャードがあります。長期間にわたってアクティブではないシャードの数が増える場合は、問題があることを示す可能性があります。 |
| Cluster relocating shards (クラスターの再配置シャード) | Elasticsearch が新規ノードに再配置されているシャードの数。Elasticsearch は、ノードでのメモリー使用率が高い場合や新規ノードがクラスターに追加された後などの複数の理由によりノードを再配置します。 |
| Cluster unassigned shards (クラスター未割り当てシャード) | 未割り当てのシャードの数。Elasticsearch シャードは、新規インデックスの追加やノードの障害などの理由で割り当てられない可能性があります。 |
- Elasticsearch ノードメトリック
- 各 Elasticsearch ノードには、タスクの処理に使用できるリソースの量に制限があります。すべてのリソースが使用中で、Elasticsearch が新規タスクの実行を試行する場合、Elasticsearch は一部のリソースが利用可能になるまでタスクをキューに入れます。
Logging/Elasticsearch Nodes ダッシュボードには、選択されたノードのリソース使用状況に関する以下のチャートと Elasticsearch キューで待機中のタスクの数が含まれます。
| メトリック | 説明 |
|---|---|
| ThreadPool tasks (ThreadPool タスク) | 個別のキューの待機中のタスクの数 (タスクタイプ別に表示されます)。キュー内のタスクの長期間累積した状態は、ノードリソースの不足やその他の問題があることを示す可能性があります。 |
| CPU usage (CPU の使用率) | ホストコンテナーに割り当てられる CPU の合計の割合として、選択した Elasticsearch ノードによって使用される CPU の量。 |
| メモリー使用量 | 選択した Elasticsearch ノードによって使用されるメモリー量。 |
| Disk usage (ディスク使用量) | 選択された Elasticsearch ノードのインデックスデータおよびメタデータに使用されるディスク容量の合計。 |
| Documents indexing rate (ドキュメントインデックス化レート) | ドキュメントが選択された Elasticsearch ノードでインデックス化されるレート。 |
| Indexing latency (インデックス化レイテンシー) | 選択された Elasticsearch ノードでドキュメントをインデックス化するのに必要となる時間。インデックス化レイテンシーは、JVM ヒープメモリーや全体の負荷などの多くの要素による影響を受ける可能性があります。レイテンシーが増加する場合は、インスタンス内のリソース容量が不足していることを示します。 |
| Search rate (検索レート) | 選択された Elasticsearch ノードで実行される検索要求の数。 |
| Search latency (検索レイテンシー) | 選択された Elasticsearch ノードで検索要求を完了するのに必要となる時間。検索レイテンシーは、数多くの要因の影響を受ける可能性があります。レイテンシーが増加する場合は、インスタンス内のリソース容量が不足していることを示します。 |
| Documents count (with replicas)(ドキュメント数 (レプリカ使用)) | 選択された Elasticsearch ノードに保管される Elasticsearch ドキュメントの数。これには、ノードで割り当てられるプライマリーシャードとレプリカシャードの両方に保存されるドキュメントが含まれます。 |
| Documents deleting rate (ドキュメントの削除レート) | 選択された Elasticsearch ノードに割り当てられるいずれかのインデックスシャードから削除される Elasticsearch ドキュメントの数。 |
| Documents merging rate (ドキュメントのマージレート) | 選択された Elasticsearch ノードに割り当てられるインデックスシャードのいずれかでマージされる Elasticsearch ドキュメントの数。 |
- Elasticsearch ノードフィールドデータ
- Fielddata はインデックスの用語のリストを保持する Elasticsearch データ構造であり、JVM ヒープに保持されます。fielddata のビルドはコストのかかる操作であるため、Elasticsearch は fielddata 構造をキャッシュします。Elasticsearch は、基礎となるインデックスセグメントが削除されたり、マージされる場合や、すべての fielddata キャッシュに JVM HEAP メモリーが十分にない場合に、fielddata キャッシュをエビクトできます。
Logging/Elasticsearch Nodes ダッシュボードには、Elasticsearch fielddata に関する以下のチャートが含まれます。
| メトリック | 説明 |
|---|---|
| Fielddata memory size (Fielddata メモリーサイズ) | 選択された Elasticsearch ノードの fielddata キャッシュに使用される JVM ヒープの量。 |
| Fielddata evictions (Fielddata エビクション) | 選択された Elasticsearch ノードから削除された fielddata 構造の数。 |
- Elasticsearch ノードのクエリーキャッシュ
- インデックスに保存されているデータが変更されない場合、検索クエリーの結果は Elasticsearch で再利用できるようにノードレベルのクエリーキャッシュにキャッシュされます。
Logging/Elasticsearch Nodes ダッシュボードには、Elasticsearch ノードのクエリーキャッシュに関する以下のチャートが含まれます。
| メトリック | 説明 |
|---|---|
| Query cache size (クエリーキャッシュサイズ) | 選択された Elasticsearch ノードに割り当てられるすべてのシャードのクエリーキャッシュに使用されるメモリーの合計量。 |
| Query cache evictions (クエリーキャッシュエビクション) | 選択された Elasticsearch ノードでのクエリーキャッシュのエビクション数。 |
| Query cache hits (クエリーキャッシュヒット) | 選択された Elasticsearch ノードでのクエリーキャッシュのヒット数。 |
| Query cache misses (クエリーキャッシュミス) | 選択された Elasticsearch ノードでのクエリーキャッシュのミス数。 |
- Elasticsearch インデックスのスロットリング
- ドキュメントのインデックスを作成する場合、Elasticsearch はデータの物理表現であるインデックスセグメントにドキュメントを保存します。同時に、Elasticsearch はリソースの使用を最適化する方法として、より小さなセグメントをより大きなセグメントに定期的にマージします。インデックス処理がセグメントをマージする機能よりも高速になる場合は、マージプロセスが十分前もって終了せずに、検索やパフォーマンスに関連した問題が生じる可能性があります。この状況を防ぐために、Elasticsearch はインデックスをスロットリングします。通常、インデックスに割り当てられるスレッド数を 1 つのスレッドに減らすことで制限できます。
Logging/Elasticsearch Nodes ダッシュボードには、Elasticsearch インデックスのスロットリングに関する以下のチャートが含まれます。
| メトリック | 説明 |
|---|---|
| Indexing throttling (インデックスのスロットリング) | Elasticsearch が選択された Elasticsearch ノードでインデックス操作をスロットリングしている時間。 |
| Merging throttling (マージのスロットリング) | Elasticsearch が選択された Elasticsearch ノードでセグメントのマージ操作をスロットリングしている時間。 |
- ノード JVM ヒープの統計
- Logging/Elasticsearch Nodes ダッシュボードには、JVM ヒープ操作に関する以下のチャートが含まれます。
| メトリック | 説明 |
|---|---|
| Heap used (ヒープの使用) | 選択された Elasticsearch ノードで使用される割り当て済みの JVM ヒープ領域の合計。 |
| GC count (GC 数) | 新旧のガベージコレクションによって、選択された Elasticsearch ノードで実行されてきたガベージコレクション操作の数。 |
| GC time (GC 時間) | JVM が、新旧のガベージコレクションによって選択された Elasticsearch ノードでガベージコレクションを実行してきた時間。 |
第16章 ロギングのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
16.1. OpenShift Logging ステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging Operator のステータスおよびいくつかのロギングサブシステムコンポーネントを表示できます。
16.1.1. Red Hat OpenShift Logging Operator のステータス表示 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Logging Operator のステータスを表示できます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
openshift-loggingプロジェクトに切り替えます。oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Logging のステータスを表示するには、以下を実行します。
OpenShift Logging のステータスを取得します。
oc get clusterlogging instance -o yaml
$ oc get clusterlogging instance -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.1.1.1. 状態メッセージ (condition message) のサンプル リンクのコピーリンクがクリップボードにコピーされました!
以下は、OpenShift Logging インスタンスの Status.Nodes セクションからの一部の状態メッセージの例です。
以下のようなステータスメッセージは、ノードが設定された低基準値を超えており、シャードがこのノードに割り当てられないことを示します。
出力例
以下のようなステータスメッセージは、ノードが設定された高基準値を超えており、シャードが他のノードに移動させられることを示します。
出力例
以下のようなステータスメッセージは、CR の Elasticsearch ノードセレクターがクラスターのいずれのノードにも一致しないことを示します。
出力例
以下のようなステータスメッセージは、要求された PVC が PV にバインドされないことを示します。
出力例
以下のようなステータスメッセージは、ノードセレクターがいずれのノードにも一致しないため、Fluentd Pod をスケジュールできないことを示します。
出力例
16.1.2. ロギングサブシステムコンポーネントのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
いくつかのロギングサブシステムコンポーネントのステータスを表示できます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
openshift-loggingプロジェクトに切り替えます。oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift 環境のロギングサブシステムのステータスを表示します。
oc describe deployment cluster-logging-operator
$ oc describe deployment cluster-logging-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロギングサブシステムレプリカセットのステータスを表示します。
レプリカセットの名前を取得します。
出力例
oc get replicaset
$ oc get replicasetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow レプリカセットのステータスを取得します。
oc describe replicaset cluster-logging-operator-574b8987df
$ oc describe replicaset cluster-logging-operator-574b8987dfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.2. Elasticsearch ログストアのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Elasticsearch Operator のステータスや、数多くの Elasticsearch コンポーネントを表示できます。
16.2.1. ログストアのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
ログストアのステータスを表示できます。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
openshift-loggingプロジェクトに切り替えます。oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow ステータスを表示するには、以下を実行します。
ログストアインスタンスの名前を取得します。
oc get Elasticsearch
$ oc get ElasticsearchCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE elasticsearch 5h9m
NAME AGE elasticsearch 5h9mCopy to Clipboard Copied! Toggle word wrap Toggle overflow ログストアのステータスを取得します。
oc get Elasticsearch <Elasticsearch-instance> -o yaml
$ oc get Elasticsearch <Elasticsearch-instance> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc get Elasticsearch elasticsearch -n openshift-logging -o yaml
$ oc get Elasticsearch elasticsearch -n openshift-logging -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、以下のような情報が含まれます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 出力の
statusスタンザに、クラスターステータスのフィールドが表示されます。 - 2
- ログストアのステータス:
- アクティブなプライマリーシャードの数
- アクティブなシャードの数
- 初期化されるシャードの数
- ログストアデータノードの数。
- ログストアノードの合計数。
- 保留中のタスクの数。
-
ログストアのステータス:
green、red、yellow。 - 未割り当てのシャードの数。
- 3
- ステータス状態 (ある場合)。ログストアのステータスは、Pod が配置されていない場合にスケジューラーからの理由を示します。以下の状況に関連したイベントが表示されます。
- コンテナーログストアとプロキシーコンテナーの両方を待機中。
- ログストアコンテナーとプロキシーコンテナーの両方でコンテナーが終了している。
- Pod がスケジュール対象外である。また、いくつかの問題に関する条件も示されています。詳細は、状態メッセージのサンプル を参照してください。
- 4
upgradeStatusのあるクラスター内のログストアノード。- 5
- 'failed`、
notReadyまたはready状態の下にリスト表示された、クラスター内のログストアクライアント、データ、およびマスター Pod。
16.2.1.1. 状態メッセージ (condition message) のサンプル リンクのコピーリンクがクリップボードにコピーされました!
以下は、Elasticsearch インスタンスの Status セクションからの一部の状態メッセージの例になります。
以下のステータスメッセージは、ノードが設定された低基準値を超えており、シャードがこのノードに割り当てられないことを示します。
以下のステータスメッセージは、ノードが設定された高基準値を超えており、シャードが他のノードに移動させられることを示します。
以下のステータスメッセージは、CR のログストアノードセレクターがクラスターのいずれのノードにも一致しないことを示します。
以下のステータスメッセージは、ログストア CR が存在しない 永続ボリューム要求 (PVC) を使用することを示します。
以下のステータスメッセージは、ログストアクラスターには冗長性ポリシーをサポートするための十分なノードがないことを示します。
このステータスメッセージは、クラスターにコントロールプレーンノードが多すぎることを示しています。
以下のステータスメッセージは、加えようとした変更が Elasticsearch ストレージでサポートされないことを示します。
以下に例を示します。
reason および type フィールドは、サポート対象外の変更のタイプを指定します。
StorageClassNameChangeIgnored- ストレージクラス名の変更がサポートされていません。
StorageSizeChangeIgnored- ストレージサイズの変更がサポートされていません。
StorageStructureChangeIgnored一時ストレージと永続ストレージ構造間での変更がサポートされていません。
重要ClusterLoggingカスタムリソース (CR) を一時ストレージから永続ストレージに切り替えるように設定する場合に、OpenShift Elasticsearch Operator は永続ボリューム要求 (PVC) を作成しますが、永続ボリューム (PV) は作成されません。StorageStructureChangeIgnoredステータスを削除するには、ClusterLoggingCR への変更を元に戻し、PVC を削除する必要があります。
16.2.2. ログストアコンポーネントのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
数多くのログストアコンポーネントのステータスを表示できます。
- Elasticsearch インデックス
Elasticsearch インデックスのステータスを表示できます。
Elasticsearch Pod の名前を取得します。
oc get pods --selector component=elasticsearch -o name
$ oc get pods --selector component=elasticsearch -o nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
pod/elasticsearch-cdm-1godmszn-1-6f8495-vp4lw pod/elasticsearch-cdm-1godmszn-2-5769cf-9ms2n pod/elasticsearch-cdm-1godmszn-3-f66f7d-zqkz7
pod/elasticsearch-cdm-1godmszn-1-6f8495-vp4lw pod/elasticsearch-cdm-1godmszn-2-5769cf-9ms2n pod/elasticsearch-cdm-1godmszn-3-f66f7d-zqkz7Copy to Clipboard Copied! Toggle word wrap Toggle overflow インデックスのステータスを取得します。
oc exec elasticsearch-cdm-4vjor49p-2-6d4d7db474-q2w7z -- indices
$ oc exec elasticsearch-cdm-4vjor49p-2-6d4d7db474-q2w7z -- indicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- ログストア Pod
ログストアをホストする Pod のステータスを表示できます。
Pod の名前を取得します。
oc get pods --selector component=elasticsearch -o name
$ oc get pods --selector component=elasticsearch -o nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
pod/elasticsearch-cdm-1godmszn-1-6f8495-vp4lw pod/elasticsearch-cdm-1godmszn-2-5769cf-9ms2n pod/elasticsearch-cdm-1godmszn-3-f66f7d-zqkz7
pod/elasticsearch-cdm-1godmszn-1-6f8495-vp4lw pod/elasticsearch-cdm-1godmszn-2-5769cf-9ms2n pod/elasticsearch-cdm-1godmszn-3-f66f7d-zqkz7Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod のステータスを取得します。
oc describe pod elasticsearch-cdm-1godmszn-1-6f8495-vp4lw
$ oc describe pod elasticsearch-cdm-1godmszn-1-6f8495-vp4lwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、以下のようなステータス情報が含まれます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- ログストレージ Pod デプロイメント設定
ログストアのデプロイメント設定のステータスを表示できます。
デプロイメント設定の名前を取得します。
oc get deployment --selector component=elasticsearch -o name
$ oc get deployment --selector component=elasticsearch -o nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
deployment.extensions/elasticsearch-cdm-1gon-1 deployment.extensions/elasticsearch-cdm-1gon-2 deployment.extensions/elasticsearch-cdm-1gon-3
deployment.extensions/elasticsearch-cdm-1gon-1 deployment.extensions/elasticsearch-cdm-1gon-2 deployment.extensions/elasticsearch-cdm-1gon-3Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメント設定のステータスを取得します。
oc describe deployment elasticsearch-cdm-1gon-1
$ oc describe deployment elasticsearch-cdm-1gon-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、以下のようなステータス情報が含まれます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- ログストアのレプリカセット
ログストアのレプリカセットのステータスを表示できます。
レプリカセットの名前を取得します。
oc get replicaSet --selector component=elasticsearch -o name
$ oc get replicaSet --selector component=elasticsearch -o name replicaset.extensions/elasticsearch-cdm-1gon-1-6f8495 replicaset.extensions/elasticsearch-cdm-1gon-2-5769cf replicaset.extensions/elasticsearch-cdm-1gon-3-f66f7dCopy to Clipboard Copied! Toggle word wrap Toggle overflow レプリカセットのステータスを取得します。
oc describe replicaSet elasticsearch-cdm-1gon-1-6f8495
$ oc describe replicaSet elasticsearch-cdm-1gon-1-6f8495Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、以下のようなステータス情報が含まれます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.2.3. Elasticsearch クラスターのステータス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールのObserveセクションにある Grafana ダッシュボードには、Elasticsearch クラスターのステータスが表示されます。
OpenShift Elasticsearch クラスターのステータスを取得するには、OpenShift Container Platform Web コンソールのObserveセクションにある Grafana ダッシュボード <cluster_url>/monitoring/dashboards/grafana-dashboard-cluster-logging にアクセスします。
Elasticsearch ステータスフィールド
eo_elasticsearch_cr_cluster_management_stateElasticsearch クラスターがマネージドか、マネージド外かをを示します。以下に例を示します。
eo_elasticsearch_cr_cluster_management_state{state="managed"} 1 eo_elasticsearch_cr_cluster_management_state{state="unmanaged"} 0eo_elasticsearch_cr_cluster_management_state{state="managed"} 1 eo_elasticsearch_cr_cluster_management_state{state="unmanaged"} 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow eo_elasticsearch_cr_restart_totalElasticsearch ノードが証明書の再起動、ローリング再起動、またはスケジュールされた再起動など、再起動した回数を示します。以下に例を示します。
eo_elasticsearch_cr_restart_total{reason="cert_restart"} 1 eo_elasticsearch_cr_restart_total{reason="rolling_restart"} 1 eo_elasticsearch_cr_restart_total{reason="scheduled_restart"} 3eo_elasticsearch_cr_restart_total{reason="cert_restart"} 1 eo_elasticsearch_cr_restart_total{reason="rolling_restart"} 1 eo_elasticsearch_cr_restart_total{reason="scheduled_restart"} 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow es_index_namespaces_totalElasticsearch インデックス namespace の総数を表示します。以下に例を示します。
Total number of Namespaces. es_index_namespaces_total 5
Total number of Namespaces. es_index_namespaces_total 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow es_index_document_count各 namespace のレコード数を表示します。以下に例を示します。
es_index_document_count{namespace="namespace_1"} 25 es_index_document_count{namespace="namespace_2"} 10 es_index_document_count{namespace="namespace_3"} 5es_index_document_count{namespace="namespace_1"} 25 es_index_document_count{namespace="namespace_2"} 10 es_index_document_count{namespace="namespace_3"} 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Secret Elasticsearch フィールドが見つからないか、空というメッセージ
Elasticsearch に admin-cert、admin-key、logging-es.crt、または logging-es.key ファイルがない場合、ダッシュボードには次の例のようなステータスメッセージが表示されます。
message": "Secret \"elasticsearch\" fields are either missing or empty: [admin-cert, admin-key, logging-es.crt, logging-es.key]", "reason": "Missing Required Secrets",
message": "Secret \"elasticsearch\" fields are either missing or empty: [admin-cert, admin-key, logging-es.crt, logging-es.key]",
"reason": "Missing Required Secrets",
16.3. ロギングサブシステムアラートについて リンクのコピーリンクがクリップボードにコピーされました!
ロギングコレクターのアラートはすべて、OpenShift Container Platform Web コンソールの Alerting UI に一覧表示されます。
16.3.1. ロギングコレクターアラートの表示 リンクのコピーリンクがクリップボードにコピーされました!
アラートは、OpenShift Container Platform Web コンソールの、Alerting UI の Alerts タブに表示されます。アラートは以下の状態のいずれかになります。
- Firingアラートの状態はタイムアウトの期間は true になります。Firing アラートの末尾の Option メニューをクリックし、詳細情報を表示するか、アラートを非通知 (silence) にします。
- Pending: このアラート状態は現時点で true ですが、タイムアウトに達していません。
- Not Firingアラートは現時点でトリガーされていません。
手順
ロギングサブシステムおよびその他の OpenShift Container Platform アラートを表示するには:
- OpenShift Container Platform コンソールで Observe → Alerting の順にクリックします。
- Alerts タブをクリックします。選択したフィルターに基づいてアラートがリスト表示されます。
16.3.2. ロギングコレクターのアラートについて リンクのコピーリンクがクリップボードにコピーされました!
以下のアラートはロギングコレクターによって生成されます。これらのアラートは、OpenShift Container Platform Web コンソールの Alerting UI の Alerts ページで表示できます。
| アラート | メッセージ | 説明 | 重大度 |
|---|---|---|---|
|
|
| FluentD 出力エラーの数は、デフォルトでは直前の 15 分間で 10 分を超えます。 | Warning |
|
|
| Fluentd は Prometheus が特定の Fluentd インスタンスを収集できなかったことを報告します。 | Critical |
|
|
| Fluentd はキューサイズが増加していることを報告しています。 | Critical |
|
|
| FluentD 出力エラーの数は非常に高くなります。デフォルトでは、直前の 15 分間で 25 を超えます。 | Critical |
16.3.3. Elasticsearch アラートルール リンクのコピーリンクがクリップボードにコピーされました!
これらのアラートルールを Prometheus に表示できます。
| アラート | 説明 | 重大度 |
|---|---|---|
|
| クラスターのヘルスステータスは少なくとも 2m の間 RED になります。クラスターは書き込みを受け入れず、シャードが見つからない可能性があるか、マスターノードがまだ選択されていません。 | Critical |
|
| クラスターのヘルスステータスは少なくとも 20m の間 YELLOW になります。一部のシャードレプリカは割り当てられません。 | Warning |
|
| クラスターでは、次の 6 時間以内にディスク領域が不足することが予想されます。 | Critical |
|
| クラスターでは、次の 1 時間以内にファイル記述子が不足することが予想されます。 | Warning |
|
| 指定されたノードでの JVM ヒープの使用率が高くなっています。 | アラート |
|
| 指定されたノードは、ディスクの空き容量が少ないために低基準値に達しています。シャードをこのノードに割り当てることはできません。ノードにディスク領域を追加することを検討する必要があります。 | Info |
|
| 指定されたノードは、ディスクの空き容量が少ないために高基準値に達しています。一部のシャードは可能な場合に別のノードに再度割り当てられる可能性があります。ノードにディスク領域が追加されるか、このノードに割り当てられる古いインデックスをドロップします。 | Warning |
|
| 指定されたノードは、ディスクの空き容量が少ないために高基準値に達しています。このノードにシャードが割り当てられるすべてのインデックスは、読み取り専用ブロックになります。インデックスブロックは、ディスクの使用状況が高基準値を下回る場合に手動で解放される必要があります。 | Critical |
|
| 指定されたノードの JVM ヒープの使用率が高すぎます。 | アラート |
|
| Elasticsearch では、指定されたノードで書き込み拒否が増加しています。このノードはインデックスの速度に追い付いていない可能性があります。 | Warning |
|
| 指定されたノードのシステムで使用される CPU が高すぎます。 | アラート |
|
| 指定されたノードで Elasticsearch によって使用される CPU が高すぎます。 | アラート |
16.4. Red Hat サポート用のロギングデータの収集 リンクのコピーリンクがクリップボードにコピーされました!
サポートケースを作成する際、ご使用のクラスターのデバッグ情報を Red Hat サポートに提供していただくと Red Hat のサポートに役立ちます。
must-gather ツール を使用すると、プロジェクトレベルのリソース、クラスターレベルのリソース、および各ロギングシステムコンポーネントについての診断情報を収集できます。
迅速なサポートを得るには、OpenShift Container Platform と OpenShift Logging の両方の診断情報を提供してください。
hack/logging-dump.sh スクリプトは使用しないでください。このスクリプトはサポートされなくなり、データを収集しません。
16.4.1. must-gather ツールについて リンクのコピーリンクがクリップボードにコピーされました!
oc adm must-gather CLI コマンドは、問題のデバッグに必要となる可能性のあるクラスターからの情報を収集します。
ロギングサブシステムの場合、must-gather は次の情報を収集します。
- プロジェクトレベルの Pod、設定マップ、サービスアカウント、ロール、ロールバインディングおよびイベントを含むプロジェクトレベルのリソース
- クラスターレベルでのノード、ロール、およびロールバインディングを含むクラスターレベルのリソース
-
ログコレクター、ログストア、およびログビジュアライザーなどの
openshift-loggingおよびopenshift-operators-redhatnamespace の OpenShift Logging リソース
oc adm must-gather を実行すると、新しい Pod がクラスターに作成されます。データは Pod で収集され、must-gather.local で始まる新規ディレクトリーに保存されます。このディレクトリーは、現行の作業ディレクトリーに作成されます。
16.4.2. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- ロギングサブシステムと Elasticsearch をインストールする必要があります。
16.4.3. OpenShift Logging データの収集 リンクのコピーリンクがクリップボードにコピーされました!
oc adm must-gather CLI コマンドを使用して、ロギングサブシステムに関する情報を収集できます。
手順
must-gather でロギングサブシステム情報を収集するには、以下を実行します。
-
must-gather情報を保存する必要のあるディレクトリーに移動します。 OpenShift Logging イメージに対して
oc adm must-gatherコマンドを実行します。oc adm must-gather --image=$(oc -n openshift-logging get deployment.apps/cluster-logging-operator -o jsonpath='{.spec.template.spec.containers[?(@.name == "cluster-logging-operator")].image}')$ oc adm must-gather --image=$(oc -n openshift-logging get deployment.apps/cluster-logging-operator -o jsonpath='{.spec.template.spec.containers[?(@.name == "cluster-logging-operator")].image}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow must-gatherツールは、現行ディレクトリー内のmust-gather.localで始まる新規ディレクトリーを作成します。例:must-gather.local.4157245944708210408作成された
must-gatherディレクトリーから圧縮ファイルを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。tar -cvaf must-gather.tar.gz must-gather.local.4157245944708210408
$ tar -cvaf must-gather.tar.gz must-gather.local.4157245944708210408Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 圧縮ファイルを Red Hat カスタマーポータル で作成したサポートケースに添付します。
16.5. Critical Alerts のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
16.5.1. Elasticsearch クラスターの正常性が赤である リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のプライマリーシャードとそのレプリカがノードに割り当てられません。
トラブルシューティング
Elasticsearch クラスターの正常性を確認し、クラスターの
ステータスが赤であることを確認します。oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- health
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターにに参加したノードをリスト表示します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/nodes?v
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/nodes?vCopy to Clipboard Copied! Toggle word wrap Toggle overflow Elasticsearch Pod をリスト表示し、この Pod を直前の手順のコマンド出力にあるノードと比較します。
oc -n openshift-logging get pods -l component=elasticsearch
oc -n openshift-logging get pods -l component=elasticsearchCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一部の Elasticsearch ノードがクラスターに参加していない場合は、以下の手順を実行します。
Elasticsearch に選ばれたコントロールプレーンノードがあることを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/master?v
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/master?vCopy to Clipboard Copied! Toggle word wrap Toggle overflow 選ばれたコントロールプレーンノードの Pod ログで問題を確認します。
oc logs <elasticsearch_master_pod_name> -c elasticsearch -n openshift-logging
oc logs <elasticsearch_master_pod_name> -c elasticsearch -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 問題がないか、クラスターに参加していないノードのログを確認します。
oc logs <elasticsearch_node_name> -c elasticsearch -n openshift-logging
oc logs <elasticsearch_node_name> -c elasticsearch -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
全ノードがクラスターに参加している場合は、以下の手順を実行し、クラスターがリカバリープロセスにあるかどうかを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/recovery?active_only=true
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/recovery?active_only=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの出力がない場合は、リカバリープロセスが保留中のタスクによって遅延しているか、停止している可能性があります。
保留中のタスクがあるかどうかを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- health |grep number_of_pending_tasks
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- health |grep number_of_pending_tasksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 保留中のタスクがある場合は、そのステータスを監視します。
そのステータスが変化し、クラスターがリカバリー中の場合は、そのまま待機します。リカバリー時間は、クラスターのサイズや他の要素により異なります。
保留中のタスクのステータスが変更されない場合は、リカバリーが停止していることがわかります。
リカバリーが停止しているようであれば、
cluster.routing.allocation.enableがnoneに設定されているかどうかを確認します。oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/settings?pretty
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/settings?prettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow cluster.routing.allocation.enableがnoneに設定されている場合は、これをallに設定します。oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/settings?pretty -X PUT -d '{"persistent": {"cluster.routing.allocation.enable":"all"}}'oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/settings?pretty -X PUT -d '{"persistent": {"cluster.routing.allocation.enable":"all"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow どのインデックスが赤のままかを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/indices?v
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/indices?vCopy to Clipboard Copied! Toggle word wrap Toggle overflow インデックスがまだ赤い場合は、以下の手順を実行して赤のインデックスをなくします。
キャッシュをクリアします。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_cache/clear?pretty
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_cache/clear?prettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最大割り当ての再試行回数を増やします。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_settings?pretty -X PUT -d '{"index.allocation.max_retries":10}'oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_settings?pretty -X PUT -d '{"index.allocation.max_retries":10}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクロールアイテムをすべて削除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_search/scroll/_all -X DELETE
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_search/scroll/_all -X DELETECopy to Clipboard Copied! Toggle word wrap Toggle overflow タイムアウトを増やします。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_settings?pretty -X PUT -d '{"index.unassigned.node_left.delayed_timeout":"10m"}'oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_settings?pretty -X PUT -d '{"index.unassigned.node_left.delayed_timeout":"10m"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
前述の手順で赤色のインデックスがなくならない場合は、インデックスを個別に削除します。
赤色のインデックスの名前を特定します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/indices?v
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/indices?vCopy to Clipboard Copied! Toggle word wrap Toggle overflow 赤色のインデックスを削除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_red_index_name> -X DELETE
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_red_index_name> -X DELETECopy to Clipboard Copied! Toggle word wrap Toggle overflow
赤色のインデックスがなく、クラスターのステータスが赤の場合は、データノードで継続的に過剰な処理負荷がかかっていないかを確認します。
Elasticsearch JVM ヒープの使用量が多いかどうかを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_nodes/stats?pretty
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_nodes/stats?prettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンド出力で
node_name.jvm.mem.heap_used_percentフィールドを確認し、JVM ヒープ使用量を判別します。- 使用量が多い CPU がないかを確認します。
16.5.2. Elasticsearch クラスターの正常性が黄色である リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のプライマリーシャードのレプリカシャードがノードに割り当てられません。
トラブルシューティング
-
ClusterLoggingCR でnodeCountを調整してノード数を増やします。
16.5.3. Elasticsearch Node Disk Low Watermark Reached (Elasticsearch ノードのディスクで低い基準値に達する) リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch で、低基準値に到達した ノードにシャードが割り当てられません。
トラブルシューティング
Elasticsearch のデプロイ先のノードを特定します。
oc -n openshift-logging get po -o wide
oc -n openshift-logging get po -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 未割り当てのシャードがあるかどうかを確認します。oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/health?pretty | grep unassigned_shards
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/health?pretty | grep unassigned_shardsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 未割り当てのシャードがある場合は、各ノードのディスク領域を確認します。
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; donefor pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow nodes.node_name.fsフィールドで、対象のノードの空きディスク領域を確認します。使用済みディスクの割合が 85% を超える場合は、ノードは低基準値を超えており、シャードがこのノードに割り当てられなくなります。
- すべてのノードでディスク領域を増やしてみてください。
- ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
新規データノードの追加に問題がある場合は、クラスターの冗長性ポリシー総数を減らします。
現在の
redundancyPolicyを確認します。oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterLoggingCR を使用している場合は、以下を入力します。oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
クラスター
redundancyPolicyがSingleRedundancyよりも大きい場合は、SingleRedundancyに設定し、この変更を保存します。
前述の手順で問題が解決しない場合は、古いインデックスを削除します。
Elasticsearch の全インデックスのステータスを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 古いインデックスで削除できるものを特定します。
インデックスを削除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETECopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.5.4. Elasticsearch Node Disk High Watermark Reached (Elasticsearch ノードのディスクで高い基準値に達する) リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch が 高基準値に達した ノードからシャードを移動しようとします。
トラブルシューティング
Elasticsearch のデプロイ先のノードを特定します。
oc -n openshift-logging get po -o wide
oc -n openshift-logging get po -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各ノードのディスク容量を確認します。
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; donefor pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターがリバランスされているかどうかを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/health?pretty | grep relocating_shards
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/health?pretty | grep relocating_shardsCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの出力でシャードの再配置が表示される場合は、高い基準値を超過しています。高い基準値のデフォルト値は 90% です。
基準値のしきい値上限を超えておらず、ディスクの使用量が少ないノードに、シャードを移動します。
- シャードを特定ノードに割り当てるには、領域の一部を解放します。
- すべてのノードでディスク領域を増やしてみてください。
- ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
新規データノードの追加に問題がある場合は、クラスターの冗長性ポリシー総数を減らします。
現在の
redundancyPolicyを確認します。oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterLoggingCR を使用している場合は、以下を入力します。oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
クラスター
redundancyPolicyがSingleRedundancyよりも大きい場合は、SingleRedundancyに設定し、この変更を保存します。
前述の手順で問題が解決しない場合は、古いインデックスを削除します。
Elasticsearch の全インデックスのステータスを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 古いインデックスで削除できるものを特定します。
インデックスを削除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETECopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.5.5. Elasticsearch Node Disk Flood Watermark Reached (Elasticsearch ノードのディスクがいっぱいの基準値に達する) リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch は、両条件が含まれるすべてのインデックスに対して読み取り専用のインデックスブロックを強制的に適用します。
- 1 つ以上のシャードがノードに割り当てられます。
- 1 つ以上のディスクが いっぱいの段階 を超えています。
トラブルシューティング
Elasticsearch ノードのディスク領域を確認します。
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; donefor pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow nodes.node_name.fsフィールドで、対象のノードの空きディスク領域を確認します。- 使用済みディスクの割合が 95% を超える場合は、ノードがいっぱいの基準値が越えたことを意味します。この特定のノードに割り当てられたシャードへの書き込みは、ブロックされます。
- すべてのノードでディスク領域を増やしてみてください。
- ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
新規データノードの追加に問題がある場合は、クラスターの冗長性ポリシー総数を減らします。
現在の
redundancyPolicyを確認します。oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterLoggingCR を使用している場合は、以下を入力します。oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
クラスター
redundancyPolicyがSingleRedundancyよりも大きい場合は、SingleRedundancyに設定し、この変更を保存します。
前述の手順で問題が解決しない場合は、古いインデックスを削除します。
Elasticsearch の全インデックスのステータスを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 古いインデックスで削除できるものを特定します。
インデックスを削除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETECopy to Clipboard Copied! Toggle word wrap Toggle overflow
ディスク使用領域が 90% 未満になるまで、このままディスク領域を解放して監視します。次に、この特定のノードへの書き込み禁止を解除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_all/_settings?pretty -X PUT -d '{"index.blocks.read_only_allow_delete": null}'oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_all/_settings?pretty -X PUT -d '{"index.blocks.read_only_allow_delete": null}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.5.6. Elasticsearch JVM ヒープの使用量が高い リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch ノードで使用済みの JVM ヒープメモリーが 75% を超えます。
トラブルシューティング
ヒープサイズを増やす ことを検討してください。
16.5.7. 集計ロギングシステムの CPU が高い リンクのコピーリンクがクリップボードにコピーされました!
ノード上のシステムの CPU 使用量が高くなります。
トラブルシューティング
クラスターノードの CPU を確認します。ノードへ割り当てる CPU リソースを増やすことを検討してください。
16.5.8. Elasticsearch プロセスの CPU が高い リンクのコピーリンクがクリップボードにコピーされました!
ノードでの Elasticsearch プロセスの CPU 使用量が高くなります。
トラブルシューティング
クラスターノードの CPU を確認します。ノードへ割り当てる CPU リソースを増やすことを検討してください。
16.5.9. Elasticsearch ディスク領域が不足している リンクのコピーリンクがクリップボードにコピーされました!
Elasticsearch クラスターは、現在のディスク使用量に基づいて次の 6 時間以内にディスク領域が不足することが予想します。
トラブルシューティング
Elasticsearch ノードのディスク領域を取得します。
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; donefor pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
コマンド出力の
nodes.node_name.fsフィールドで、対象ノードの空きディスク領域を確認します。 - すべてのノードでディスク領域を増やしてみてください。
- ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
新規データノードの追加に問題がある場合は、クラスターの冗長性ポリシー総数を減らします。
現在の
redundancyPolicyを確認します。oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterLoggingCR を使用している場合は、以下を入力します。oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
クラスター
redundancyPolicyがSingleRedundancyよりも大きい場合は、SingleRedundancyに設定し、この変更を保存します。
前述の手順で問題が解決しない場合は、古いインデックスを削除します。
Elasticsearch の全インデックスのステータスを確認します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 古いインデックスで削除できるものを特定します。
インデックスを削除します。
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETECopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.5.10. Elasticsearch FileDescriptor の使用量が高い リンクのコピーリンクがクリップボードにコピーされました!
現在の使用傾向に基づいて、ノードで予測されるファイル記述子の数は十分ではありません。
トラブルシューティング
必要に応じて、Elasticsearch ファイル記述子 のトピックで説明されているように、各ノードの max_file_descriptors の値を確認して設定します。
第17章 OpenShift Logging のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターからロギングサブシステムを削除できます。
17.1. Red Hat のロギングサブシステムのアンインストール リンクのコピーリンクがクリップボードにコピーされました!
ClusterLogging カスタムリソース (CR) を削除して、ログ集計を停止できます。CR を削除した後、残っている他のロギングサブシステムコンポーネントがあり、オプションで削除できます。
ClusterLogging CR を削除しても、永続ボリューム要求 (PVC) は削除されません。残りの PVC、永続ボリューム (PV)、および関連データを保持するか、削除するには、さらにアクションを実行する必要があります。
前提条件
- Red Hat OpenShift Logging および Elasticsearch Operators がインストールされている必要があります。
手順
OpenShift Logging を削除するには、以下を実行します。
OpenShift Container Platform Web コンソールを使用して
ClusterLoggingCR を削除できます。- Administration → Custom Resource Definitions ページに切り替えます。
- Custom Resource Definitions ページで、ClusterLogging をクリックします。
- Custom Resource Definition Details ページで、 Instances をクリックします。
-
インスタンスの横にある Options メニュー
をクリックし、Delete ClusterLogging を選択します。
オプション: カスタムリソース定義 (CRD) を削除します。
- Administration → Custom Resource Definitions ページに切り替えます。
-
ClusterLogForwarder の横にある Options メニュー
をクリックし、Delete Custom Resource Definition を選択します。
-
ClusterLogging の横にある Options メニュー
をクリックし、Delete Custom Resource Definition を選択します。
-
Elasticsearch の横にある Options メニュー
をクリックし、Delete Custom Resource Definition を選択します。
オプション: Red Hat OpenShift Logging Operator および OpenShift Elasticsearch Operator を削除します。
- Operators → Installed Operators ページに切り替えます。
-
Red Hat OpenShift Logging Operator の横にある Options メニュー
をクリックし、Uninstall Operator を選択します。
-
OpenShift Elasticsearch Operator の横にある Options メニュー
をクリックし、Uninstall Operator を選択します。
オプション: Cluster Logging および Elasticsearch プロジェクトを削除します。
- Home → Projects ページに切り替えます。
-
openshift-logging プロジェクトの横にある Options メニュー
をクリックし、Delete Project を選択します。
-
ダイアログボックスで
openshift-loggingを入力して、Delete をクリックし、削除を確認します。 openshift-operators-redhat プロジェクトの横にある Options メニュー
をクリックし、Delete Project を選択します。
重要他のグローバル Operator がこの namespace にインストールされている場合は、
openshift-operators-redhatプロジェクトを削除しないでください。-
ダイアログボックスで
openshift-operators-redhatを入力し、Delete をクリックして削除を確認します。
- 他の Pod で再利用するために PVC を保持するには、PVC の回収に必要なラベルまたは PVC 名を保持します。
オプション: PVC を保持する必要がない場合は、それを削除できます。
警告PVC の解放または削除により PV が削除され、データの損失が生じる可能性があります。
- Storage → Persistent Volume Claims ページに切り替えます。
-
各 PVC の横にある Options メニュー
をクリックし、Delete Persistent Volume Claim を選択します。
- ストレージ領域を回復する必要がある場合は、PV を削除できます。
第18章 ログレコードのフィールド リンクのコピーリンクがクリップボードにコピーされました!
次のフィールドは、ロギングサブシステムによってエクスポートされたログレコードに存在する可能性があります。ログレコードは通常 JSON オブジェクトとしてフォーマットされますが、同じデータモデルは他のエンコーディングに適用できます。
Elasticsearch および Kibana からこれらのフィールドを検索するには、検索時に点線の全フィールド名を使用します。たとえば、Elasticsearch /_search URL の場合、Kubernetes Pod 名を検索するには、/_search/q=kubernetes.pod_name:name-of-my-pod を使用します。
最上位フィールドはすべてのレコードに存在する可能性があります。
第19章 message リンクのコピーリンクがクリップボードにコピーされました!
元のログエントリーテキスト (UTF-8 エンコード)。このフィールドが存在しないか、空でない 構造化 フィールドが存在する可能性があります。詳細は、structured の説明を参照してください。
| データのタイプ | text |
| 値の例 |
|
第20章 structured リンクのコピーリンクがクリップボードにコピーされました!
構造化されたオブジェクトとしての元のログエントリー。このフィールドは、フォワーダーが構造化された JSON ログを解析するように設定されている場合に存在する可能性があります。元のログエントリーの構造化ログが有効である場合に、このフィールドには同等の JSON 構造が含まれます。それ以外の場合は、このフィールドは空または存在しないため、message フィールドに元のログメッセージが含まれます。構造化された フィールドには、ログメッセージに含まれるサブフィールドがあるので、ここでは制約が定義されていません。
| データのタイプ | group |
| 値の例 | map[message:starting fluentd worker pid=21631 ppid=21618 worker=0 pid:21631 ppid:21618 worker:0] |
第21章 @timestamp リンクのコピーリンクがクリップボードにコピーされました!
ログペイロードが作成された時点か、作成時間が不明な場合は、ログペイロードが最初に収集された時点の UTC 値のマーキング。@接頭辞は、特定の用途で使用できるように予約されているフィールドを表します。Elasticsearch の場合、ほとんどのツールはデフォルトで “@timestamp" を検索します。
| データのタイプ | 日付 |
| 値の例 |
|
第22章 hostname リンクのコピーリンクがクリップボードにコピーされました!
このログメッセージの発信元のホスト名。Kubernetes クラスターでは、これは kubernetes.host と同じです。
| データのタイプ | キーワード |
第23章 ipaddr4 リンクのコピーリンクがクリップボードにコピーされました!
ソースサーバーの IPv4 アドレス。配列を指定できます。
| データのタイプ | ip |
第24章 ipaddr6 リンクのコピーリンクがクリップボードにコピーされました!
ソースサーバーの IPv6 アドレス (ある場合)。配列を指定できます。
| データのタイプ | ip |
第25章 level リンクのコピーリンクがクリップボードにコピーされました!
rsyslog (severitytext プロパティー)、python のロギングモジュールなどのさまざまなソースのロギングレベル。
以下の値は syslog.h から取得されます。値の前には 同等の数値 が追加されます。
-
0=emerg、システムが使用できない。 -
1=alert。アクションをすぐに実行する必要がある。 -
2=crit、致命的な状況。 -
3=err、エラーのある状況。 -
4=warn、警告のある状況。 -
5=notice、通常ではあるが、影響が大きい状況。 -
6=info、情報提供。 -
7=debug、デバッグレベルのメッセージ。
以下の 2 つの値は syslog.h の一部ではありませんが、広く使用されています。
-
8=trace、トレースレベルメッセージ。これは、debugメッセージよりも詳細にわたります。 -
9=unknown、ロギングシステムで認識できない値を取得した場合。
他のロギングシステムのログレベルまたは優先度を前述のリストで最も近い一致にマップします。たとえば python logging では、CRITICAL と crit、ERROR と err が同じです。
| データのタイプ | キーワード |
| 値の例 |
|
第26章 pid リンクのコピーリンクがクリップボードにコピーされました!
ロギングエンティティーのプロセス ID です (ある場合)。
| データのタイプ | キーワード |
第27章 サービス リンクのコピーリンクがクリップボードにコピーされました!
ロギングエンティティーに関連付けられたサービスの名前です (ある場合)。たとえば、syslog の APP-NAME および rsyslog の programname プロパティーはサービスフィールドにマップされます。
| データのタイプ | キーワード |
第28章 tags リンクのコピーリンクがクリップボードにコピーされました!
オプション:コレクターまたはノーマライザーによって各ログに配置される、Operator 定義のタグのリストです。ペイロードには、ホワイトスペースで区切られた文字列トークンまたは文字列トークンの JSON 一覧を使用した文字列を指定できます。
| データのタイプ | text |
第29章 file リンクのコピーリンクがクリップボードにコピーされました!
コレクターがこのログエントリーを読み取るログファイルへのパス。通常、これはクラスターノードの /var/log ファイルシステム内のパスです。
| データのタイプ | text |
第30章 offset リンクのコピーリンクがクリップボードにコピーされました!
オフセット値。値が単一ログファイルで単調に増加する場合に、バイトの値をファイルのログ行 (ゼロまたは 1 ベース) またはログ行の番号 (ゼロまたは 1 ベース) の開始地点に表示できます。この値はラップでき、ログファイルの新規バージョンを表示できます (ローテーション)。
| データのタイプ | Long |
第31章 kubernetes リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes 固有メタデータの namespace です。
| データのタイプ | group |
31.1. kubernetes.pod_name リンクのコピーリンクがクリップボードにコピーされました!
Pod の名前。
| データのタイプ | キーワード |
31.2. kubernetes.pod_id リンクのコピーリンクがクリップボードにコピーされました!
Pod の Kubernetes ID。
| データのタイプ | キーワード |
31.3. kubernetes.namespace_name リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes の namespace の名前。
| データのタイプ | キーワード |
31.4. kubernetes.namespace_id リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes の namespace ID。
| データのタイプ | キーワード |
31.5. kubernetes.host リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes ノード名。
| データのタイプ | キーワード |
31.6. kubernetes.container_name リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes のコンテナーの名前。
| データのタイプ | キーワード |
31.7. kubernetes.annotations リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes オブジェクトに関連付けられるアノテーション。
| データのタイプ | group |
31.8. kubernetes.labels リンクのコピーリンクがクリップボードにコピーされました!
元の Kubernetes Pod にあるラベル
| データのタイプ | group |
31.9. kubernetes.event リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes マスター API から取得した Kubernetes イベント。このイベントの説明は基本的に、Event v1 core の type Event に準拠します。
| データのタイプ | group |
31.9.1. kubernetes.event.verb リンクのコピーリンクがクリップボードにコピーされました!
イベントのタイプ: ADDED、MODIFIED または DELETED
| データのタイプ | キーワード |
| 値の例 |
|
31.9.2. kubernetes.event.metadata リンクのコピーリンクがクリップボードにコピーされました!
イベント作成の場所および時間に関する情報
| データのタイプ | group |
31.9.2.1. kubernetes.event.metadata.name リンクのコピーリンクがクリップボードにコピーされました!
イベント作成をトリガーしたオブジェクトの名前
| データのタイプ | キーワード |
| 値の例 |
|
31.9.2.2. kubernetes.event.metadata.namespace リンクのコピーリンクがクリップボードにコピーされました!
イベントが最初に発生した namespace の名前。これは、eventrouter アプリケーションのデプロイ先の namespace である kubernetes.namespace_name とは異なることに注意してください。
| データのタイプ | キーワード |
| 値の例 |
|
31.9.2.3. kubernetes.event.metadata.selfLink リンクのコピーリンクがクリップボードにコピーされました!
イベントへのリンク
| データのタイプ | キーワード |
| 値の例 |
|
31.9.2.4. kubernetes.event.metadata.uid リンクのコピーリンクがクリップボードにコピーされました!
イベントの一意の ID
| データのタイプ | キーワード |
| 値の例 |
|
31.9.2.5. kubernetes.event.metadata.resourceVersion リンクのコピーリンクがクリップボードにコピーされました!
イベントが発生したサーバーの内部バージョンを識別する文字列。クライアントはこの文字列を使用して、オブジェクトが変更されたタイミングを判断できます。
| データのタイプ | integer |
| 値の例 |
|
31.9.3. kubernetes.event.involvedObject リンクのコピーリンクがクリップボードにコピーされました!
イベントに関するオブジェクト。
| データのタイプ | group |
31.9.3.1. kubernetes.event.involvedObject.kind リンクのコピーリンクがクリップボードにコピーされました!
オブジェクトのタイプ
| データのタイプ | キーワード |
| 値の例 |
|
31.9.3.2. kubernetes.event.involvedObject.namespace リンクのコピーリンクがクリップボードにコピーされました!
関係するオブジェクトの namespace 名。これは、eventrouter アプリケーションのデプロイ先の namespace である kubernetes.namespace_name とは異なる可能性があることに注意してください。
| データのタイプ | キーワード |
| 値の例 |
|
31.9.3.3. kubernetes.event.involvedObject.name リンクのコピーリンクがクリップボードにコピーされました!
イベントをトリガーしたオブジェクトの名前
| データのタイプ | キーワード |
| 値の例 |
|
31.9.3.4. kubernetes.event.involvedObject.uid リンクのコピーリンクがクリップボードにコピーされました!
オブジェクトの一意の ID
| データのタイプ | キーワード |
| 値の例 |
|
31.9.3.5. kubernetes.event.involvedObject.apiVersion リンクのコピーリンクがクリップボードにコピーされました!
kubernetes マスター API のバージョン
| データのタイプ | キーワード |
| 値の例 |
|
31.9.3.6. kubernetes.event.involvedObject.resourceVersion リンクのコピーリンクがクリップボードにコピーされました!
イベントをトリガーしたサーバーの内部バージョンの Pod を識別する文字列。クライアントはこの文字列を使用して、オブジェクトが変更されたタイミングを判断できます。
| データのタイプ | キーワード |
| 値の例 |
|
31.9.4. kubernetes.event.reason リンクのコピーリンクがクリップボードにコピーされました!
このイベントを生成する理由を示す、マシンが理解可能な短い文字列
| データのタイプ | キーワード |
| 値の例 |
|
31.9.5. kubernetes.event.source_component リンクのコピーリンクがクリップボードにコピーされました!
このイベントを報告したコンポーネント
| データのタイプ | キーワード |
| 値の例 |
|
31.9.6. kubernetes.event.firstTimestamp リンクのコピーリンクがクリップボードにコピーされました!
イベントが最初に記録された時間
| データのタイプ | 日付 |
| 値の例 |
|
31.9.7. kubernetes.event.count リンクのコピーリンクがクリップボードにコピーされました!
このイベントが発生した回数
| データのタイプ | integer |
| 値の例 |
|
31.9.8. kubernetes.event.type リンクのコピーリンクがクリップボードにコピーされました!
イベントのタイプ、Normal または Warning。今後、新しいタイプが追加される可能性があります。
| データのタイプ | キーワード |
| 値の例 |
|
第32章 OpenShift リンクのコピーリンクがクリップボードにコピーされました!
openshift-logging 固有のメタデータの namespace
| データのタイプ | group |
32.1. openshift.labels リンクのコピーリンクがクリップボードにコピーされました!
クラスターログフォワーダー設定によって追加されるラベル
| データのタイプ | group |
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.