fluentbit-validator について
fluentbit-validator は、Fluent Bit の classic モード設定を再現可能な方法で検証するスキルです。スクリプトによる静的チェックと任意の Fluent Bit ドライランを組み合わせ、問題と修正案を重要度別に報告します。
主な機能
- 01Python と Fluent Bit の利用可否を事前確認
- 02設定項目別の静的チェック
- 03任意の Fluent Bit ドライラン
- 04重要度と箇所を含む問題報告
- 05承認された修正後の再検証
活用シーン
- 01デプロイ前の Fluent Bit 設定確認
- 02タグルーティングと出力先の一致確認
- 03設定に含まれるセキュリティ問題の検出
- 04Fluent Bit 利用時の構文検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ akin-ozer/ cc-devops-skills --skill fluentbit-validatorインストール後、Claude Code で/fluentbit-validatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignorescripts/validate_config.pyvalidate.shtests/invalid-missing-required.confinvalid-opentelemetry.confinvalid-security-issues.confinvalid-tag-mismatch.conftest_validate_config.pyvalid-basic.confvalid-multioutput.confvalid-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:リファレンスの検索(任意)
ローカルチェック後もプラグインやパラメーターの動作が不明な場合に限り使用します。
検索順:
- Context7 の Fluent Bit ドキュメント。
docs.fluentbit.ioにある公式ドキュメント。- 公式またはプラグインのソースに限定した、より広範なウェブ検索。
次の項目のみを記録します。
- 必須フィールド
- 許可される値とデフォルト値
- ユーザーの設定に関連するバージョン上の注意事項
ステージ 4:レポートと修正(必須)
重大度ラベルは、次のものを正確に使用します。
ErrorWarningRecommendation
別のラベル(Info、Best Practice、Critical など)は使用しないでください。
レポート形式:
Validation Report: <config-file>
Error:
- <blocking issue>
Warning:
- <non-blocking risk>
Recommendation:
- <improvement or skipped-step guidance>
修正の手順:
- 可能な場合は、ファイル名と行番号を示して指摘事項を提示します。
- ユーザーファイルを変更する前に、承認を求めます。
- 承認された変更を適用します。
- 同じ検証コマンドを再実行します。
- 差分を返します。変更内容、残っている問題、最終ステータスを示します。
問題がない場合の簡易対応:
- 指摘事項がない場合は、簡潔な合格サマリーを返し、ドライランを実行したか省略したかを記載します。
フォールバック一覧
| 制約 | 動作 |
|---|---|
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:パーサーと重大度の動作に関する回帰テスト。
コメント
Markdown 対応