サポートセンターホーム


ウィジェットを追加する

概要

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

お問い合わせ

HTTPメソッド: POST

URI: / dashboard / widgets

プロパティ

グローバルプロパティ

すべての新しいウィジェットに対して、次のプロパティをPOSTできます。

プロパティ 製品説明 必須? 種類
ウィジェットの名前あり文字列「name」:「Apacheリクエスト」
説明ウィジェットの説明いいえ文字列「説明」:「ウィジェットの説明」
typeアラート| deviceNOC | html | serviceOverallStatus | sgraph | ngraph | serviceNOC | serviceSLA | deviceSLA | 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」
colSpanウィジェットの幅が消費する列の数いいえ。デフォルトは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」オブジェクトをPOSTすることができます。

プロパティ 製品説明 必須? 種類
グループヘッド表示されるアラートは、このフィルター基準を満たすグループに関連付ける必要があります。 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ウィジェット)に対して次のプロパティをPOSTすることができます。

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

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

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

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

 

  • deviceGroupFullPath-必須、Globを受け入れました
  • deviceDisplayName-必須、Globを受け入れました
  • dataSourceId-必須
  • dataSourceFullName-オプション
  • 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ウィジェット)の次のフィールドをPOSTすることもできます。

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

 

  • deviceGroupFullPath
  • deviceDisplayName
  • dataSourceDisplayName
  • インスタンス名
  • データポイント名
  • 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 ## –ホストステータス”}]

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

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

プロパティ 製品説明 必須? 種類
ショーピークゲージウィジェットにピーク値を表示するかどうかいいえ。デフォルトは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をPOSTする必要があります。

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

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

タイプhtmlのウィジェット(HTMLウィジェット)の場合は、次のフィールドを使用してオブジェクト 'resources'をPOSTする必要があります。

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

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

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

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

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

また、タイプpieChartのすべてのウィジェット(円グラフウィジェット)に対して、次のフィールドを使用してオブジェクトpieChartInfoをPOSTする必要があります。

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

 

  • 名前(データポイント構成用)–必須
  • dataPointName –dataPointNameとdataPointIdのいずれかが必要です
  • deviceGroupFullPath(オプション)–ルートグループを基準にしたデバイスグループのパス
  • 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」}]
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″}]
pieChartItems円グラフに表示されるデータポイントと仮想データポイント

 

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

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

タイプserviceIndividualStatus(サービス個別ステータスウィジェット)のウィジェットに対して、以下のフィールドをPOSTすることもできます。

プロパティ 製品説明 必須? 種類
サービスIDステータスが表示されるサービスのIDあり整数「serviceId」:21
場所データが表示されるチェックポイントの場所ありJSONオブジェクト「locations」:[{"smgId":2、 "geoInfo": "US-ワシントン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ウィジェット)のウィジェットに対して、以下のフィールドをPOSTすることもできます。

プロパティ 製品説明 必須? 種類
並び替えNOCアイテムの並べ替え方法。 オプションは名前です| 重大度。いいえ。デフォルトは名前です。文字列"名前順"
表示列NOCウィジェットに表示される列の最大数。いいえ。デフォルトは2です。整数「displayColumn」:3
表示警告アラートNOCウィジェットに警告アラートを表示するかどうかいいえ。デフォルトはtrueです。ブーリアン「displayWarnAlert」:true
displayErrorAlertNOCウィジェットにエラーアラートを表示するかどうかいいえ。デフォルトはtrueです。ブーリアン「displayErrorAlert」:true
displayCriticalAlert重要なアラートがNOCウィジェットに表示されるかどうかいいえ。デフォルトはtrueです。ブーリアン「displayCriticalAlert」:true
確認済みNOCウィジェットに確認応答を表示するかどうかいいえ。デフォルトはtrueです。ブーリアン「ackChecked」:true
sdtCheckedSDTが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をPOSTする必要があります。

プロパティ 製品説明 必須? 種類
serviceGroupIdサービスグル​​ープの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ウィジェット)の次のフィールドをPOSTすることができます。

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

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

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

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

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

さらに、タイプsgraph(サービスページから固定されたグラフ)のウィジェットの次のフィールドをPOSTできます。

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

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

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

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

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

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

また、enableForecast = trueがある場合は、「forecast」オブジェクトが必要です。この場合、次のXNUMXつのフィールドすべてが必要です。

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

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

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

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

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

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

次のPythonスクリプトは、api.logicmonitor.comのダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"name":"Website Alert Widget","dashboardId":26,"type":"alert","filters":{"group":"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.post(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のダッシュボード26にBatchJobウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"batchjob","dashboardId":"26","name":"batch job test","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.post(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のダッシュボード26にBigNumberウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"bigNumber","dashboardId":"26","name":"big number test","bigNumberInfo":{"dataPoints":[{"deviceGroupFullPath":"Website","deviceDisplayName":"ip-172-31-37-162.us-west-2.compute.interal","dataSourceId":559,"instanceName":"NetSNMPCPUwithCores-Core Count: 1","dataPointId":2899,"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.post(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のダッシュボード26にデバイスNOCウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"deviceNOC","dashboardId":"26","name":"Device NOC Widget","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"}]}'

#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.post(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のダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"gauge","dashboardId":"26","name":"Gauge Widget","maxValue":100,"minValue":0,"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"}}'

#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.post(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のダッシュボード26にGoogleマップウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"gmap","dashboardId":"26","name":"Google Map Widget","mapPoints":[{"type":"device","deviceGroupFullPath":"US - LA/Website","deviceDisplayName":"ip-172-31-37-162.us-west-2.compute.interal"}]}'

#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.post(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のダッシュボード26にHTMLウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
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.post(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のダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
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.post(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のダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"pieChart","dashboardId":"26","pieChartInfo":{"title":"testWidget","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":"PIE CHART WIDGET TEST"}'

#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.post(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のダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"serviceIndividualStatus","dashboardId":"26","name":"SERVICE IND WIDGET","serviceId":21,"locations":[{"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.post(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のダッシュボード26にサービスNOCウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
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.post(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のダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"serviceOverallStatus","dashboardId":"26","name":"Service Overall Status","selectedServices":[{"serviceGroupId":1,"serviceGroupName":"api","chooseAll":true},{"serviceGroupId":1,"serviceGroupName":"api","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.post(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のダッシュボード26にサービスSLAウィジェットを追加します。

#!/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 ='POST'
resourcePath = '/dashboard/widgets'
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.post(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のダッシュボード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 ='POST'
resourcePath = '/dashboard/widgets'
data = '{"type":"sgraph","dashboardId":"26","name":"SGRAPH 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.post(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のダッシュボード26にカスタムグラフウィジェットを追加します。

#!/bin/env python

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

#Account Info
AccessId ='48v2wRzfK94y53sq5EuF'
AccessKey ='H_D9i(f5~B^U36^K6i42=^nS~e75gy382Bf6{)P+'
Company = 'api'

#Request Info
httpVerb ='POST'
resourcePath = '/dashboard/widgets'
queryParams =''
data = '{"name":"Custom Graph Widget","dashboardId":26,"type":"cgraph","graphInfo":{"title":"My Custom Graph Widget","verticalLabel":"percent","dataPoints":[{"name":"cpu","dataPointName":"CPUBusyPercent","dataSourceFullName":"WinCPU","instanceName":"*","deviceDisplayName":"ip-172-31-37-162.us-west-2.compute.interal","deviceGroupFullPath":"*"}],"graphLines":[{"dataPointName":"cpu","legend":"##INSTANCE##","type":1}]}}'

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

#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.post(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のダッシュボード26にテーブルウィジェットを追加します。

#!/bin/env python

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

#Account Info
AccessId ='48v2wRzfK94y53sq5EuF'
AccessKey ='H_D9i(f5~B^U36^K6i42=^nS~e75gy382Bf6{)P+'
Company = 'api'

#Request Info
httpVerb ='POST'
resourcePath = '/dashboard/widgets'
queryParams =''
data = '{"name":"Table Widget","dashboardId":26,"type":"table","columns":[{"columnName":"cpu","dataPoint":{"dataSourceId":7960532,"dataPointId":5349}}],"rows":[{"label":"prodServer1","groupId":7,"deviceId":39,"instances":[{"instanceId":96678897,"dataPointId":5349}]}]}'

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

#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.post(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のダッシュボード26にテキストウィジェットを追加します。

#!/bin/env python

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

#Account Info
AccessId ='48v2wRzfK94y53sq5EuF'
AccessKey ='H_D9i(f5~B^U36^K6i42=^nS~e75gy382Bf6{)P+'
Company = 'api'

#Request Info
httpVerb ='POST'
resourcePath = '/dashboard/widgets'
queryParams =''
data = '{"name":"Text Widget","dashboardId":26,"type":"text","content":"<p>My Text Widget</p>"}'

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

#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.post(url, data=data, headers=headers)

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

記事上で