Fluentdの問題

SELinuxがenforcingモードの場合のFluentd権限の問題のトラブルシューティング

問題: SELinuxがenforcingモードの場合の権限の問題により、FluentdがOpenSearchにログをプッシュできない。

OpenSearchでログを表示できない場合、SELinuxがenforcingモードの場合のFluentdでの権限の問題が原因である可能性があります。この問題により、FluentdはOpenSearchにログをプッシュできません。

Fluentd権限の問題をトラブルシューティングするには、次のステップに従います:

  1. Fluentdポッドのログを確認します。

    • Verrazzanoのインストールに関連するFluentdポッドを特定します。
    • 次のコマンドを使用して、Fluentdポッドのログを表示します:
      $ kubectl logs <fluentd-pod-name> -n verrazzano-system
      
  2. エラーの説明がないか確認します。

    • Fluentdポッドのログでエラー・メッセージを探します。
    • 次の説明を含むエラーが見つかった場合は、ステップ3の手順に従います。権限の問題を解決します。
    unexpected error error_class=Errno::EACCES error="Permission denied @ rb_sysopen - /var/log/vz-fluentd-containers.log.pos", it indicates a permission issue. Fluentd doesn't have enough privilege to write `.pos` file.
    
  3. 権限の問題を解決します。

    • この問題は、ワーカー・ノードでSELinuxがenforcingモードであり、Fluentdに適切なSELinuxコンテキストがないために、logs (/var/log/)ディレクトリへの読取り/書込みアクセス権がない場合に発生します。
    • ワーカー・ノードで次のコマンドを実行して、SELinuxがenforcingモードであるかどうかを確認します:
      $ sudo getenforce
      
      SELinuxがenforcingモードの場合、ここにあるアドバイスに従います。
  4. 検証します。

    • Fluentdログを確認して、Fluentdがログを読み取ってOpenSearchにプッシュできることを検証します。
    • OpenSearchダッシュボードにアクセスするか、該当する検索問合せを使用して、ログがOpenSearchに表示されることを検証します。