mcpField
F
fluentbit-validator

fluentbit-validator

github.com/akin-ozerクラウド・DevOps329603 回インストール16 週間前に更新
リポジトリ

fluentbit-validator について

fluentbit-validator は、Fluent Bit の classic モード設定を再現可能な方法で検証するスキルです。スクリプトによる静的チェックと任意の Fluent Bit ドライランを組み合わせ、問題と修正案を重要度別に報告します。

主な機能

  1. 01Python と Fluent Bit の利用可否を事前確認
  2. 02設定項目別の静的チェック
  3. 03任意の Fluent Bit ドライラン
  4. 04重要度と箇所を含む問題報告
  5. 05承認された修正後の再検証

活用シーン

  1. 01デプロイ前の Fluent Bit 設定確認
  2. 02タグルーティングと出力先の一致確認
  3. 03設定に含まれるセキュリティ問題の検出
  4. 04Fluent Bit 利用時の構文検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/akin-ozer/cc-devops-skills --skill fluentbit-validator

インストール後、Claude Code で/fluentbit-validatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
scripts/
validate_config.py
validate.sh
tests/
invalid-missing-required.conf
invalid-opentelemetry.conf
invalid-security-issues.conf
invalid-tag-mismatch.conf
test_validate_config.py
valid-basic.conf
valid-multioutput.conf
valid-opentelemetry.conf

詳細

Fluent Bit バリデーター

このスキルを使用すると、Fluent Bit のクラシックモード設定を決定論的かつ再現可能な方法で検証できます。

トリガーフレーズ

次のようなプロンプトがあった場合に、このスキルを使用します。

  • デプロイ前にこの fluent-bit.conf を検証して
  • Fluent Bit の設定を lint して、問題を報告して
  • Fluent Bit のタグルーティングと出力の一致を確認して
  • Fluent Bit の設定のセキュリティチェックを実行して
  • Fluent Bit の設定をドライランして、失敗した内容を教えて

実行モデル

手順を順番に実行します。ステージ 0 は省略しないでください。

ステージ 0:事前チェック(必須)

スキルのディレクトリから実行します。

cd devops-skills-plugin/skills/fluentbit-validator

必須および任意のバイナリを確認します。

command -v python3 >/dev/null 2>&1 && echo "python3: available" || echo "python3: missing"
command -v fluent-bit >/dev/null 2>&1 && echo "fluent-bit: available" || echo "fluent-bit: missing (dry-run will be skipped)"

事前チェックの手順:

  • python3 が見つからない場合:スクリプトによる検証を中止し、ブロッカーを報告して、手動での設定レビューのみを行います。
  • fluent-bit が見つからない場合:静的チェックを続行し、ドライランを省略して、省略理由と次の手順を説明する Recommendation を記録します。
ステージ 1:静的検証(必須)

デフォルトのコマンド:

python3 scripts/validate_config.py --file <config-file> --check all

要求された場合に限り、対象を絞ったチェックを使用します。

python3 scripts/validate_config.py --file <config-file> --check structure
python3 scripts/validate_config.py --file <config-file> --check sections
python3 scripts/validate_config.py --file <config-file> --check tags
python3 scripts/validate_config.py --file <config-file> --check security
python3 scripts/validate_config.py --file <config-file> --check performance
python3 scripts/validate_config.py --file <config-file> --check best-practices
python3 scripts/validate_config.py --file <config-file> --check dry-run

厳格な CI ゲート(任意):

python3 scripts/validate_config.py --file <config-file> --check all --fail-on-warning
ステージ 2:ドライランの処理(条件付き)

ドライランのコマンド:

fluent-bit -c <config-file> --dry-run

省略時の手順:

  • fluent-bit を利用できない場合、デフォルトでは静的検証を失敗扱いにしません。
  • 明示的な指摘を 1 件出力します。
    • Recommendation: Dry-run skipped because fluent-bit binary is not available in PATH; run dry-run in CI or a Fluent Bit runtime image.
  • ユーザーがドライランをリリースゲートとして明示的に要求した場合は、次を実行します。
python3 scripts/validate_config.py --file <config-file> --check dry-run --require-dry-run

リリースゲートモードでは、fluent-bit が見つからない場合、Error として報告する必要があります。

ステージ 3:リファレンスの検索(任意)

ローカルチェック後もプラグインやパラメーターの動作が不明な場合に限り使用します。

検索順:

  1. Context7 の Fluent Bit ドキュメント。
  2. docs.fluentbit.io にある公式ドキュメント。
  3. 公式またはプラグインのソースに限定した、より広範なウェブ検索。

次の項目のみを記録します。

  • 必須フィールド
  • 許可される値とデフォルト値
  • ユーザーの設定に関連するバージョン上の注意事項
ステージ 4:レポートと修正(必須)

重大度ラベルは、次のものを正確に使用します。

  • Error
  • Warning
  • Recommendation

別のラベル(Info、Best Practice、Critical など)は使用しないでください。

レポート形式:

Validation Report: <config-file>

Error:
- <blocking issue>

Warning:
- <non-blocking risk>

Recommendation:
- <improvement or skipped-step guidance>

修正の手順:

  1. 可能な場合は、ファイル名と行番号を示して指摘事項を提示します。
  2. ユーザーファイルを変更する前に、承認を求めます。
  3. 承認された変更を適用します。
  4. 同じ検証コマンドを再実行します。
  5. 差分を返します。変更内容、残っている問題、最終ステータスを示します。

問題がない場合の簡易対応:

  • 指摘事項がない場合は、簡潔な合格サマリーを返し、ドライランを実行したか省略したかを記載します。

フォールバック一覧

制約動作
python3 が見つからないスクリプトによるバリデーターを停止し、ブロッカーを Error として報告して、手動レビューのみの結果を提示します。
fluent-bit が見つからない静的チェックを続行し、ドライランを省略して、次の手順を含む Recommendation を 1 件出力します。
ネットワークまたはドキュメントにアクセスできないローカル検証を続行し、不明なプラグインの詳細を「ドキュメントの検索は保留」と明示して Warning として報告します。
ユーザーがレポートのみを要求ファイルを編集せず、指摘事項と再実行用コマンドの提案を返します。

標準的なフロー

完全な検証フロー
bash scripts/validate.sh --precheck
python3 scripts/validate_config.py --file tests/valid-basic.conf --check all
制約のある環境でのフロー(fluent-bit を利用できない場合)
bash scripts/validate.sh --precheck
python3 scripts/validate_config.py --file tests/invalid-security-issues.conf --check all --json

期待される結果:

  • 静的チェックの指摘事項が引き続き出力されます。
  • ドライランは省略され、その旨が Recommendation に記載されます。

完了条件

次のすべてを満たした場合にのみ、作業は完了です。

  • 事前チェックが実行され、バイナリの利用可否が明示されている。
  • 検証コマンドと対象範囲が明確で、再現可能である。
  • すべての指摘事項に Error、Warning、Recommendation のみが使用されている。
  • ドライランの実施状況が、実行または理由を伴う省略として明示されている。
  • ツールやランタイムの制約に対するフォールバック動作が出力に記載されている。
  • 修正を適用した場合、検証が再実行され、修正後のステータスが報告されている。

ローカルアセット

  • scripts/validate_config.py:メインのバリデーター。
  • scripts/validate.sh:ラッパーおよび環境の事前チェック用ヘルパー。
  • tests/*.conf:有効/無効な設定のサンプル。
  • tests/test_validate_config.py:パーサーと重大度の動作に関する回帰テスト。

コメント