3.13. ルールブックアクティベーションの作成および実行


Event-Driven Ansible では、ルールブックアクティベーションは、特定のルールブックを実行する決定環境によって定義され、バックグラウンドで実行されるプロセスです。

3.13.1. ルールブックアクティベーションの設定

前提条件

  • プロジェクトを設定している。
  • 決定環境を設定している。

手順

  1. ナビゲーションパネルから、Automation Decisions Rulebook Activations を選択します。
  2. Create rulebook activation をクリックします。
  3. 以下の情報を入力します。

    • Name: 名前を入力します。
    • Description: このフィールドは任意です。
    • Organization: このフィールドは任意です。
    • Project: このフィールドは任意です。
    • Rulebook: 選択したプロジェクトに応じてルールブックが表示されます。
    • Credential: このルールブックアクティベーションの認証情報を 0 個以上選択します。このフィールドは任意です。

      注記

      このフィールドに表示される認証情報は、ルールブックアクティベーションに基づいてカスタマイズされています。表示される認証情報のタイプは、Vault、Red Hat Ansible Automation Platform、または作成したカスタム認証情報タイプだけです。認証情報の詳細は、「自動化決定の使用」ガイドの 認証情報 を参照してください。

    • Decision environment: 決定環境は、Ansible ルールブックを実行するためのコンテナーイメージです。

      注記

      Event-Driven Ansible Controller では、決定環境のプルポリシーをカスタマイズすることはできません。デフォルトでは、always ポリシーの動作に従います。アクティベーションが開始されるたびに、システムはイメージの最新バージョンを取得しようとします。

    • Restart policy: これは、ソースプラグインを実行しているコンテナープロセスが終了した後にアクティベーションを再開する方法を決定するポリシーです。以下のオプションから選択します。

      • Always: ルールブックアクティベーションが正常に終了したかどうかに関係なく、ルールブックのアクティベーションを直ちに再開します。これは 5 回まで実行されます。
      • Never: コンテナープロセスが終了したときに、ルールブックアクティベーションを再開しません。
      • On failure: コンテナープロセスが失敗した場合にのみ、デフォルトで 60 秒後にルールブックアクティベーションを再開します。これは 5 回まで実行されます。
    • Log level: このフィールドでは、ログに記録するイベントの重大度とコンテンツのタイプを定義します。次のいずれかのオプションを選択します。

      • Error: アクティベーションの History タブに表示されるエラーメッセージを含むログ。
      • Info: 成功または失敗、トリガーされたアクション名と関連するアクションイベント、エラーなど、ルールブックアクティベーションに関する有用な情報を含むログ。
      • Debug: デバッグフェーズでのみ役立ち、運用時にはあまり有用でない可能性がある情報を含むログ。このログレベルでは、エラーデータとログレベルデータの両方が対象となります。
    • Service name: アクティベーションによってポートが公開される場合に、Kubernetes が受信接続を設定するためのサービス名を定義します。このフィールドは任意です。
    • Rulebook activation enabled?: ルールブックアクティベーションを自動的に有効にして実行するかどうかを切り替えます。
    • Variables: ルールブックの変数は JSON または YAML 形式です。内容は、ansible-rulebook コマンドの --vars フラグによって渡されるファイルと同等です。
    • Options: ルール監査にイベントを表示しない場合は、Skip audit events オプションをオンにします。
  4. Create rulebook activation をクリックします。

ルールブックアクティベーションが作成され、Rulebook Activations 画面で管理できるようになります。

新しいルールブックアクティベーションを保存すると、ルールブックアクティベーションの詳細ページが、PendingRunning、または Failed ステータスとともに表示されます。詳細ページまたは Rulebook Activations リストビューから、ルールブックアクティベーションを再開または削除できます。

注記

ソースプラグインのシャットダウンが原因で、ルールブックが正常に終了するまでに一定の時間かかることがあります。ルールブックアクティベーションがシャットダウンすると、待機中のタスクがすべてキャンセルされ、アクティベーションのログに info レベルのメッセージが送信されます。詳細は、Rulebooks を参照してください。

3.13.1.1. ルールブックアクティベーションのリストビュー

Rulebook Activations ページでは、作成したルールブックアクティベーションを、Status、ルールブックの Number of rulesFire count、および Restart count とともに表示できます。

StatusRunning の場合、ルールブックアクティベーションがバックグラウンドで実行されており、ルールブックで宣言されたルールに従って必要なアクションが実行されていることを意味します。

Rulebook Activations リストビューからアクティベーションを選択すると、詳細を確認できます。

実行されたすべてのアクティベーションについて、Details タブと History タブを表示して、実行結果に関する詳細情報を取得できます。

3.13.2. ルールブックアクティベーションの有効化および無効化

手順

  1. 行レベルのスイッチを選択して、選択したルールブックを有効または無効にします。
  2. ウィンドウで、Yes, I confirm that I want to enable/disable these X rulebook activations を選択します。
  3. Enable/Disable rulebook activation を選択します。

3.13.3. ルールブックアクティベーションの再開

注記

ルールブックアクティベーションを再開できるのは、ルールブックアクティベーションが現在有効で、作成時に再開ポリシーを Always に設定した場合だけです。

手順

  1. Rulebook Activation enabled/disabled トグルの横にある More Actions アイコン を選択します。
  2. Restart rulebook activation を選択します。
  3. ウィンドウで、Yes, I confirm that I want to restart these X rulebook activations を選択します。
  4. Restart rulebook activations を選択します。

3.13.4. ルールブックアクティベーションの削除

手順

  1. Rulebook Activation enabled/disabled トグルの横にある More Actions アイコン を選択します。
  2. Delete rulebook activation を選択します。
  3. ウィンドウで、Yes, I confirm that I want to delete these X rulebook activations を選択します。
  4. Delete rulebook activations を選択します。

3.13.5. Webhook ルールブックのアクティブ化

Openshift 環境では、ルールブックアクティベーションの Kubernetes サービスを公開するルートを作成することで、Webhook が特定のポートを介して activation-job-pod に到達できるようにすることが可能です。

前提条件

  • ルールブックアクティベーションを作成した。
注記

特定の Webhook を含むルールブックの例を以下に示します。

Copy to Clipboard Toggle word wrap
- name: Listen for storage-monitor events
  hosts: all
  sources:
    - ansible.eda.webhook:
        host: 0.0.0.0
        port: 5000
  rules:
    - name: Rule - Print event information
    condition: event.meta.headers is defined
    action:
      run_job_template:
        name: StorageRemediation
        organization: Default
        job_args:
          extra_vars:
             message: from eda
             sleep: 1

手順

  1. サービスを公開するためのルートを (OpenShift Container Platform 上に) 作成します。以下は、決定環境 Pod のポート 5000 で POST を要求する ansible-rulebook ソースのルートの例です。

    Copy to Clipboard Toggle word wrap
    kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: test-sync-bug
      namespace: dynatrace
      labels:
        app: eda
        job-name: activation-job-1-5000
    spec:
      host: test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com
      to:
        kind: Service
        name: activation-job-1-5000
        weight: 100
      port:
        targetPort: 5000
      tls:
        termination: edge
        insecureEdgeTerminationPolicy: Redirect
      wildcardPolicy: None
  2. ルートを作成したら、ルート URL へのポスト を使用してテストします。

    Copy to Clipboard Toggle word wrap
    curl -H "Content-Type: application/json" -X POST
    test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d
    '{}'
    注記

    ポートはルート (targetPort) で指定されているため、必要ありません。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.