1.37. OpenShift Logging 5.2.0
本リリースには、RHBA-2021:3393 OpenShift Logging のバグ修正リリース 5.2.0 が含まれます。
1.37.1. 新機能および機能拡張
- 今回の更新では、アプリケーションおよびインフラストラクチャーを監視する Amazon CloudWatch にログデータを転送できるようになりました。詳細は、ログの Amazon CloudWatch への転送 を参照してください。(LOG-1173)
- 今回の更新では、Loki (ログデータを水平方向にスケーラブルで可用性の高いマルチテナントログ集約システム) に転送できます。詳細は、Forwarding logs to Loki を参照してください。(LOG-684)
- 今回の更新では、Fluentd 転送プロトコルを使用して TLS で暗号化された接続でログデータを転送した場合に、パスワードで暗号化された秘密鍵ファイルを使用して、クラスターログフォワーダー設定でパスフレーズを指定できるようになりました。詳細は、Fluentd 転送プロトコルを使用したログの転送 を参照してください。(LOG-1525)
- 今回の機能拡張により、ユーザー名とパスワードを使用して外部 Elasticsearch インスタンスへのログ転送接続を認証できるようになりました。たとえば、サードパーティーが Elasticsearch インスタンスを操作するため、相互 TLS (mTLS) を使用できない場合に、HTTP または HTTPS を使用してユーザー名とパスワードを含むシークレットを設定できます。詳細は、Forwarding logs to an external Elasticsearch instance を参照してください。(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.37.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-proxy
Pod が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.37.3. 既知の問題
ログを外部 Elasticsearch サーバーに転送してから、ユーザー名とパスワードなどのパイプラインシークレットで設定された値を変更する場合に、Fluentd フォワーダーは新規シークレットを読み込むにもかかわらず、以前の値を使用して外部 Elasticsearch サーバーに接続します。この問題は、現在 Red Hat OpenShift Logging Operator がコンテンツの変更についてシークレットを監視しないために発生します。(LOG-1652)
回避策として、シークレットを変更した場合には、以下を入力して Fluentd Pod を強制的に再デプロイできます。
$ oc delete pod -l component=collector
1.37.4. 非推奨および削除された機能
以前のリリースで利用可能であった一部の機能が非推奨になるか、または削除されました。
非推奨の機能は依然として OpenShift Container Logging に含まれており、引き続きサポートされますが、本製品の今後のリリースで削除されるため、新規デプロイメントでの使用は推奨されません。
1.37.5. 従来の Fluentd および従来の syslog メソッドを使用したログの転送が非推奨に
OpenShift Container Platform 4.6 から現バージョンまで、以下のレガシーメソッドを使用したログの転送は非推奨になり、今後のリリースで削除される予定です。
- レガシー Fluentd メソッドを使用したログの転送
- レガシー syslog メソッドを使用したログの転送
代わりに、次にリリースされるレガシー以外のメソッドを使用してください。
1.37.6. CVE
例1.26 クリックして CVE を展開