通知タスクの作成
API Managerで Engagementを使用すると、定義した条件に基づいて通知を受け取ることができます。
開始前に
API Managerで Engagementを使用するには、少なくとも1つのアクティブなAnalyticsサービスが必要です。 通知タスクを作成する際には、以下の条件を満たす必要があります:
- 各ルールには、最大7つのフィルター基準と5つのトリガーを設定できる。
- 各トリガーは3アクションまでしかできない。
このタスクについて
API Managerの Engagement機能は、タスクを自動化する複雑なワークフローを作成し、API管理エクスペリエンス全体を向上させるのに役立つ。 通知タスクの作成中に定義された基準に基づいて、各ユーザーは通知を受け取ります。
通知タスクの作成
Engagementを使用するには、 API Managerの
をクリックし、必要に応じて条件を指定する。
通知先、ルール、トリガー、アクションを設定することで、通知タスクを作成できます。
destinationを設定します。これは、通知タスクを受信する HTTP (S) エンドポイントの定義です。 詳細については、 デスティネーションの作成を参照してください。- 定義されたスケジュールで実行され、データ・ソースにクエリーを送信するジョブである '
ruleを構成する。 詳細はルールの作成を参照。 - イベントを発生させる条件を定義する'
triggerを設定する。 詳細については、トリガーの追加を参照してください。 - 通知タスクがトリガーされた後の動作を定義する'
actionを設定する。 詳細については、アクションの追加を参照してください。
宛先の作成
- 宛先の作成 」タブをクリックします。
- Destination をクリックする。
- Createをクリックし、以下の詳細を入力する:
- タイトル 」には、目的地のタイトルを入力します。
- Description(説明) ボックスには、説明を入力してください。
- Webhookを設定するには、以下の手順に従います
- Webhook を
typeとして選択する。 Methodのリストからオプションを選択し、 HTTP の宛先指定方法をご指定ください。 利用可能なオプションは、POST、PUT、PATCHです。Webhook URLフィールドに、ターゲットの HTTP (S) エンドポイントを入力します。- オプション :追加の HTTP ヘッダーを追加するには、 [追加] をクリックします。
- Webhook を
- PagerDuty, を設定するには、以下の手順に従ってください
- PagerDuty をタイプとして選択します。
- pagerduty integration routing key を
Routing keyの欄に入力してください。pagerduty integrationの詳細については、 サービスと統合を参照してください。注: PagerDuty, と統合する場合は、統合タイプとして Events API v2 を選択してください。
- Slackを設定するには、以下の手順に従います
- タイプとしてSlackを選択します。
Tokenのフィールドに、Slack APIトークンを入力します。Channel IDの欄に、お客様の Channel ID を入力してください。Token and Channel IDの詳細については、 Slack API ボットトークンをすばやく取得して使用する方法をご覧ください。注: チャンネル名ではなく、チャンネルIDを使用してください。 例:C1234567890。
- Amazon Simple Notification Serviceを設定するには、以下の手順を実行します:注: Amazon SNS for Engagementを有効にするには、 AWS クライアントシークレットを作成し、アナリティクスカスタムリソースYAMLファイルでそのシークレットを参照する必要があります。 詳細については、 Amazon SNSを有効にするを参照してください。
- タイプとしてAmazon SNSを選択します。
- トピックARN フィールドに、Amazon SNSトピックのARNを入力します。
- Role ARN フィールドに、Amazon SNSロールのARNを入力します。
- Kafka HTTP Bridgeを設定するには、以下の手順に従います
- Webhook を
typeとして選択する。 Methodのリストからオプションを選択し、 HTTP の宛先指定方法をご指定ください。 利用可能なオプションは、POST、PUT、PATCHです。Webhook URLフィールドに、ターゲットの HTTP (S) エンドポイントを入力します。http://<route-name>.apps.<cluster-name>.<namespace>.com/topics/<topic-name>Kafka HTTP Bridgeの設定については、 Kafka Bridge を使った HTTP 経由での接続を参照。- Add +をクリックして、 HTTP ヘッダーを追加する。
Nameに content-type を入力します。Valueの欄に application/vnd.kafka.json.v2+json と入力してください。- ルールのトリガーアクションで、 Kafka トピックに送信するJSONペイロードを定義します。
注: Kafka の設定を確認し、必要に応じてペイロードフォーマットを調整してください。 次の例は、一部の Kafka 実装で必要とされるJSONメッセージのフォーマットを示しています{ "records": [ { "key": "my-key", "value": "my-value" } ] } - Webhook を
- IBM MQ を設定するには、以下の手順に従ってください
- Webhook を
typeとして選択する。 Methodのリストからオプションを選択し、 HTTP の宛先指定方法をご指定ください。 利用可能なオプションは、POST、PUT、PATCHです。Webhook URLフィールドに、ターゲットの HTTP (S) エンドポイントを入力します。https://<host>:<port>/ibmmq/rest/v3/messaging/qmgr/<your_qm_name>/queue/<your_queue_name>/messageIBM MQ messaging REST APIの詳細については、 IBM MQ messaging REST API を参照のこと。- Add +をクリックして、 HTTP ヘッダーを追加する。
Nameに content-type を入力します。Valueのフィールドには、使用しているコンテンツタイプの値を入力します。例えば、text/plain;charset=utf-8などです。- Add +をクリックして、2つ目の HTTP ヘッダーを追加する。
Nameに authorization を入力します。Valueの欄に Basic <base64encodedstring> と入力してください。ここで:
base64encodedstringusername:passwordをbase64エンコードしたものです。
- Add +をクリックして、3つ目の HTTP ヘッダーを追加する。
Nameに ibm-mq-rest-csrf-token を入力します。- 値のフィールドは空白のままにしておいてください。注: 値フィールドが空白の場合でも、このヘッダーが含まれていることを確認してください。 IBM MQ キューマネージャーは、このヘッダーがないとペイロードを拒否します。
- Webhook を
- IBM Cloud イベント通知サービスを設定するには、以下の手順を実行します:注: IBM Cloud イベント通知サービスの宛先は、 API Connect の宛先とはリンクしていません。 API Connect で Engagement を設定する前に、 IBM Cloud Event Notification Service で宛先を設定する必要があります。
- Webhook を
typeとして選択する。 MethodリストからPOSTを選択し、宛先の HTTP メソッドを指定する。Webhook URLフィールドに、ターゲットの HTTP (S) エンドポイントを入力します。
ここで:{base_url}/v1/instances/{instance_id}/notifications- ベースURL
- ベースとなる URL のパスを入力する
- instance_id
- インスタンスに対応する識別子を入力
IBM Cloud Event Notification Serviceについては、 イベント通知APIを参照のこと。- Add +をクリックして、 HTTP ヘッダーを追加する。
Nameに content-type を入力します。Valueの欄に application/json と入力してください。- Add +をクリックして、2つ目の HTTP ヘッダーを追加する。
Nameに Authorization を入力します。Valueフィールドに、IAM トークンを入力します。- ルールのトリガーアクションで、通知サービスに送信するJSONペイロードを定義します。 詳細については、 イベント通知APIを参照してください。
- Webhook を
- 「作成」 をクリックします。
ルールの作成
注: プロバイダー組織ごとに作成できるルールの最大数は10ですが、組織内のすべてのアナリティクスサービス全体で作成できるルールの最大数は10,000です。
- ルールをクリックする。
- Createをクリックし、以下の詳細を入力する:
- タイトル] フィールドに、ルールの Title 。
- Scheduleセクションで、このルールを実行するスケジュールを指定する。 スケジュールは、時間間隔またはcron文字列を定義することで指定できます。
- 次へ」をクリックしてデータを選択し、クエリを定義する。
- Select dataセクションで、ルールを実行するデータに基づいて、Data sourceリストからオプションを選択します。
- Queryセクションで、クエリに使用する集計メトリックを定義します。 デフォルトは一致するレコードの数。 数値フィールドには、最大値や期間の平均値など、数学的な集計を使用することもできます。
- Data time range for the last(最後のデータ時間範囲)フィールドに、一致するデータ項目の検索を実行する過去の時間範囲を入力します。
- Add filter +をクリックし、クエリ実行中に含めたいデータに基づいて最大7つのデータフィルタを選択します。 アナリティクス・イベント・レコードのフィールドはどれでも使用できます。
- Add group by +をクリックして、選択したデータをどのようにグループ化したいかに基づいてグループを選択し、ターゲット基準を合理化する。 例えば、24時間以内にステータスコード500のAPIイベントを10件マッチさせるルールは、
Group byonapi_name、全APIの全イベントの合計ではなく、個々のAPIのマッチするイベントを10件呼び出すことができる。 - 次へ」をクリックしてトリガーを設定する。
トリガー+を追加する :
- Add trigger + をクリックする。最大5つのトリガーを追加できます。
- トリガーの詳細セクションで、トリガーに「Title」を指定し、対応するリストから重大度レベルとトリガー条件を選択する。
- 深刻度] ドロップダウンリストから、オプションを選択します。
- トリガー条件セクションで、必要に応じて条件を設定する。
数値ターゲットを定義することで、1つのルールが、重大度やトリガー条件の異なる複数のトリガーを持つことができる。 指定された条件が満たされると、各トリガーは最大3つのアクションをトリガーすることができ、異なるエンドポイントや異なるペイロードを呼び出す。
アクションを追加する:
- Add action +をクリックして、トリガー条件が満たされたときに発生するアクションを設定する。
- Trigger action セクションで、アクションの title 、
- デスティネーションリストから、条件が満たされたときに呼び出されるデスティネーションを選択します。
- スロットリングを有効にし、スロットリングウィンドウを定義して、同じ時間帯に同じルールに対して複数のトリガーが発動しないようにする。
- ペイロードセクションでは、件名とペイロードの値を入力します。 宛先に表示したいタスクペイロード情報に基づいて、 ペイロードフィールドにコンテキスト変数を追加することができます。 詳細は、 タスク・ペイロードのコンテキスト変数を参照。注 :メッセージの件名は、 HTTP エンドポイントには送信されません。 ペイロード値は、宛先エンドポイントに送信される通知タスクの HTTP 本文として機能します
- 保存 をクリックします。
- 「完了 (Finish)」 をクリックします。
このタスクでやったこと
API Managerでは、Engagementを使用して、指定された条件に基づいて通知タスクを自動化しました。 タスクステータス]タブは、各トリガーの最新の通知タスクを表示します。