ウィジェットを追加する

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

概要

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」
コルスパンウィジェットの幅が消費する列の数いいえ。デフォルトは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することができます。

プロパティ 説明 必須?
デバイス表示名バッチジョブが実行されている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
表示エラーアラート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 ## –ホストステータス”}]

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

タイプゲージのウィジェット(ゲージウィジェット)については、次のフィールドを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」:「Production / AWS」
デバイス表示名マップポイントが表すデバイスの表示名(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」
PC 上のラベルと行を表示ラベルと線を円グラフウィジェットに表示するかどうかいいえ。デフォルトはfalseです。ブーリアン「showLabelsAndLinesOnPC」:false
表示できる最大スライス数円グラフに表示するスライスの最大数。 許可されるスライスの最大数は25です。いいえ。デフォルトは10です。整数「maxSlicesCanBeShown」:10
グループ残りとしてその他スライスの数が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″}]
円グラフ項目円グラフに表示されるデータポイントと仮想データポイント

 

  • 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
表示エラーアラート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をPOSTする必要があります。

プロパティ 説明 必須?
サービスグル​​ープ 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ウィジェット)の次のフィールドを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」}]
週の日数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 | 1 | 2 –選択したメトリックを0つの数値に結合するか(displayType:1)、個別に表示するか、最大2つのメトリックを表示するか(displayType:XNUMX)、テーブルのXNUMX行にXNUMXつずつ表示するか(displayType:XNUMX)。いいえ。デフォルトは0です。整数「displayType」:0
トップX1 | 10 | 25 | 50 –データポイントごとに表示する数値の数(globが使用されている場合)いいえ。デフォルトは10です。整数「topX」:10
ボトムラベルSLAの計算に使用する必要があるサービス。各サービスにはserviceGroupとserviceを含める必要があります。いいえ。デフォルトは文字列「bottomLabel」:「利用可能時間」

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

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

プロパティ 説明 必須?
サービスチェックポイント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」オブジェクトが必要です。この場合、次の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
記事上で