Create a new Alarm#

新しいアラームを登録します。

デフォルトでは、project_idで指定したプロジェクト配下のすべての仮想サーバが監視対象です。
個別の仮想サーバを指定したい場合は、リクエストパラメータの instancesに値を設定するか、集合体(aggregate)を作成し、その aggregateの IDを指定する必要があります。
集合体(aggregate)の作成方法は「Create a new aggregate」を参照してください。

リクエストパラメータのinstancesに値を設定した場合、集合体(aggregate)を払い出します。
個別の仮想サーバーを参照、変更をしたい場合は、払い出した集合体(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"
    ]
  }
}