ウィジェットを更新する

最終更新日: 29 年 2022 月 XNUMX 日

概要

LogicMonitorのRESTAPIを使用して、ウィジェットをプログラムで更新できます。 すべてのAPIリソースと同様に、 認証が必要です.

詳細依頼フォーム

HTTPメソッド: PUT
(REST標準と一致して、PUTリクエストで指定されていないプロパティはデフォルト値に戻ります)

URI: / Dashboard / widgets / {id}

プロパティ

グローバルプロパティ

ウィジェットを更新するためのすべてのPUTリクエストには、次のプロパティを含めることができます。

プロパティ 説明 必須?
ウィジェットの名前 有り 文字列 「name」:「Apacheリクエスト」
説明 ウィジェットの説明 いいえ 文字列 「説明」:「ウィジェットの説明」
type アラート| cgraph | deviceNOC | html | serviceOverallStatus | sgraph | ngraph | serviceNOC | serviceSLA | bigNumber | gmap | serviceIndividualStatus | ゲージ| 円グラフ| ngraph | バッチジョブ」 有り 文字列 「タイプ」:「アラート」
DashboardId ウィジェットが追加されるダッシュボードのID 有り 整数 「dashboardId」:50
テーマ ウィジェットの配色。 オプションはborderPurple | borderGray | borderBlue | solidPurple | solidGray | solidBlue | simplePurple | simpleBlue | simpleGray | newBorderGray | newBorderBlue | newBorderDarkBlue | newSolidGray | newSolidBlue | newSolidDarkBlue | newSimpleGray | newSimpleBlue | newSimpleDarkBlue いいえ。デフォルトはborderPurpleです。 文字列 「テーマ」:「simplePurple」
コルスパン ウィジェットの幅が消費する列の数 いいえ。デフォルトは1です。 整数 「colSpan」:1
行スパン ウィジェットの高さが消費する行数 いいえ。デフォルトは1です。 整数 「rowSpan」:1
インターバル ウィジェットの更新間隔。 オプションは1です| 3 | 5 | 10 | 15(すべて分単位) いいえ。デフォルトは3です。 整数 「間隔」:1
タイムスケール ウィジェットのデフォルトのタイムスケール。 オプションは1時間です| 2時間| 5時間| 1日| 2泊7日| 1日| 3ヶ月| 1ヶ月| XNUMX年 いいえ。デフォルトは1時間です。 文字列 「タイムスケール」:「1日」
余分な アラートウィジェットにのみ適用されます いいえ JSONオブジェクト

注: colSpanとrowSpanを使用してウィジェットのサイズを変更できますが、ウィジェットの位置は変更されません(また、ハーフサイズのウィジェットは許可されません)。 現在ウィジェットの位置を変更する(またはハーフサイズのウィジェットを作成する)唯一の方法は、ダッシュボード自体のwidgetsConfig文字列を ダッシュボードリソース.

ウィジェット固有のプロパティ

更新するウィジェットに応じて、追加のプロパティを使用できます。

アラートウィジェットのプロパティ

さらに、alertタイプのすべてのウィジェット(アラートウィジェット)に対して、次のプロパティを持つ 'filters'オブジェクトを含めることができます。

プロパティ 説明 必須?
グループヘッド 表示されるアラートは、このフィルター基準を満たすグループに関連付ける必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのグループを示します。 いいえ。デフォルトはすべてのグループです。 文字列 「グループ」:「リレー*」
host 表示されるアラートは、このフィルター基準を満たすデバイスに関連付ける必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのデバイスを示します。 いいえ。デフォルトはすべてのホストです。 文字列 "ホスト":"*"
情報源 表示されるアラートは、このフィルター基準を満たすデータソースに関連付ける必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのデータソースを示します。 いいえ。デフォルトはすべてのデータソースです。 文字列 "情報元":"*"
表示されるアラートは、このフィルター基準を満たすインスタンスに関連付ける必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのインスタンスに一致します。 いいえ。デフォルトはすべてのインスタンスです。 文字列 「インスタンス」:「HTTP_Page-instance0」
データポイント 表示されるアラートは、このフィルター基準を満たすデータポイントに関連付ける必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのデータポイントに一致します。 いいえ。デフォルトはすべてのデータポイントです。 文字列 「dataPoint」:「*」
重症度 表示されるアラートの重大度は、この基準を満たす必要があります。 複数の重大度はコンマで区切られます。 いいえ。デフォルトで警告します。 文字列 「重大度」:「警告」
確認した すべて| 確認しました。 表示されるアラートは、この基準を満たす確認応答ステータスを持っている必要があります。 いいえ。デフォルトはallです。 文字列 「acked」:「all」
指定された すべて| sdted。 表示されるアラートは、この基準を満たすSDTステータスを持っている必要があります。 いいえ。デフォルトはallです。 文字列 「sdt​​ed」:「all」
ルール 表示されるアラートは、このフィルターを満たすルールと一致する必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのルールに一致します。 いいえ。デフォルトはすべてのルールです。 文字列 "ルール":"*"
チェーン 表示されるアラートは、このフィルターを満たすエスカレーションチェーンにルーティングする必要があります。 Globは受け入れられ、*と空の文字列は両方ともすべてのエスカレーションチェーンに一致します。 いいえ。デフォルトはすべてのチェーンです。 文字列 "鎖":"*"
クリア すべて| 番号。 表示されるアラートは、cleared = noの場合はアクティブである必要があり、cleared = allの場合は過去7日間にクリアされている必要があります。 いいえ。デフォルトは「いいえ」です。 文字列 「クリア」:「いいえ」

バッチジョブウィジェットのプロパティ

さらに、batchjobタイプのすべてのウィジェット(batchjobウィジェット)に次のプロパティを含めることができます。

プロパティ 説明 必須?
デバイス表示名 バッチジョブが実行されているLogicMonitor内のデバイスの表示名 いいえ。デフォルトは*です。 文字列 「deviceDisplayName」:「10.36.11.240」
バッチジョブ名 LogicMonitorのバッチジョブ定義の名前 batchJobNameとbatchJobIdのいずれかが必要です。 文字列 「batchJobName」:「myBatchJob」
バッチジョブID LogicMonitorのバッチジョブ定義のID batchJobNameとbatchJobIdのいずれかが必要です。 文字列 「batchJobId」:2

ビッグナンバーウィジェット

タイプbigNumberのすべてのウィジェット(ビッグナンバーウィジェット)には、次のフィールドを持つオブジェクトbigNumberInfoが含まれている必要があります。

プロパティ 説明 必須?
データポイント ウィジェットに含まれるデータポイント。各データポイントには次のものを含めることができます。

  • deviceGroupFullPath-必須、Globを受け入れました
  • deviceDisplayName-必須、Globを受け入れました
  • dataSourceId-必須
  • dataSourceFullName-オプション(今後のバージョンではdataSourceIdの代わりに受け入れられます)
  • instanceName-必須、Globを受け入れました
  • dataPointName –dataPointIdとdataPointNameのいずれかが必要です。
  • dataPointId –dataPointIdとdataPointNameのいずれかが必要です。
  • 名前(データポイント構成名)–必須
  • AggregateFunction(合計|最小|最大|平均)–オプション

データポイントを表示するには、bigNumberItemsオブジェクトで参照する必要があることに注意してください。

有り JSONオブジェクト “dataPoints”:[{“deviceGroupFullPath”:”Website”,”deviceDisplayName”:”ip-172-31-37-162.us-west-2.compute.interal”,”dataSourceId”:559,”instanceName”:”NetSNMPCPUwithCores-Core Count: 1″,”dataPointName”:”CPUBusyPercent”,”name”:”CPUBusyPercent”}]
virtualDataPoint ウィジェットに含まれる仮想データポイント。各仮想データポイントには、(データポイント構成の)名前とrpn(計算)を含める必要があります。 表示するには、bigNumberItemsオブジェクトで仮想データポイントを参照する必要があることに注意してください。 いいえ JSONオブジェクト “ virtualDataPoints”:[{“ name”:” CPU Idle Percent”、” rpn”:” 100 – CPUBusyPercent”}]
bigNumberItems 値を大きな数値ウィジェットに表示する必要があるデータポイントと仮想データポイント。各アイテムには次のものを含める必要があります。

  • 位置(1 | 2 | 3 | 4)
  • 右ラベル
  • ボトムラベル
  • データポイント名
  • 丸め(0 | 1 | 2)ここで、0 =小数点なし、1 =小数点以下2桁、XNUMX = XNUMX桁
有り JSONオブジェクト “ bigNumberItems”:[{“ position”:1、” rightLabel”:”%”、” bottomLabel”:””、” dataPointName”:” CPUBusyPercent”、” rounding”:” 0”}、{“ position”:3 、” rightLabel”:””、” bottomLabel”:”%”、” dataPointName”:” CPU Idle Percent”、” rounding”:” 1”}]

カスタムグラフウィジェット

タイプcgraphのすべてのウィジェット(カスタムグラフウィジェット)には、次のフィールドを持つオブジェクトgraphInfoが含まれている必要があります。

プロパティ 説明 必須?
タイトル カスタムグラフのタイトル 文字列 有り
集計 true:このフィールドをtrueに設定すると、結果をXNUMX行に集約できます。
false:結果は集計されません。
ブーリアン いいえ。デフォルトはfalseです。
top10のみ true:このフィールドをtrueに設定して、結果を10行に制限できます。 結果を集計および制限することはできないため、aggregateとtop10OnlyのいずれかXNUMXつのみをtrueに設定できることに注意してください。
false:結果は制限されません
ブーリアン いいえ。デフォルトはfalseです。
base1024 基本スケールを1000から1024に変更します ブーリアン いいえ。デフォルトはfalseです。
最大値 y軸に表示する必要のある最大値 整数 いいえ。デフォルトは最大なし
最小値 y軸に表示する必要のある最小値 整数 いいえ。デフォルトは最小なしです。
垂直ラベル y軸に沿って表示されるラベル 文字列 有り
高さ グラフの高さのピクセル数。 ウィジェットのrowSpanが1に設定されている場合、この値は120になります。 整数 いいえ。デフォルトは120です。
グラフの幅のピクセル数はです。 ウィジェットのrowSpanが1に設定されている場合、この値は360になります。 整数 いいえ。360にデフォールストします。
データポイント ウィジェットに追加されたデータポイント(データポイントを表示するには、グラフの線で参照する必要があることに注意してください)。 名前(必須)、consolidateFunction(1 =平均、2 =最大、3 =分)(UIのデータ系列フィールド、デフォルトは1)、aggregateFunction(最小、最大、合計、平均)、dataPointId、またはdataPointName(必須)、deviceDisplayName(必須)、dataSourceFullNameまたはdataSourceId(必須)、instanceName(必須)、およびdeviceGroupFullPath(必須) JSONオブジェクト 有り
virtualDataPoint ウィジェットに追加された仮想データポイント(仮想データポイントは、表示されるグラフ線で参照される必要があることに注意してください)。 名前とrpn(dataPointsオブジェクトのdataPoint名を参照する計算)を含める必要があります JSONオブジェクト いいえ
グラフライン ウィジェットに表示されるグラフの線。グラフの線はdataPointsとvirtualDataPointsを参照する必要があります。 dataPointName、凡例、およびタイプを含める必要があります(1 =行、2 =領域、3 =スタック、4 =列) JSONオブジェクト 有り

デバイスNOCウィジェットのプロパティ

タイプdeviceNOC(デバイスNOCウィジェット)のウィジェット用に次のフィールドを含めることもできます。

プロパティ 説明 必須?
並び替え NOCアイテムの並べ替え方法。 オプションは名前です| 重大度。 いいえ。デフォルトは名前です。 文字列 "名前順"
表示列 NOCウィジェットに表示される列の最大数。 いいえ。デフォルトは1です。 整数 「displayColumn」:3
表示警告アラート NOCウィジェットに警告アラートを表示するかどうか いいえ。デフォルトはtrueです。 ブーリアン 「displayWarnAlert」:true
表示エラーアラート NOCウィジェットにエラーアラートを表示するかどうか いいえ。デフォルトはtrueです。 ブーリアン 「displayErrorAlert」:true
クリティカルアラートの表示 重要なアラートがNOCウィジェットに表示されるかどうか いいえ。デフォルトはtrueです。 ブーリアン 「displayCriticalAlert」:true
確認済み NOCウィジェットに確認応答を表示するかどうか いいえ。デフォルトはtrueです。 ブーリアン 「ackChecked」:true
sdtチェック済み SDTがNOCウィジェットに表示されるかどうか いいえ。デフォルトはtrueです。 ブーリアン 「sdt​​Checked」:true
リーディングシート 各アイテムに含める必要があるNOCアイテム:

  • デバイスグループフルパス
  • デバイス表示名
  • データソース表示名
  • インスタンス名
  • データポイント名
  • groupBy(オプション–省略した場合のデフォルトはdeviceGroup)
  • name(ウィジェットに表示されるアイテム名)
有り JSONオブジェクト “ items”:[{“ deviceGroupFullPath”:” *”、” deviceDisplayName”:” ip-172-31-33-214.us-west-2.compute.internal”、” dataSourceDisplayName”:” HTTP-“、” instanceName”:” *”、” dataPointName”:” *”、” groupBy”:” device”、” name”:” ## HOSTNAME ## – HTTP content / function”}、{“ deviceGroupFullPath”:” *”、 ” deviceDisplayName”:” ip-172-31-33-214.us-west-2.compute.internal”、” dataSourceDisplayName”:” Apache-“、” instanceName”:” *”、” dataPointName”:” *” 、” groupBy”:” device”、” name”:” ## HOSTNAME ## – Apache”}、{“ deviceGroupFullPath”:” *”、” deviceDisplayName”:” ip-172-31-33-214.us- west-2.compute.internal”、” dataSourceDisplayName”:” Host Status”、” instanceName”:” *”、” dataPointName”:” *”、” groupBy”:” device”、” name”:” ## HOSTNAME ## –ホストステータス”}]

ゲージウィジェットのプロパティ

タイプゲージのウィジェット(ゲージウィジェット)には、次のフィールドを含めることもできます。

プロパティ 説明 必須?
ショーピーク ゲージウィジェットにピーク値を表示するかどうか いいえ。デフォルトはfalseです。 ブーリアン 「showPeak」:false
PeakTimeRange ピーク値が決定される時間範囲 いいえ。デフォルトは時間です。 文字列 「peakTimeRange」:「30日」
伝説 ゲージの下に表示されるウィジェットの凡例 いいえ 文字列 「凡例」:「Apacheアクセス」
最大値 ゲージの右側に表示されるゲージウィジェットの最大値 有り 整数 「maxValue」:5.0
最小値 ゲージの左側に表示されるゲージウィジェットの最小値 有り 整数 「minValue」:0.0
データポイント ゲージウィジェットに値が表示されるデータポイント。 データポイントごとに次のフィールドを指定する必要があります(特に明記されていない限り)。

  • deviceGroupFullPath –必須、Globを受け入れました
  • deviceDisplayName –必須、Globを受け入れました
  • dataSourceFullName –dataSourceFullNameとdataSourceIdのいずれかが必要です
  • dataSourceId –dataSourceFullNameとdataSourceIdのいずれかが必要です
  • instanceName –必須
  • dataPointName –dataPointNameとdataPointIdのいずれかが必要です
  • dataPointId –dataPointNameとdataPointIdのいずれかが必要です
  • AggregationFunction –このフィールドは、インスタンス間でデータを集約する方法を決定します(省略した場合のデフォルトは最大です)。 オプションは、SUM、MAX、およびMINです。
  • dataSeries(省略した場合のデフォルトは平均)
  • rpn:データポイントで計算を実行します(省略した場合、デフォルトは空白になります)
有り JSONオブジェクト “dataPoint”:{“deviceGroupFullPath”:”Production”,”deviceDisplayName”:”ip-172-31-37-162.us-west-2.compute.interal”,”dataSourceId”:”124″,”instanceName”:”*”,”dataPointName”:”Accesses”,”aggregateFunction”:”SUM”,”rpn”:”Accesses + 10″,”dataSeries”:”average”}

Googleマップウィジェットのプロパティ

タイプgmapのウィジェット(Googleマップウィジェット)には、次のフィールドを持つオブジェクトmapPointsも含める必要があります。

プロパティ 説明 必須?
type mapPointがデバイスまたはグループを表すかどうか 有り 文字列 「タイプ」:「グループ」
デバイスグループフルパス マップポイントに関連付けられているデバイスグループのフルパス。 これは、マップポイントが表すグループ、またはマップポイントが表すデバイスのグループの場合があります。 有り 文字列 「deviceGroupFullPath」:「Production / AWS」
デバイス表示名 マップポイントが表すデバイスの表示名(type = deviceの場合)。 このフィールドはGlob(*)をサポートします。 はい、type = deviceの場合 文字列 「deviceDisplayName」:「ProductionServer23」

HTMLウィジェットのプロパティ

タイプhtmlのウィジェット(htmlウィジェット)には、次のフィールドを持つオブジェクト 'resources'も含める必要があります。

プロパティ 説明 必須?
type html | iframe 有り 文字列 「type」:「html」
URL type = htmlの場合、これはurlである必要があり、type = iframeの場合、これはiframeである必要があります。 有り 文字列 「URL」:「https://api.logicmonitor.com」

通常のグラフウィジェット(デバイスグラフ)のプロパティ

タイプngraph(固定されたデバイスレベルのグラフ)のウィジェット用に次のフィールドを含めることもできます。

プロパティ 説明 必須?
ヒド グラフが固定されたデバイスのID 有り 整数 「hId」:199
dsiID グラフが固定されたデータソースインスタンスのID 有り 整数 「dsiId」:2133
グラフID このウィジェットが固定されたデータソースグラフのID 有り 整数 「graphId」:1042

円グラフウィジェットのプロパティ

タイプpieChartのすべてのウィジェット(円グラフウィジェット)には、次のフィールドを持つオブジェクトpieChartInfoも含める必要があります。

プロパティ 説明 必須?
タイトル 円グラフの上に表示されるタイトル いいえ 文字列 「title」:「CostPerRegion」
PC 上のラベルと行を表示 ラベルと線を円グラフウィジェットに表示するかどうか いいえ。デフォルトはfalseです。 ブーリアン 「showLabelsAndLinesOnPC」:false
表示できる最大スライス数 円グラフに表示するスライスの最大数。 許可されるスライスの最大数は25です。 いいえ。デフォルトは10です。 整数 「maxSlicesCanBeShown」:10
グループ残りとしてその他 スライスの数がmaxSlicesCanBeShownを超える場合、この値は残りのスライスをグループ化する必要があるかどうかを示します いいえ。デフォルトはfalseです。 ブーリアン 「groupRemainingAsOthers」:false
データポイント ウィジェットに追加されたデータポイント。 ウィジェットに表示するには、データポイントをpieChartItemsオブジェクトに含める必要があることに注意してください。 各dataPointには次のものが含まれている必要があります。

  • 名前(データポイント構成用)–必須
  • dataPointName –dataPointNameとdataPointIdのいずれかが必要です
  • dataPointId –dataPointNameとdataPointIdのいずれかが必要です
  • deviceDisplayName –必須
  • dataSourceId –dataSourceIdとdataSourceNameのいずれかが必要です。
  • dataSourceFullName(これは表示名ではなくデータソース名であり、名前にダッシュが含まれている必要があります)–dataSourceIdとdataSourceNameのいずれかが必要です。
  • instanceName –必須
  • top10:true | false、top10とaggregateのXNUMXつだけがtrueになる可能性がある場合
  • 集計:true | false、top10とaggregateのXNUMXつだけがtrueになる可能性がある場合
  • AggregationFunction –aggregate = trueの場合に必要です。 オプションは、SUM、MAX、およびMINです。
有り JSONオブジェクト “ dataPoints”:[{“ deviceGroupFullPath”:” Website”、” deviceDisplayName”:” *”、” dataSourceFullName”:” Apache-“、” instanceName”:” Apache-80”、” dataPointName”:” ExtendedStatusNotEnabled”、” name」:「ExtendedStatusNotEnabled」、「aggregate」:true、「aggregateFunction」:「sum」、「globMode」:true}]
virtualDataPoint ウィジェットに追加された仮想データポイント。各仮想データポイントには、名前(構成名)とrpn(データポイント名を参照する計算)が必要です。 ウィジェットに表示するには、仮想データポイントをpieChartItemsオブジェクトに含める必要があることに注意してください。 いいえ JSONオブジェクト “ virtualDataPoints”:[{“ name”:” 1”、” rpn”:” maxrtt + 1000”}、{“ name”:” 2”、” rpn”:” maxrtt + 2000”}、{“ name”: ” 3”、” rpn”:” maxrtt + 500”}、{“ name”:” 4”、” rpn”:” maxrtt + 4000”}、{“ name”:” 5”、” rpn”:” maxrtt + 100″}]
円グラフ項目 円グラフに表示されるデータポイントと仮想データポイント

  • dataPointName(dataPointまたはvirtualDataPoint構成名を参照する必要があります)
  • 伝説
  • 色:自動| 黄色| ティール| シルバー| 赤| 紫| オレンジ| オリーブ| ネイビー| あずき色| ライム| 緑| グレー| フクシア| 青| 黒| アクア
有り JSONオブジェクト “ pieChartItems”:[{“ dataPointName”:” ExtendedStatusNotEnabled”、” legend”:” SA-EAST1”、” color”:” Auto”}、{“ dataPointName”:” 1”、” legend”:” EU-CENTRAL1 ″、” color”:” Auto”}]

サービス個別ステータスウィジェットのプロパティ

タイプserviceIndividualStatus(サービス個別ステータスウィジェット)のウィジェット用に次のフィールドを含めることもできます。

プロパティ 説明 必須?
サービスID ステータスが表示されるサービスのID 有り 整数 「serviceId」:21
場所 データが表示されるチェックポイントの場所 有り JSONオブジェクト 「locations」:[{"smgId":1、 "geoInfo": "US-Los Angeles"、 "selected":true}、{"smgId":2、 "geoInfo": "US-Washington DC"、 "selected ”:true}、{“ smgId”:3、” geoInfo”:” US – San Francisco”、” selected”:true}、{“ smgId”:4、” geoInfo”:” Europe – Dublin”、” selected” :true}、{“ smgId”:5、” geoInfo”:” Asia – Singapore”、” selected”:true}、{“ smgId”:6、” geoInfo”:” Sydney – Australia”、” selected”:false }]

サービスNOCウィジェットのプロパティ

タイプserviceNOC(サービスNOCウィジェット)のウィジェット用に次のフィールドを含めることもできます。

プロパティ 説明 必須?
並び替え NOCアイテムの並べ替え方法。 オプションは名前です| 重大度。 いいえ。デフォルトは名前です。 文字列 "名前順"
表示列 NOCウィジェットに表示される列の最大数。 いいえ。デフォルトは2です。 整数 「displayColumn」:3
表示警告アラート NOCウィジェットに警告アラートを表示するかどうか いいえ。デフォルトはtrueです。 ブーリアン 「displayWarnAlert」:true
表示エラーアラート NOCウィジェットにエラーアラートを表示するかどうか いいえ。デフォルトはtrueです。 ブーリアン 「displayErrorAlert」:true
クリティカルアラートの表示 重要なアラートがNOCウィジェットに表示されるかどうか いいえ。デフォルトはtrueです。 ブーリアン 「displayCriticalAlert」:true
確認済み NOCウィジェットに確認応答を表示するかどうか いいえ。デフォルトはtrueです。 ブーリアン 「ackChecked」:true
sdtチェック済み SDTがNOCウィジェットに表示されるかどうか いいえ。デフォルトはtrueです。 ブーリアン 「sdt​​Checked」:true
リーディングシート NOCアイテム 有り JSONオブジェクト “ items”:[{“ serviceGroupName”:” Production”、” serviceName”:” *”、” groupBy”:” service”、” name”:” ## SERVICE ##”}、{“ serviceGroupName”:” Internal Services”、” serviceName”:” *”、” groupBy”:” service”、” name”:” ## SERVICE ##”}

サービス全体のステータスウィジェットのプロパティ

タイプserviceOverallStatusのウィジェット(サービス全体のステータスウィジェット)の場合、次のフィールドを持つオブジェクトselectedServicesを含める必要があります。

プロパティ 説明 必須?
サービスグル​​ープ ID サービスグル​​ープのID。 有り JSONオブジェクト 「serviceGroupId」:1
すべて選択 グループ内のすべてのサービスを含める必要があるかどうか。 いいえ。デフォルトはfalseです。 JSONオブジェクト 「chooseAll」:false
サービス ウィジェットに表示する必要のあるサービス。各サービスには名前とIDを含める必要があります はい、chooseAll = falseでない限り。 JSONオブジェクト “ services”:[{“ id”:21、” name”:” main page”}、{“ id”:22、” name”:” a record(ELB)”}]

サービスSLAウィジェットのプロパティ  

さらに、serviceSLAタイプのウィジェット(サービスSLAウィジェット)に次のフィールドを含めることができます。

プロパティ 説明 必須?
リーディングシート SLAの計算に使用する必要があるサービス。各サービスにはserviceGroupとserviceを含める必要があります。 有り JSONオブジェクト “ items”:[{“ serviceGroup”:” Production”、” service”:” *”}、{“ serviceGroup”:” Internal Services”、” service”:” *”}]

デバイスのSLAウィジェットのプロパティ  

さらに、deviceSLAタイプのウィジェット(デバイスSLAウィジェット)の次のフィールドを入力できます。

プロパティ 説明 必須?
メトリクス SLAの計算に使用する必要があるメトリック(データポイント)。各サービスには、groupName(*)、deviceName(*)、dataSourceIdまたはdataSourceFullName、インスタンス(*)、メトリック(データポイント)、しきい値を含める必要があります。 、excludeSDTType(空の文字列はSDT期間が除外されないことを意味し、「group」はデバイスグループレベルのSDT期間が除外されることを意味し、「device」はデバイスレベルのSDT期間が除外されることを意味します) 有り JSONオブジェクト 「metrics」:[{"groupName": "*"、 "deviceName": "*"、 "dataSourceFullName": "EC2(AWS_EC2)"、 "instances": "*"、 "metric": "CPUUtilization"、 "しきい値」:「<1」}]
週の日数 SLAを計算する必要がある日。コンマで区切ります。 1 =日曜日、2 =月曜日、3 =火曜日、4 =水曜日、5 =木曜日、6 =金曜日、7 =土曜日。 いいえ。デフォルトは「*」です。 文字列 「daysInWeek」:「1,2,3,4,5,6,7」
一日の期間 SLAを計算する必要がある選択した日の期間。 * =終日、または時間範囲は「hh:mm TO hh:mm」の形式で指定できます(例:「01:15 TO17:15」)。 いいえ。デフォルトは「*」です。 文字列 「periodInOneDay」:「08:00〜12:00」
unmonitoredTimeType データの処理方法:0 =監視されていない時間は無視され、可能な合計時間から差し引かれます、1 =監視されていない時間は稼働時間から差し引かれ、違反としてカウントされます、2 =監視されていない時間は稼働時間に追加され、利用可能としてカウントされます。 いいえ。デフォルトは0です。 整数 「unmonitoredTimeType」:0
画面タイプ 選択したメトリックを0つの数値に結合するか(displayType:1)、個別に表示するかどうか、最大XNUMXつのメトリック(displayType:XNUMX)。 いいえ。デフォルトは0です。 整数 「displayType」:0
ボトムラベル SLAの計算に使用する必要があるサービス。各サービスにはserviceGroupとserviceを含める必要があります。 いいえ。デフォルトは 文字列 「bottomLabel」:「利用可能時間」

サービスグラフウィジェット([サービス]タブから固定されたグラフ)プロパティ

タイプsgraph(サービスページから固定されたグラフ)のウィジェット用に次のフィールドを追加で含めることができます。

プロパティ 説明 必須?
サービスチェックポイントID このグラフが関連付けられているチェックポイントのID 有り 整数 「serviceCheckpointId」:99
グラフ ウィジェットとして追加されたグラフの名前 有り 文字列 「グラフ」:「応答時間」
サービス名 このグラフが関連付けられているサービスの名前 有り 文字列 “ serviceName”:” CName_check”

テーブルウィジェットのプロパティ

タイプテーブルのすべてのウィジェット(テーブルウィジェット)には、XNUMXつの追加オブジェクトが含まれている必要があります。 'columns'オブジェクトを含める必要があります。各列には、次のフィールドがあります。

プロパティ 説明 必須?
列名 列の名前 文字列 有り
データポイント 列に選択されているデータソースとデータポイント JSONオブジェクト 有り
AlternativeDataPoints 列に選択する必要がある代替のデータソースとデータポイントの組み合わせ JSONオブジェクト いいえ
予測を有効にする 予測が有効かどうか ブーリアン いいえ
丸めXNUMX進数 値を四捨五入する小数点の数。 オプションは0、1、2です。 整数 いいえ
RPN このフィールドの式は、データポイントで実行されます。 列名はデータポイントとして参照する必要があります。 文字列 いいえ

また、「rows」オブジェクトを含める必要があります。各行には次のフィールドがあります。

プロパティ 説明 必須?
ラベル 行のラベル 文字列 有り
グループID 行に選択されたグループのID 整数 groupIdとgroupFullPathのいずれかが必要です
グループフルパス 行に選択されたグループのフルパス 文字列 groupIdとgroupFullPathのいずれかが必要です
デバイスID 行に選択されたデバイスのID 整数 有り
デバイス表示名 行に選択されたデバイスの表示名 文字列 いいえ
インスタンス 行の各列のインスタンス。 行の各列にinstanceIdとdataPointIdを含める必要があります。 JSONオブジェクト 有り

また、enableForecast = trueの場合、次のフィールドが必要な場合は、「forecast」オブジェクトを含める必要があります。

プロパティ 説明
時間範囲 トレーニングデータの時間範囲(予測が計算されるデータ)。 オプションは、過去7日間、過去14日間、過去30日間、過去暦月、過去365日間、またはカスタム時間範囲です。 文字列 「timeRange」:「過去7日間」
重症度 予測に含める必要のある最小アラート重大度、警告のXNUMXつ| エラー| クリティカル 文字列 「重大度」:「警告」
信頼 予測されたアラートに必要な信頼度。 整数 「自信」:90

テキストウィジェットのプロパティ

テキストタイプのすべてのウィジェット(テキストウィジェット)には、コンテンツフィールドが含まれている必要があります。

プロパティ 説明 必須?
コンテンツ テキストウィジェットに表示する必要のあるhtmlコンテンツ 文字列 有り

次の例は、Pythonを介してさまざまなウィジェットをアカウントapi.logicmonitor.comに更新する方法を示しています。

例:アラートウィジェット

次のPythonスクリプトは、api.logicmonitor.comのダッシュボード540のアラートウィジェット26を更新しました。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/540'
data = '{"name":"Website Alert Widget","dashboardId":26,"type":"alert","filters":{"group":"US - LA/Website*","cleared":"all"}}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:BatchJobウィジェット

次のPythonスクリプトは、api.logicmonitor.comのダッシュボード485のウィジェット26を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/485'
data = '{"type":"batchjob","dashboardId":"26","name":"My Batch Job Widget","deviceDisplayName":"10.36.11.240","batchJobName":"myBatchJob"}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:ビッグナンバーウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット308を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/308'
data = '{"type":"bigNumber","dashboardId":"26","name":"DiskReadBps,"bigNumberInfo":{"dataPoints":[{"deviceGroupFullPath":"Website","deviceDisplayName":"AP-NE1:QA Develop (test01)_i-0fa41a680e9ea1d72","dataSourceId":648,"instanceName":"AWS_EC2","dataPointName":"DiskReadBps","name":"CPUBusyPercent"}],"bigNumberItems":[{"dataPointName":"CPUBusyPercent","rounding":"0"}]}}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:デバイスNOCウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット486を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/486'
data = '{"type":"deviceNOC","dashboardId":"26","name":"Device NOC Widget","items":[{"deviceGroupFullPath":"*","deviceDisplayName":"ip-172-31-73-214.us-west-2.compute.internal","dataSourceDisplayName":"HTTP-","instanceName":"*","dataPointName":"*","groupBy":"device","name":"##HOSTNAME## - HTTP content/function"},{"deviceGroupFullPath":"*","deviceDisplayName":"ip-172-31-73-214.us-west-2.compute.internal","dataSourceDisplayName":"Apache-","instanceName":"*","dataPointName":"*","groupBy":"device","name":"##HOSTNAME## - Apache"}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:ゲージウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット487を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/487'
data = '{"type":"gauge","dashboardId":"26","name":"Gauge Widget","maxValue":100,"minValue":0,"dataPoint":{"deviceGroupFullPath":"*","deviceDisplayName":"ip-172-31-33-214.us-west-2.compute.internal","dataSourceFullName":"Apache-","instanceName":"*","dataPointName":"BusyWorkers"}}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:Googleマップウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット488を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/488'
data = '{"type":"gmap","dashboardId":"26","name":"My Google Map Widget","mapPoints":[{"type":"group","deviceGroupFullPath":"US - LA/Website"}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:HTMLウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット489を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/489'
data = '{"type":"html","dashboardId":"26","name":"My HTML widget","resources":[{"type":"iframe","URL":"<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/s6Ax30Mz7uo\" frameborder=\"0\" allowfullscreen></iframe>'"}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:デバイスグラフウィジェット(デバイスページから固定)

次のPythonスクリプトは、api.logicmonitor.comのウィジェット490を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/490'
data = '{"type":"ngraph","dashboardId":"26","name":"NGRAPH WIDGET","hId":39,"dsiId":852,"graphId":2142}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:円グラフウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット491を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/491'
data = '{"type":"pieChart","dashboardId":"26","pieChartInfo":{"title":"anything","dataPoints":[{"deviceGroupFullPath":"Website","deviceDisplayName":"*","dataSourceFullName":"Apache-","instanceName":"Apache-80","dataPointName":"ExtendedStatusNotEnabled","name":"ExtendedStatusNotEnabled","aggregate":true,"aggregateFunction":"sum"}],"pieChartItems":[{"dataPointName":"ExtendedStatusNotEnabled","legend":"##HOSTNAME##_##DATASOURCENAME##_##INSTANCE##","color":"Auto"}]},"name":"MY PIE CHART WIDGET"}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:サービス個別ステータスウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット492を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/492'
data = '{"type":"serviceIndividualStatus","dashboardId":"26","name":"SERVICE INDIVIDUAL WIDGET","serviceId":21,"locations":[{"smgId":1,"geoInfo":"US - Los Angeles","selected":true},{"smgId":2,"geoInfo":"US - Washington DC","selected":true},{"smgId":3,"geoInfo":"US - San Francisco","selected":true},{"smgId":4,"geoInfo":"Europe - Dublin","selected":true},{"smgId":5,"geoInfo":"Asia - Singapore","selected":true},{"smgId":6,"geoInfo":"Sydney - Australia","selected":false}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:サービスNOCウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット493を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/493'
data = '{"type":"serviceNOC","dashboardId":"26","name":"Service NOC Widget","items":[{"serviceGroupName":"Production","serviceName":"*","groupBy":"service","name":"##SERVICE##"},{"serviceGroupName":"Internal Services","serviceName":"*","groupBy":"service","name":"##SERVICE##"}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:サービス全体のステータスウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット494を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/494'
data = '{"type":"serviceOverallStatus","dashboardId":"26","name":"Service Overall Status","selectedServices":[{"serviceGroupId":1,"chooseAll":true},{"serviceGroupId":1,"chooseAll":false,"services":[{"id":21,"name":"main page"},{"id":22,"name":"a record (ELB)"}]}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:サービスSLAウィジェット

次のPythonスクリプトは、api.logicmonitor.comのウィジェット495を更新します。

#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/495'
data = '{"type":"serviceSLA","dashboardId":"26","name":"Service SLA Widget","items":[{"serviceGroup":"Production","service":"*"},{"serviceGroup":"Internal Services","service":"*"}]}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3

例:サービスグラフウィジェット(サービスページから固定)

次のPythonスクリプトは、api.logicmonitor.comのウィジェット496を更新します。

>#!/bin/env python

import requests
import json
import hashlib
import base64
import time
import hmac

#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'

#Request Info
httpVerb ='PUT'
resourcePath = '/dashboard/widgets/496'
data = '{"type":"sgraph","dashboardId":"26","name":"Service Graph Widget","serviceName":"CName_check","serviceCheckpointId":99,"graph":"responseTime"}'

#Construct URL 
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath

#Get current time in milliseconds
epoch = str(int(time.time() * 1000))

#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath

# Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()

# Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}

#Make request
response = requests.put(url, data=data, headers=headers)

# Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Pythonの3
記事上で