ウィジェットを更新する
最終更新日: 29 年 2022 月 XNUMX 日概要
LogicMonitorのRESTAPIを使用して、ウィジェットをプログラムで更新できます。 すべてのAPIリソースと同様に、 認証が必要です.
詳細依頼フォーム
HTTPメソッド: PUT
(REST標準と一致して、PUTリクエストで指定されていないプロパティはデフォルト値に戻ります)
URI: / Dashboard / widgets / {id}
プロパティ
グローバルプロパティ
ウィジェットを更新するためのすべてのPUTリクエストには、次のプロパティを含めることができます。
プロパティ | 説明 | 必須? | 種類 | 例 |
名 | ウィジェットの名前 | Yes | 文字列 | 「name」:「Apacheリクエスト」 |
説明 | ウィジェットの説明 | いいえ | 文字列 | 「説明」:「ウィジェットの説明」 |
type | アラート| cgraph | deviceNOC | html | serviceOverallStatus | sgraph | ngraph | serviceNOC | serviceSLA | bigNumber | gmap | serviceIndividualStatus | ゲージ| 円グラフ| ngraph | バッチジョブ」 | Yes | 文字列 | 「タイプ」:「アラート」 |
DashboardId | ウィジェットが追加されるダッシュボードのID | Yes | 整数 | 「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です。 | 文字列 | 「sdted」:「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が含まれている必要があります。
プロパティ | 説明 | 必須? | 種類 | 例 |
データポイント |
ウィジェットに含まれるデータポイント。各データポイントには次のものを含めることができます。
データポイントを表示するには、bigNumberItemsオブジェクトで参照する必要があることに注意してください。 |
Yes | 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 |
値を大きな数値ウィジェットに表示する必要があるデータポイントと仮想データポイント。各アイテムには次のものを含める必要があります。
|
Yes | JSONオブジェクト | “ bigNumberItems”:[{“ position”:1、” rightLabel”:”%”、” bottomLabel”:””、” dataPointName”:” CPUBusyPercent”、” rounding”:” 0”}、{“ position”:3 、” rightLabel”:””、” bottomLabel”:”%”、” dataPointName”:” CPU Idle Percent”、” rounding”:” 1”}] |
カスタムグラフウィジェット
タイプcgraphのすべてのウィジェット(カスタムグラフウィジェット)には、次のフィールドを持つオブジェクトgraphInfoが含まれている必要があります。
プロパティ | 説明 | 種類 | 必須? |
タイトル | カスタムグラフのタイトル | 文字列 | Yes |
集計 |
true:このフィールドをtrueに設定すると、結果をXNUMX行に集約できます。 false:結果は集計されません。 |
ブーリアン | いいえ。デフォルトはfalseです。 |
top10のみ |
true:このフィールドをtrueに設定して、結果を10行に制限できます。 結果を集計および制限することはできないため、aggregateとtop10OnlyのいずれかXNUMXつのみをtrueに設定できることに注意してください。 false:結果は制限されません |
ブーリアン | いいえ。デフォルトはfalseです。 |
base1024 | 基本スケールを1000から1024に変更します | ブーリアン | いいえ。デフォルトはfalseです。 |
最大値 | y軸に表示する必要のある最大値 | 整数 | いいえ。デフォルトは最大なし |
最小値 | y軸に表示する必要のある最小値 | 整数 | いいえ。デフォルトは最小なしです。 |
垂直ラベル | y軸に沿って表示されるラベル | 文字列 | Yes |
高さ | グラフの高さのピクセル数。 ウィジェットのrowSpanが1に設定されている場合、この値は120になります。 | 整数 | いいえ。デフォルトは120です。 |
幅 | グラフの幅のピクセル数はです。 ウィジェットのrowSpanが1に設定されている場合、この値は360になります。 | 整数 | いいえ。360にデフォールストします。 |
データポイント | ウィジェットに追加されたデータポイント(データポイントを表示するには、グラフの線で参照する必要があることに注意してください)。 名前(必須)、consolidateFunction(1 =平均、2 =最大、3 =分)(UIのデータ系列フィールド、デフォルトは1)、aggregateFunction(最小、最大、合計、平均)、dataPointId、またはdataPointName(必須)、deviceDisplayName(必須)、dataSourceFullNameまたはdataSourceId(必須)、instanceName(必須)、およびdeviceGroupFullPath(必須) | JSONオブジェクト | Yes |
virtualDataPoint | ウィジェットに追加された仮想データポイント(仮想データポイントは、表示されるグラフ線で参照される必要があることに注意してください)。 名前とrpn(dataPointsオブジェクトのdataPoint名を参照する計算)を含める必要があります | JSONオブジェクト | いいえ |
グラフライン | ウィジェットに表示されるグラフの線。グラフの線はdataPointsとvirtualDataPointsを参照する必要があります。 dataPointName、凡例、およびタイプを含める必要があります(1 =行、2 =領域、3 =スタック、4 =列) | JSONオブジェクト | Yes |
デバイス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です。 | ブーリアン | 「sdtChecked」:true |
リーディングシート |
各アイテムに含める必要があるNOCアイテム:
|
Yes | 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アクセス」 |
最大値 | ゲージの右側に表示されるゲージウィジェットの最大値 | Yes | 整数 | 「maxValue」:5.0 |
最小値 | ゲージの左側に表示されるゲージウィジェットの最小値 | Yes | 整数 | 「minValue」:0.0 |
データポイント |
ゲージウィジェットに値が表示されるデータポイント。 データポイントごとに次のフィールドを指定する必要があります(特に明記されていない限り)。
|
Yes | 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がデバイスまたはグループを表すかどうか | Yes | 文字列 | 「タイプ」:「グループ」 |
デバイスグループフルパス | マップポイントに関連付けられているデバイスグループのフルパス。 これは、マップポイントが表すグループ、またはマップポイントが表すデバイスのグループの場合があります。 | Yes | 文字列 | 「deviceGroupFullPath」:「Production / AWS」 |
デバイス表示名 | マップポイントが表すデバイスの表示名(type = deviceの場合)。 このフィールドはGlob(*)をサポートします。 | はい、type = deviceの場合 | 文字列 | 「deviceDisplayName」:「ProductionServer23」 |
HTMLウィジェットのプロパティ
タイプhtmlのウィジェット(htmlウィジェット)には、次のフィールドを持つオブジェクト 'resources'も含める必要があります。
プロパティ | 説明 | 必須? | 種類 | 例 |
type | html | iframe | Yes | 文字列 | 「type」:「html」 |
URL | type = htmlの場合、これはurlである必要があり、type = iframeの場合、これはiframeである必要があります。 | Yes | 文字列 | 「URL」:「https://api.logicmonitor.com」 |
通常のグラフウィジェット(デバイスグラフ)のプロパティ
タイプngraph(固定されたデバイスレベルのグラフ)のウィジェット用に次のフィールドを含めることもできます。
プロパティ | 説明 | 必須? | 種類 | 例 |
ヒド | グラフが固定されたデバイスのID | Yes | 整数 | 「hId」:199 |
dsiID | グラフが固定されたデータソースインスタンスのID | Yes | 整数 | 「dsiId」:2133 |
グラフID | このウィジェットが固定されたデータソースグラフのID | Yes | 整数 | 「graphId」:1042 |
円グラフウィジェットのプロパティ
タイプpieChartのすべてのウィジェット(円グラフウィジェット)には、次のフィールドを持つオブジェクトpieChartInfoも含める必要があります。
プロパティ | 説明 | 必須? | 種類 | 例 |
タイトル | 円グラフの上に表示されるタイトル | いいえ | 文字列 | 「title」:「CostPerRegion」 |
PC 上のラベルと行を表示 | ラベルと線を円グラフウィジェットに表示するかどうか | いいえ。デフォルトはfalseです。 | ブーリアン | 「showLabelsAndLinesOnPC」:false |
表示できる最大スライス数 | 円グラフに表示するスライスの最大数。 許可されるスライスの最大数は25です。 | いいえ。デフォルトは10です。 | 整数 | 「maxSlicesCanBeShown」:10 |
グループ残りとしてその他 | スライスの数がmaxSlicesCanBeShownを超える場合、この値は残りのスライスをグループ化する必要があるかどうかを示します | いいえ。デフォルトはfalseです。 | ブーリアン | 「groupRemainingAsOthers」:false |
データポイント |
ウィジェットに追加されたデータポイント。 ウィジェットに表示するには、データポイントをpieChartItemsオブジェクトに含める必要があることに注意してください。 各dataPointには次のものが含まれている必要があります。
|
Yes | 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″}] |
円グラフ項目 |
円グラフに表示されるデータポイントと仮想データポイント
|
Yes | JSONオブジェクト | “ pieChartItems”:[{“ dataPointName”:” ExtendedStatusNotEnabled”、” legend”:” SA-EAST1”、” color”:” Auto”}、{“ dataPointName”:” 1”、” legend”:” EU-CENTRAL1 ″、” color”:” Auto”}] |
サービス個別ステータスウィジェットのプロパティ
タイプserviceIndividualStatus(サービス個別ステータスウィジェット)のウィジェット用に次のフィールドを含めることもできます。
プロパティ | 説明 | 必須? | 種類 | 例 |
サービスID | ステータスが表示されるサービスのID | Yes | 整数 | 「serviceId」:21 |
場所 | データが表示されるチェックポイントの場所 | Yes | 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です。 | ブーリアン | 「sdtChecked」:true |
リーディングシート | NOCアイテム | Yes | JSONオブジェクト | “ items”:[{“ serviceGroupName”:” Production”、” serviceName”:” *”、” groupBy”:” service”、” name”:” ## SERVICE ##”}、{“ serviceGroupName”:” Internal Services”、” serviceName”:” *”、” groupBy”:” service”、” name”:” ## SERVICE ##”} |
サービス全体のステータスウィジェットのプロパティ
タイプserviceOverallStatusのウィジェット(サービス全体のステータスウィジェット)の場合、次のフィールドを持つオブジェクトselectedServicesを含める必要があります。
プロパティ | 説明 | 必須? | 種類 | 例 |
サービスグループ ID | サービスグループのID。 | Yes | 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を含める必要があります。 | Yes | JSONオブジェクト | “ items”:[{“ serviceGroup”:” Production”、” service”:” *”}、{“ serviceGroup”:” Internal Services”、” service”:” *”}] |
デバイスのSLAウィジェットのプロパティ
さらに、deviceSLAタイプのウィジェット(デバイスSLAウィジェット)の次のフィールドを入力できます。
プロパティ | 説明 | 必須? | 種類 | 例 |
メトリクス | SLAの計算に使用する必要があるメトリック(データポイント)。各サービスには、groupName(*)、deviceName(*)、dataSourceIdまたはdataSourceFullName、インスタンス(*)、メトリック(データポイント)、しきい値を含める必要があります。 、excludeSDTType(空の文字列はSDT期間が除外されないことを意味し、「group」はデバイスグループレベルのSDT期間が除外されることを意味し、「device」はデバイスレベルのSDT期間が除外されることを意味します) | Yes | 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 | Yes | 整数 | 「serviceCheckpointId」:99 |
グラフ | ウィジェットとして追加されたグラフの名前 | Yes | 文字列 | 「グラフ」:「応答時間」 |
サービス名 | このグラフが関連付けられているサービスの名前 | Yes | 文字列 | “ serviceName”:” CName_check” |
テーブルウィジェットのプロパティ
タイプテーブルのすべてのウィジェット(テーブルウィジェット)には、XNUMXつの追加オブジェクトが含まれている必要があります。 'columns'オブジェクトを含める必要があります。各列には、次のフィールドがあります。
プロパティ | 説明 | 種類 | 必須? |
列名 | 列の名前 | 文字列 | Yes |
データポイント | 列に選択されているデータソースとデータポイント | JSONオブジェクト | Yes |
AlternativeDataPoints | 列に選択する必要がある代替のデータソースとデータポイントの組み合わせ | JSONオブジェクト | いいえ |
予測を有効にする | 予測が有効かどうか | ブーリアン | いいえ |
丸めXNUMX進数 | 値を四捨五入する小数点の数。 オプションは0、1、2です。 | 整数 | いいえ |
RPN | このフィールドの式は、データポイントで実行されます。 列名はデータポイントとして参照する必要があります。 | 文字列 | いいえ |
また、「rows」オブジェクトを含める必要があります。各行には次のフィールドがあります。
プロパティ | 説明 | 種類 | 必須? |
ラベル | 行のラベル | 文字列 | Yes |
グループID | 行に選択されたグループのID | 整数 | groupIdとgroupFullPathのいずれかが必要です |
グループフルパス | 行に選択されたグループのフルパス | 文字列 | groupIdとgroupFullPathのいずれかが必要です |
デバイスID | 行に選択されたデバイスのID | 整数 | Yes |
デバイス表示名 | 行に選択されたデバイスの表示名 | 文字列 | いいえ |
インスタンス | 行の各列のインスタンス。 行の各列にinstanceIdとdataPointIdを含める必要があります。 | JSONオブジェクト | Yes |
また、enableForecast = trueの場合、次のフィールドが必要な場合は、「forecast」オブジェクトを含める必要があります。
プロパティ | 説明 | 種類 | 例 |
時間範囲 | トレーニングデータの時間範囲(予測が計算されるデータ)。 オプションは、過去7日間、過去14日間、過去30日間、過去暦月、過去365日間、またはカスタム時間範囲です。 | 文字列 | 「timeRange」:「過去7日間」 |
重症度 | 予測に含める必要のある最小アラート重大度、警告のXNUMXつ| エラー| クリティカル | 文字列 | 「重大度」:「警告」 |
信頼 | 予測されたアラートに必要な信頼度。 | 整数 | 「自信」:90 |
テキストウィジェットのプロパティ
テキストタイプのすべてのウィジェット(テキストウィジェット)には、コンテンツフィールドが含まれている必要があります。
プロパティ | 説明 | 種類 | 必須? |
コンテンツ | テキストウィジェットに表示する必要のあるhtmlコンテンツ | 文字列 | Yes |
例
次の例は、Pythonを介してさまざまなウィジェットをアカウントapi.logicmonitor.comに更新する方法を示しています。
- アラートウィジェット
- BatchJobウィジェット
- ビッグナンバーウィジェット
- デバイスNOCウィジェット
- ゲージウィジェット
- グーグルマップウィジェット
- HTMLウィジェット
- デバイスグラフ(ngraph)ウィジェット
- 円グラフウィジェット
- サービス個別ステータスウィジェット
- サービスNOCウィジェット
- サービス全体のステータスウィジェット
- サービスSLAウィジェット
- サービスグラフ(sgraph)ウィジェット
例:アラートウィジェット
次の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)
例: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スクリプトは、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)
例:デバイス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スクリプトは、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)
例: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)
例: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スクリプトは、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スクリプトは、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スクリプトは、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)
例:サービス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スクリプトは、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)
例:サービス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スクリプトは、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)