Create a new Alarm#
新しいアラームを登録します。
デフォルトでは、project_idで指定したプロジェクト配下のすべての仮想サーバが監視対象です。
個別の仮想サーバを指定したい場合は、リクエストパラメータの instancesに値を設定するか、集合体(aggregate)を作成し、その aggregateの IDを指定する必要があります。
集合体(aggregate)の作成方法は「Create a new aggregate」を参照してください。
リクエストパラメータのinstancesに値を設定した場合、集合体(aggregate)を払い出します。
個別の仮想サーバーを参照、変更をしたい場合は、払い出した集合体(aggregate)の参照や変更で対応できます。
方法は以下を参照してください。
- 参照:「Get all aggregates」、「Get a single aggregate」
- 変更:「Update aggregate」
APIエンドポイント#
リージョン | APIエンドポイント |
---|---|
西日本リージョン3の場合 | https://telemetry.jp-west-3.cloud.global.fujitsu.com |
東日本リージョン3の場合 | https://telemetry.jp-east-3.cloud.global.fujitsu.com |
HTTPメソッドとURI#
POST
/v4.0/alarms
HTTPステータスコード#
正常時:201
エラー時:400,401,404,500
リクエストパラメータの説明#
名前 | In | Type | デフォルト値 /必須指定 |
Description |
---|---|---|---|---|
X-Auth-Token | header | string | 必須 | 認証のトークン |
Content-Type | header | string | 任意 | 「application/json」を設定します。 |
name | body | string | 必須 | アラーム名。半角英数字記号100文字まで |
description | body | string | 任意 | アラームの説明。255文字まで |
project_id | body | string | 必須 | プロジェクトID |
target_type | body | string | 必須 | アラーム設定対象のタイプ 値については、「TargetType」を参照してください。 |
object_id | body | string | 必須 | アラーム設定対象のオブジェクトID 値については、「TargetType」を参照してください。 📒注: instances指定時は指定不要です。object_idと instancesを同時に指定した場合、instancesの内容が優先されます。 |
metric_type | body | string | 必須 | 監視項目種別 値については、「監視項目」を参照してください。 |
interval_duration | body | string | 1m/任意 | 監視間隔 1分単位で設定できます。5分の場合は、5mと設定してください。 |
from | body | string | 1m/任意 | 集計対象期間 1分単位で設定できます。ある監視タイミングにおいて、直近のどれくらいの期間のデータを集計対象とするかを設定します。 |
aggregation_function | body | string | 必須 | 集計関数 集計期間内の監視データの集計方法を示します。 値については、「集計関数」を参照してください。 |
comparison_function | body | string | 必須 | 比較式 集計値としきい値の比較式(超過、未満)です。 以下の文字列が設定できます。 - above - below |
threshold | body | decimal | 必須 | 比較値(しきい値や判定値) CPUやメモリ使用率を監視項目とする場合は使用率、ネットワーク帯域の場合は Mbpsというように、比較する監視項目に沿った値です。 metric_typeの単位に対応した値が指定可能です。 詳細は「監視項目」を参照してください。 |
alert_count | body | integer | 1/任意 | アラーム通知のしきい値 監視条件が満たされた状態が何分続いたら alertを上げるかを設定します。 |
severity | body | string | 任意 | アラームレベル 当項目を設定してもアラームの制御はできません。アラームの情報としてだけ利用可能です。 以下の文字が設定できます。 - critical - error - warning - information - none |
enabled | body | bool | true/任意 | アラームの状態 有効の場合は true、無効の場合は falseで設定します。falseに設定されている場合、アラームの評価は継続して実行されますが、アラームが条件を満たしてもアラームアクションが実行されません。 |
nodata_alert | body | bool | false/任意 | 監視データ取得不可時の通知有無 有効の場合は true、無効の場合は falseで設定します。アラームアクションにメール通知を設定している、かつ本項目の設定値が trueの場合、監視条件に合致するデータが取得できない状態を検知するとメール通知を実行します。 |
alarm_action | body | List<string> | 任意 | アラームアクション リストが空の場合は何もアクションを実行しません。 設定されている場合は対応したアクションを実行ます。以下のアクションが設定できます。 - mail (メール通知) - autoscale (オートスケール) |
autoscale_url | body | string | 任意 | オートスケールの実行先 OS::Heat::ScalingPolicy タイプのリソースの signal urlを指定します。 |
instances | body | List<string> | 任意 | 監視対象仮想サーバ 監視対象とする仮想サーバIDをリスト形式で指定できます。 project_idで指定したプロジェクト内に存在する仮想サーバだけ指定できます。 このパラメータを設定すると、集合体(aggregate)が自動的に作成されます。 📒注: object_idと instancesを同時に指定した場合、instancesの内容が優先されます。 |
参考:アラーム通知例#
例1#
以下の場合、1分ごとに、直近1分間のメモリ使用率の平均値を計算します。
これが80%を上回る状態が3分続くと、アラームが activeとなり、メール通知が実行されます。
アラームはプロジェクト内の全仮想サーバに設定されます。
アラームの評価は仮想サーバごとに独立して実行されます。
- target_type:
project
- metric_type:
cpu.usage
- aggregation_function:
avg
- comparison_function:
above
- threshold:
80
- alert_count:
3
※ パラメータ未指定の場合、interval_durationは 1m
、fromは1m
に設定されます。
例2#
以下の場合、1分ごとに、直近5分間のCPU使用率の平均値を計算します。
aggregateに対象仮想サーバが複数ある場合、全ての対象仮想サーバを対象とした5分間のCPU使用率の平均値を計算します。(対象仮想サーバの数に関わらず、アラームは1つの値(全対象サーバの平均値)を算出します)
これが80%を上回る状態が3分続くと、アラームがactiveとなり、メール通知が行われます。
- target_type:
aggregate
- metric_type:
cpu.usage
- interval_duration:
1m
- from:
5m
- aggregation_function:
grp_avg
- comparison_function:
above
- threshold:
80
- alert_count:
3
レスポンスボディ(正常系)の説明#
id以外のパラメータは、リクエスト時に設定した値(設定していないパラメータはデフォルト値)が設定されています。
名前 | Type | Description |
---|---|---|
id | string | アラームID |
name | string | アラーム名 |
description | string | アラームの説明 |
project_id | string | プロジェクトID |
target_type | string | アラーム設定対象のタイプ |
object_id | string | アラーム設定対象のオブジェクトID リクエストでinstancesを設定すると、自動で作成された集合体(aggregate)のIDが設定されます。 |
metric_type | string | 監視項目種別 |
interval_duration | string | 監視間隔 |
from | string | 集計対象期間 |
aggregation_function | string | 集計関数 |
comparison_function | string | 比較式 |
threshold | decimal | 比較値 |
alert_count | integer | アラーム通知のしきい値 |
severity | string | アラームレベル |
enabled | bool | アラームの状態 |
nodata_alert | bool | 監視データ取得不可時の通知有無 |
alarm_action | List<string> | アラームアクション |
instances | List<string> | 監視対象仮想サーバ |
リクエスト例#
curl -X POST -H "Content-Type: application/json" \ -H "X-Auth-Token: ImFkbWluVVJMIjogImh0dHA6Ly8xMC4x..." \ -d <リクエストボディ> "https://telemetry.jp-west-3.cloud.global.fujitsu.com/v4.0/alarms"
リクエストボディ(JSON形式)の例
{ "alarm": { "name": "cpu_test", "description": "alert when cpu usage > 80%", "project_id": "a6944d763bf64ee6a275f1263fae0352", "target_type": "aggregate", "metric_type": "instance.cpu.usage", "interval_duration": "1m", "from": "5m", "aggregation_function": "avg", "comparison_function": "above", "threshold": 80.0, "alert_count": 3, "severity": "critical", "alarm_action": [ "mail" ], "instances":[ "22c91117-08de-4894-9aa9-6ef382400985", "f5dc173b-6804-445a-a6d8-c705dad5b5eb" ] } }
レスポンス例#
{ "alarm": { "id": "8e39017a-211e-b23f-64b3-26247c6175c7", "name": "cpu_test", "description": "alert when cpu usage > 80%", "project_id": "a6944d763bf64ee6a275f1263fae0352", "target_type": "aggregate", "object_id": "1a6877a6-ea01-1aa1-09d7-a6cf9939220b", "metric_type": "instance.cpu.usage", "interval_duration": "1m", "from": "5m", "aggregation_function": "avg", "comparison_function": "above", "threshold": 80.0, "alert_count": 3, "severity": "critical", "enabled": true, "nodata_alert": false, "alarm_action": [ "mail" ], "instances":[ "22c91117-08de-4894-9aa9-6ef382400985", "f5dc173b-6804-445a-a6d8-c705dad5b5eb" ] } }