検索

第4章 Event-Driven Ansible と Red Hat Hybrid Cloud Console の統合

download PDF

Event-Driven Ansible を使用すると、Red Hat Insights などの Hybrid Cloud Console のケイパビリティーを利用して、発生する可能性のある問題や推奨事項についてインベントリーを継続的に分析できます。Event-Driven Ansible は、イベントのソースをルール経由で対応するアクションに接続します。

Hybrid Cloud Console 通知サービスとのインテグレーションでは、Event-Driven Ansible を使用してアクションをトリガーします。各アカウントは、イベントの種類に応じてアクションを実行できる機能とともに、これらのイベントを誰がどのように受信できるかを設定します。

サポートへの問い合わせ

Hybrid Cloud Console と Event-Driven Ansible とのインテグレーションに問題がある場合は、Red Hat に連絡してサポートを依頼してください。Help (? アイコン)> Open a support case をクリックするか、? > Support options から他のオプションを表示し、Hybrid Cloud Console から直接 Red Hat サポートケースを開くことができます。

4.1. Red Hat Hybrid Cloud Console と統合するための Event-Driven Ansible の設定

Event-Driven Ansible を設定して、Red Hat Hybrid Cloud Console またはサードパーティーアプリケーションからイベント通知を受信できます。

前提条件

  • ansible-rulebook CLI がインストールされている。手順は、Ansible ルールブックのインストール を参照してください。
  • Hybrid Cloud Console の Organization Administrator または Notifications administrator の権限がある。

手順

  1. 環境を Red Hat Ansible Automation Hub に接続します。

    1. Hybrid Cloud Console で、Ansible Automation Platform > Connect to Hub に移動します。
    2. Offline token で、以下の文字列をコピーします。トークンは 30 日間使用しないと期限切れになります。トークンの有効期限が切れないように、以下のコマンドを定期的に実行してください。
    3. ターミナルウィンドウに、前の手順でコピーした文字列を貼り付けます。
  2. Event-Driven Ansible の Red Hat Insights コレクションをインストールするには、以下のコマンドを入力します。

    $ ansible-galaxy collection install redhat.insights_eda
  3. Red Hat Insights の要件をインストールするには、root ユーザーとして次のコマンドを入力します。

    # pip3 install -r ~/.ansible/collections/ansible_collections/redhat/insights_eda/requirements.txt
  4. 次のコマンドを入力して、redhat.insights_eda が出力に含まれていることを確認します。

    $ ansible-galaxy collection list

    このコマンドの出力例:

    # /home/username/.ansible/collections/ansible_collections
    Collection         Version
    ------------------ -------
    ansible.eda        1.3.8
    community.general  7.0.1
    redhat.insights_eda 1.0.0
  5. テキストエディターを使用して、Red Hat Insights コレクションを使用するシンプルな Ansible ルールブックを含む YAML ファイルを作成します。たとえば、次の内容を含む simple-rulebook.yaml というファイルを作成します。

    ---
    - name: Listen for events from Red Hat Insights
      hosts: all
      sources:
        - redhat.insights_eda.insights:
      rules:
        - name: Handle Red Hat Insights payload
          condition: event.payload is defined
          action:
            debug:
              msg: "Received: {{ event.payload }}"

    このシンプルな Playbook は、redhat.insights_eda.insights コレクションをソースとして使用します。ペイロード を持つイベントが定義されている場合、event.payload の内容が出力として表示されます。

    ルールブックは、イベントを受信し、Hybrid Cloud Console と通信するために使用されるエンドポイントを公開します。Red Hat Insights アドバイザー、コンプライアンス、および脆弱性サービスの高度な例は、Ansible Automation Hub の Event-Driven Ansible for Red Hat Insights ドキュメントを参照してください。

  6. 関連する Playbook を含む YAML ファイルを作成します。たとえば、単純なインベントリーを含む inventory.yaml というファイルを作成します。

    all:
  7. ansible-rulebook コマンドを実行して、Event-Driven Ansible リスナーを起動し、新しいイベントをリッスンします。次の例では、このコマンドはデフォルトのポート 5000 で localhost を公開します。

    $ ansible-rulebook --verbose --rulebook simple-rulebook.yml -i inventory.yml
  8. 別のターミナルウィンドウで curl コマンドを実行して、Event-Driven Ansible リスナーが正しく設定されていることを確認します。次に例を示します。

    $ curl -H 'Content-Type: application/json' -d "{\"payload\": \"Test incoming event\"}" localhost:5000/endpoint

    この例では、設定が正しい場合、イベントの内容を含む新しいメッセージが EDA リスナーウィンドウに表示されます。

    Received: {'payload': 'Test incoming event'}
  9. Hybrid Cloud Console で、Settings > Integrations に移動します。
  10. Reporting & Automation タブを選択します。
  11. Add integration をクリックします。
  12. Event-Driven Ansible をインテグレーションタイプとして選択し、次に Next をクリックします。
  13. Integration name フィールドに、統合の名前を入力します (例: My EDA Integration)。
  14. Ansible ルールブックで設定した URL を Endpoint URL フィールドに入力します。これは、Event-Driven Ansible リスナーを指すエンドポイントです。

    注記

    Endpoint URL には http:// または https:// を含める必要があります (例: https://<eda_hostname>:5000/endpoint)。

    必要に応じて、組織のセキュリティー管理者に Red Hat Hybrid Cloud Console へのアクセスを設定するよう依頼してください。

  15. オプション: シークレットトークン が設定されている場合は入力します。

    注記

    Secret トークンは、インテグレーションエンドポイントに送信されるデータを保護するために必要であり、Hybrid Cloud Console をサードパーティーアプリケーションと統合するときは常に使用する必要があります。

  16. Next をクリックします。
  17. インテグレーションの詳細を確認し、Submit をクリックしてインテグレーションを有効にします。

Event-Driven Ansible インテグレーションが、Integrations > Reporting & Automation ページに表示されるようになりました。Last connection attempt のステータスが Ready になっている場合は、接続がコンソールからの通知を受け入れることができることを示しています。

検証

Event-Driven Ansible が Hybrid Cloud Console に正しく接続されていることを確認するためのテスト通知を作成します。

  1. Integrations > Reporting & Automation ページの Event-Driven Ansible インテグレーションの横にあるオプションアイコン (⋮) をクリックし、Test をクリックします。
  2. Integration Test 画面でメッセージを入力し、Send をクリックします。フィールドを空白のままにすると、Hybrid Cloud Console はデフォルトのメッセージを送信します。
  3. Event-Driven Ansible リスナーターミナルで、Hybrid Cloud Console から送信されたメッセージを確認します。
  4. Hybrid Cloud Console で、Notifications > Event Log に移動し、Integration: Event-Driven Ansible イベントが緑色のラベルでリストされていることを確認します。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.