レポートを追加する
最終更新日: 29 年 2022 月 XNUMX 日LogicMonitorのRESTAPIを使用すると、プログラムで新しいレポート定義をLogicMonitorアカウントに追加できます。 あなたがする方法についての情報を探しているなら ラン レポート、を参照してください このページ を代わりにお使いください。
すべてのAPI呼び出しと同様に、 認証が必要です.
次の種類のレポートは現在リリースされていませんが、次のリリースまたはXNUMXつでリリースされる予定であることに注意してください。
- 監査ログレポート
- アラート予測レポート
HTTPメソッド:POST
URI:/ report / reports
リクエストで次のパラメータをPOSTできます。
プロパティ |
説明 |
必須? |
|
例 |
名 | レポートの名前 | ○ | 文字列 | 「名前」:「コレクタータスクの傾向」 |
説明 | レポートの説明 | いいえ | 文字列 | 「説明」:「私のレポートの説明」 |
type | アラート| アラートSLA | アラートの傾向| アラートしきい値| ホストインベントリ| ホストメトリックの傾向| ホストCPU | インターフェイスの帯域幅| ウェブサイトサービスの概要| サービスレベルアグリーメント| Netflowデバイスメトリック | ○ | 文字列 | 「タイプ」:「ホストメトリックの傾向」 |
グループID | レポートが含まれるグループのID。Id= 0はルートレポートグループです。 | いいえ。デフォルトは0です。 | 整数 | 「groupId」:0 |
フォーマット | HTML | PDF | CSV。 レポートの形式 | いいえ。デフォルトはHTMLです。 | 文字列 | 「フォーマット」:「HTML」 |
配達 | なし| Eメール。 レポートが電子メールで配信されるように構成されているかどうか | いいえ。デフォルトは「なし」です。 | 文字列 | 「配達」:「メール」 |
受信者 | レポートが電子メールで配信されるように構成されている場合、このオブジェクトは、レポートの配信先となる受信者を提供します。 各受信者は以下を含める必要があります。
|
delivery = emailの場合のみ | JSONオブジェクト | 「recipients」:[{「type」:「admin」、「method」:「email」、「addr」:「sarah」、「comment」:「」}、{「type」:「admin」、「method」 :” email”、” addr”:” Bill”、” comment”:””}、{“ type”:”任意の”、” method”:” email”、” addr”:”[メール保護]"、"コメント":""}] |
スケジュール | レポートが電子メールで配信される時期を示すcronスケジュール。 | delivery = emailの場合のみ | 文字列 | 「スケジュール」:” 45 9 * * *” |
アラートレポートパラメータ
さらに、アラートタイプのすべてのレポートに対して次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲。 オプションは次のとおりです。過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去24時間」 |
グループフルパス | レポートに表示されるアラートを決定するために使用されるグループフィルター。 グロブ式がサポートされています。 | いいえ。デフォルトはすべてのグループです。 | 文字列 | 「groupFullPath」:「*」 |
デバイス表示名 | レポートに表示されるアラートを決定するために使用されるデバイスフィルター。 グロブ式がサポートされています。 | いいえ。デフォルトはすべてのデバイスです。 | 文字列 | “ deviceDisplayName”:” *” |
データソースインスタンス名 | レポートに表示されるアラートを決定するために使用されるインスタンスフィルター。 グロブ式がサポートされています。 | いいえ。デフォルトはすべてのインスタンスです。 | 文字列 | “ dataSourceInstanceName”:” *” |
データポイント | レポートに表示されるアラートを決定するために使用されるグループフィルター。 グロブ式がサポートされています。 | いいえ。デフォルトはすべてのdataPointです。 | 文字列 | 「dataPoint」:「*」 |
レベル | すべて| エラー| クリティカル
|
いいえ。デフォルトはallです。 | 文字列 | 「レベル」:「すべて」 |
sortBy | カウント| ホスト| dataPoint | レベル| startOn | ackedOn。 表示されたアラートがレポートでどのようにソートされるか。 summaryOnlyがtrueに設定されている場合、sortedBy = count |に制限されることに注意してください。 ホスト| dataPoint。 summaryOnlyがfalseに設定されている場合、sortedBy = countを設定することはできません。 | いいえ。デフォルトはホストです。 | 文字列 | 「sortedBy」:「count」 |
既存を含む |
|
いいえ。デフォルトはtrueです。 | ブーリアン | 「includePreexist」:false |
アクティブのみ |
|
いいえ。デフォルトはfalseです。 | ブーリアン | 「activeOnly」:false |
要約のみ |
|
いいえ。デフォルトはfalseです。 | ブーリアン | 「summaryOnly」:true |
ackフィルター | すべて| 確認済み| 確認されていない
|
いいえ。デフォルトはallです。 | 文字列 | 「ackFilter」:「all」 |
sdtフィルター | すべて| sdt | nonsdt
|
いいえ。デフォルトはallです。 | 文字列 | 「sdtFilter」:「すべて」 |
タイミング | オーバーラップ| start – time = overlapの場合、指定されたdateRangeの間にアクティブなアラートがレポートに表示されます。 time = startの場合、指定されたdateRangeの間に開始されたアラートのみがレポートに表示されます。 | いいえ。デフォルトは「オーバーラップ」です。 | 文字列 | 「タイミング」:「オーバーラップ」 |
情報源 | レポートに表示されるすべてのアラートは、このフィルターで指定されたデータソースに対してトリガーされている必要があります。 | いいえ。デフォルトはallです。 | 文字列 | "情報元":"*" |
ルール | レポートに表示されるすべてのアラートは、このフィルターで指定されたルールにルーティングされている必要があります。 | いいえ。デフォルトはallです。 | 文字列 | "ルール":"*" |
チェーン | レポートに表示されるすべてのアラートは、このフィルターで指定されたエスカレーションチェーンにルーティングされている必要があります。 | いいえ。デフォルトはallです。 | 文字列 | "鎖":"*" |
コラム | レポートに表示される列。 表示する順序で列を指定する必要があります。 このオブジェクトにはすべての列名を含める必要がありますが、各列には、表示されるかどうかを示すisHiddenフィールドが関連付けられている必要があります。 summaryOnlyがtrueに設定されている場合、次の列のみを含めることができることに注意してください。
summaryOnlyがfalseに設定されている場合、次の列を含めることができます。
|
いいえ。デフォルトはすべて表示されます。 | JSONオブジェクト | “ columns”:[{“ name”:” Severity”、” isHidden”:false}、{“ name”:” Group”、” isHidden”:false}、{“ name”:” Device”、” isHidden”: false}、{“ name”:” Instance”、” isHidden”:false}、{“ name”:” Datapoint”、” isHidden”:false}、{“ name”:” Thresholds”、” isHidden”:false} 、{“ name”:” Value”、” isHidden”:false}、{“ name”:” Begin”、” isHidden”:false}、{“ name”:” End”、” isHidden”:false}、{ “ name”:” Rule”、” isHidden”:false}、{“ name”:” Chain”、” isHidden”:false}、{“ name”:” Acked”、” isHidden”:false}、{“ name ”:” Acked By”、” isHidden”:false}、{“ name”:” Acked On”、” isHidden”:false}、{“ name”:” Notes”、” isHidden”:false}、{“ name ”:” in SDT”、” isHidden”:false}] |
アラートSLAレポートパラメータ
アラートSLAタイプのすべてのレポートについて、次のパラメータを追加でPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去14日間」 |
ホスト値 | レポート用に選択されたデバイスORグループ(フルパスを使用)。複数のエンティティはコンマで区切られます。 globがサポートされていることに注意してください。 | ○ | 文字列 | 「hostsVal」:「Production / Server、AWS」 |
ホストValType | ホスト| グループ。 hostsValフィールドで指定されたエンティティのタイプ。 | ○ | 文字列 | 「hostsValType」:「host」 |
情報源 | レポート用に選択されたデータソースインスタンス(DatasourceName-InstanceNameの形式)(単一インスタンスのデータソースの場合は、DatasourceNameのままにしておくことができます) | ○ | 文字列 | 「dataSource」:「HTTP_Page-C:」 |
データポイント | 複数のデータポイントがコンマで区切られている、レポート用に選択されたデータポイント | いいえ。デフォルトはallです。 | 文字列 | 「dataPoint」:「ResponseTime、Status」 |
アラートレベル | 警告| エラー| クリティカル。 指定したデバイスおよびデバイスグループについて評価するアラートステータスの最小重大度。 | いいえ。デフォルトで警告します | 文字列 | 「alertLevel」:「警告」 |
アラートルール | 評価しているデータポイントアラートがルーティングされるアラートルールの名前。 正しいアラートルールを選択しないと、一致するアラートが表示されないことに注意してください | いいえ。 | 文字列 | 「alertRule」:「ProdServer Error / Critical」 |
アラートしきい値レポートパラメータ
アラートしきい値タイプのすべてのレポートについて、次のパラメータを追加でPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
グループフルパス | レポートにメンバーデバイスを含めるグループのフルパス。 グロブ式がサポートされています。 | いいえ。デフォルトはallです。 | 文字列 | 「groupFullPath」:「Production / Servers」 |
デバイス表示名 | レポートに含めるデバイスの表示名。 グロブ式がサポートされています。 | いいえ。デフォルトはallです。 | 文字列 | “deviceDisplayName”:”ip-172-31-33-214.us-west-2.compute.internal” |
データソースインスタンス名 | レポートに含めるデータソースインスタンスの名前。構文はdataSourceDisplayName-InstanceNameである必要があります。 単一インスタンスのデータソースを参照している場合は、dataSourceDisplayNameを指定するだけです。 グロブ式がサポートされています。 | いいえ。デフォルトはallです。 | 文字列 | “ dataSourceInstanceName”:” *” |
データポイント | レポートに含まれるデータポイント。 グロブ式がサポートされています。 | いいえ。デフォルトはallです。 | 文字列 | 「dataPoint」:「*」 |
sortBy | ホスト| データソース| データポイント
|
いいえ。デフォルトはホストです。 | 文字列 | 「sortedBy」:「データソース」 |
除外グローバル |
|
いいえ。デフォルトはtrueです。 | ブーリアン | 「excludeGlobal」:true |
アラートトレンドレポートパラメータ
アラートトレンドタイプのすべてのレポートについて、次のパラメータを追加でPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去7日間」 |
メトリクス | レポートに含まれるデバイスとグループ。各デバイス/グループは、itemTypeとitemValのXNUMXつのフィールドで表す必要があります。 Globがサポートされています。 | ○ | JSONオブジェクト | “metrics”:[{“itemType”:”host”,”itemVal”:”ip-172-31-33-214.us-west-2.compute.internal”},{“itemType”:”group”,”itemVal”:”Website”},{“itemType”:”host”,”itemVal”:”ip-172-31-37-162.us-west-2.compute.interal”}] |
デバイスインベントリレポートパラメータ
さらに、タイプホストインベントリのすべてのレポートに対して次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
ホスト値 | 複数のエンティティがコンマで区切られている、レポート用に選択されたデバイスまたはグループ(フルパス) | ○ | 文字列 | 「hostsVal」:「AWS / EC2」 |
ホストValType | ホスト| グループ。 hostsValフィールドで指定されたエンティティのタイプ。 | ○ | 文字列 | 「hostsValType」:「グループ」 |
sortBy | レポートに表示されるデバイス/グループを並べ替えるために使用する必要がある「プロパティ」リストに含まれるプロパティを指定します | ○ | 文字列 | 「sortedBy」:「system.aws.publicIpAddress」 |
プロパティ | レポートに表示する必要のあるプロパティ | ○ | JSONオブジェクト | “ properties”:[“ system.aws.publicIpAddress”、” system.aws.resourceid”、” system.aws.region”、” system.aws.stateName”] |
デバイスメトリックレポートパラメータ
さらに、タイプホストメトリックトレンドのすべてのレポートに対して、次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去24時間です。 | 文字列 | 「dateRange」:「過去14日間」 |
ホスト値 | レポート用に選択されたデバイスまたはグループの名前。複数のエンティティはコンマで区切られます。 グロブ式がサポートされています。 | ○ | 文字列 | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
ホストValType | ホスト| グループ。 hostsValフィールドで指定されたエンティティのタイプ。 | ○ | 文字列 | 「hostsValType」:「host」 |
sortBy | ホスト| インスタンス| メトリック
|
いいえ。デフォルトはホストです。 | 文字列 | 「sortedBy」:「ホスト」 |
行フォーマット | 0 | 1 | 2 | XnUMX
|
いいえ。デフォルトは0です。 | 整数 | 「rowFormat」:1 |
LimitedNum | 0 | 10
|
いいえ。デフォルトは0です。 | 整数 | 「limitedNum」:0 |
メトリクス | レポートに含まれるデータポイント。各データポイントは、dataSourceFullName(グロブなし)、インスタンス(グロブは問題ありません)、メトリック(グロブではありません)のXNUMXつのフィールドで指定されます。 | ○ | JSONオブジェクト | 「metrics」:[{"dataSourceFullName": "データ収集タスク(コレクターデータ収集タスク)"、 "instances": "script"、 "metric": "SuccessExecuteTime"}] |
コラム | レポートに表示される列。 表示する順序で列を指定する必要があります。 このオブジェクトにはすべての列名を含める必要がありますが、各列には、表示されるかどうかを示すisHiddenフィールドが関連付けられている必要があります。 | いいえ。デフォルトでは、すべての列が表示されます。 | JSONオブジェクト | “ columns”:[{“ name”:” Device”、” isHidden”:true}、{“ name”:” Instance”、” isHidden”:false}、{“ name”:” Datapoint”、” isHidden”: false}、{“ name”:” Start”、” isHidden”:true}、{“ name”:” End”、” isHidden”:true}、{“ name”:” Min”、” isHidden”:false} 、{“ name”:” Max”、” isHidden”:false}、{“ name”:” Average”、” isHidden”:false}、{“ name”:” Change(%)”、” isHidden”:false }] |
インターフェイス帯域幅レポートパラメータ
さらに、インターフェイス帯域幅タイプのすべてのレポートについて、次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲。 過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去14日間」 |
ホスト値 | 複数のエンティティがコンマで区切られている、レポート用に選択されたデバイスまたはグループ | ○ | 文字列 | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
ホストValType | ホスト| グループ。 hostsValフィールドで指定されたエンティティのタイプ。 | ○ | 文字列 | 「hostsValType」:「host」 |
行フォーマット | 0 | 1
|
いいえ。デフォルトは0です。 | 整数 | 「rowFormat」:1 |
Netflowレポートパラメータ
さらに、Netflowデバイスメトリックタイプのすべてのレポートに対して、次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
ホスト値 | レポート用に選択されたデバイスORグループ(フルパス)。複数のエンティティはコンマで区切られます。 グロブは受け入れられます。 | ○ | 文字列 | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal” |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去2時間」 |
サーバーCPUレポートパラメーター
さらに、ホストCPUタイプのすべてのレポートに対して、次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去2時間」 |
ホスト値 | 複数のデバイスまたはグループがコンマで区切られている、レポート用に選択されたデバイスまたはグループ | ○ | 文字列 | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
top10のみ | 本当| 偽
|
いいえ。デフォルトはfalseです。 | ブーリアン | 「top10Only」:false |
表示グラフ | true | false。 レポートの最後にCPUグラフを表示するかどうか | いいえ。デフォルトはfalseです。 | ブーリアン | 「displayGraphs」:true |
SLAレポートパラメータ
さらに、サービスレベルアグリーメントタイプのすべてのレポートについて、次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは2時間続きます。 | 文字列 | 「dateRange」:「過去30日間」 |
メトリクス | レポートに含まれるデータポイントと対応するSLAしきい値。各メトリックには、groupName、deviceName、dataSourceFullName、dataSourceId、instances、metric、thresholdのXNUMXつのフィールドを含めることができます。 しきい値は、演算子とスペースで区切られた数値で構成する必要があります。有効な演算子は、>、<、!=、=、> =、および<=です。 | ○ | JSONオブジェクト | 「metrics」:[{"groupName": "*"、 "deviceName": "*"、 "dataSourceId":368、 "instances": "*"、 "metric": "UptimeMinutes"、 "threshold": "> 0″}] |
XNUMX 週間の XNUMX 日 | SLAレポートで考慮すべき曜日。複数の値はコンマで区切られ、*はすべての曜日を示します。 | ○ | 文字列 | 「dayInOneWeek」:「*」 |
一日の期間 | SLAレポートで考慮すべき選択した各日の時間。*はすべての時間を指します。 | ○ | 文字列 | 「periodInOneDay」:「*」 |
表示概要 | trueの場合、SLAの概要(合計%)が表示されます | いいえ。デフォルトはfalseです。 | ブーリアン | 「displaySummary」:false |
監視されていない時間 | 0 | 1 | 2 –デバイスのデータがない時間をカウントする方法。1=データなしを無視(合計時間から減算)、2 =違反としてカウント(稼働時間から減算)、3 =使用可能としてカウント(稼働時間に追加) | いいえ。デフォルトはfalseです。 | 整数 | 「unmonitoredTime」:1 |
表示あり可用性 | trueの場合、可用性が100%未満のデバイスのみがレポートに表示されます。 | いいえ。デフォルトはfalseです。 | ブーリアン | 「displayWithAvailability」:false |
コラム | レポートに含まれる列 | いいえ。デフォルトはallです。 | JSONオブジェクト | “ columns”:[{“ name”:” Device”、” isHidden”:false}、{“ name”:” Datasource”、” isHidden”:false}、{“ name”:” Instance”、” isHidden”: false}、{“ name”:” Datapoint”、” isHidden”:false}、{“ name”:” Threshold”、” isHidden”:false}、{“ name”:” Available”、” isHidden”:false} 、{“ name”:” Unavailable”、” isHidden”:false}] |
ウェブサイトサービス概要レポートパラメータ
さらに、タイプWebサイトサービス概要のすべてのレポートに対して、次のパラメータをPOSTする必要があります。
プロパティ |
説明 |
必須? |
|
例 |
サービスヴァル | レポート用に選択されたサービスまたはサービスグループ(フルパス)。複数のエンティティはコンマで区切られます | ○ | 文字列 | 「servicesVal」:「CName_check」 |
servicesValType | サービス| グループ。 servicesValフィールドで指定されたエンティティのタイプ。 | ○ | 文字列 | 「servicesValType」:「service」 |
日付範囲 | レポート用に構成された時間範囲:過去2時間| 過去24時間| 最終暦日| 過去7日間| 過去14日間| 過去30日間| 先月| 過去365日| この形式のカスタム日付範囲:YYYY-MM-dd hh:mmからYYYY-MM-dd hh:mm | いいえ。デフォルトは過去2時間です。 | 文字列 | 「dateRange」:「過去2時間」 |
画面タイプ | 1 | 2
|
いいえ。デフォルトは1です。 | 整数 | 「displayType」:1 |
インクルードタイプ | レポートに含める必要のある情報。 オプションには、1:可用性、2:アラート、3:グラフが含まれます | ○ | JSONオブジェクト | 「includeTypes」:[1,2,3] |
例
次の例は、アカウントapi.logicmonitorcomにさまざまなレポートを追加する方法を示しています。
リクエストの例1:アラートレポートを追加する
次のPython3スクリプトは、アラートレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Alert"、 "name": "MyAlertReport"、 "format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" groupFullPath ":" Website "、" level ":" error "、" activeOnly ":true、" columns ": [{"name": "Severity"、 "isHidden":true}、{"name": "Group"、 "isHidden":true}]} '#Construct URL url =' https:// '+ Company +' .logicmonitor.com / santaba / rest '+ resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int(time.time()* 1000))#リクエストの詳細を連結requestVars = httpVerb + epoch + data + resourcePath print requestVars#署名を作成hmac1 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest()signature = base64.b64encode(hmac1.encode())#ヘッダーを作成するauth = 'LMv1 '+ AccessId +': '+ Signature.decode()+': '+エポックヘッダー= {' Content-Type ':' application / json '、' Authorization ':auth} #Makeリクエストレスポンス= requests.post(url 、data = data、headers = headers)#応答のステータスと本文を印刷しますprint( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
リクエストの例2:アラートSLAレポート
次のPython3スクリプトは、アラートSLAレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Alert SLA"、 "name": "MyAlertSLAReport"、 " format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" hostsVal ":" Website "、" hostsValType ":" group "、" dataSource ":" NetSNMPCPUwithCores "、" alertRule ":" Prod Server Error / Critical "、" alertLeve ":" Error "} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com / santaba / rest '+ resourcePath#現在の時刻を取得ミリ秒単位epoch = str(int(time.time()* 1000))#Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath print requestVars#Construct署名hmac1 = hmac.new(AccessKey.encode()、msg = requestVars .encode()、digestmod = hashlib.sha256).hexdigest()署名= base64.b64encode(hmac1.encode())#ヘッダーの作成auth = 'LMv1' + AccessId + ':' + Signature.decode()+ ':' +エポックヘッダー= {'Content-Type': 'application / json'、 'Authorization':auth}#リクエストレスポンスを作成= requests.post (url、data = data、headers = headers)#応答のステータスと本文を印刷しますprint( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
リクエストの例3:アラートしきい値レポート
次のPython3スクリプトは、アラートしきい値レポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Alert threshold"、 "name": "MyAlertThresholdReport"、 " format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" groupFullPath ":" Website "、" deviceDisplayName ":" ip-172-31-37-162.us- west-2.compute.interal "、" dataSourceInstanceName ":" HTTP-80 "} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com/santaba/rest'+ resourcePath#現在の時刻を取得ミリ秒単位epoch = str(int(time.time()* 1000))#Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath print requestVars#Construct署名hmac1 = hmac.new(AccessKey.encode()、msg = requestVars .encode()、digestmod = hashlib.sha256).hexdigest()署名= base64.b64encode(hmac1.encode())#ヘッダーの作成auth = ' LMv1 '+ AccessId +': '+ Signature.decode()+': '+エポックヘッダー= {' Content-Type ':' application / json '、' Authorization ':auth} #Makeリクエストレスポンス= requests.post( url、data = data、headers = headers)#応答のステータスと本文を出力print( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
リクエストの例4:アラートトレンドレポート
次のPython3スクリプトは、アラートトレンドレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Alert Trends"、 "name": "MyAlertTrendsReport"、 " format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" metrics ":[{" itemType ":" host "、" itemVal ":" ip-172-31- 33-214.us-west-2.compute.internal "}、{" itemType ":" group "、" itemVal ":" Website "}、{" itemType ":" host "、" itemVal ":" ip- 172-31-37-162.us-west-2.compute.interal "}]} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com/santaba/rest'+ resourcePath #Get現在の時間(ミリ秒)epoch = str(int(time.time()* 1000))#リクエストの詳細を連結するrequestVars = httpVerb +エポック+データ+ resourcePath print requestVars#署名を作成するhmac1 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest()s ignature = base64.b64encode(hmac1.encode())#Construct headers auth = 'LMv1' + AccessId + ':' + Signature.decode()+ ':' + epoch headers = {'Content-Type': 'application / json '、' Authorization ':auth}#リクエストレスポンスを作成= requests.post(url、data = data、headers = headers)#ステータスとレスポンスの本文を印刷print(' Response Status: '、response.status_code)print('応答本文: '、response.content)
リクエスト5の例:デバイスインベントリレポート
次のPython3スクリプトは、デバイスインベントリレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Host Inventory"、 "name": "MyDeviceInventoryReport"、 " format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" hostsVal ":" * "、" hostsValType ":" host "、" properties ":[" system.aws .publicIpAddress "、" system.aws.resourceid "、" system.aws.region "、" system.aws.stateName "]、" sortedBy ":" system.aws.resourceid "} '#Construct URL url =' https: // '+ Company +'。logicmonitor.com/ santaba / rest '+ resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int(time.time()* 1000))#リクエストの詳細を連結requestVars = httpVerb + epoch + data + resourcePath print requestVars#Construct署名hmac1 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest()署名=ベース64.b64encode(hmac1.encode())#Construct headers auth = 'LMv1' + AccessId + ':' + Signature.decode()+ ':' + epoch headers = {'Content-Type': 'application / json' 、 'Authorization':auth}#リクエストレスポンスを作成= requests.post(url、data = data、headers = headers)#ステータスとレスポンスの本文を印刷print( 'Response Status:'、response.status_code)print( 'Response Body : '、response.content)
リクエスト例6:デバイスメトリックトレンドレポート
次のPython3スクリプトは、デバイスメトリックトレンドレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "ホストメトリックトレンド"、 "name": "MyDeviceMetricTrendsReport"、 "format": "HTML"、 "description": "My Report Description"、 "delivery": "none"、 "metrics":[{"dataSourceId":699、 "instances": "script"、 "metric": "SuccessExecuteTime --FailExecuteTime"}]、 "hostsVal": "ip-172-31-33-214.us-west-2.compute.internal、ip-172-31-37-162.us-west-2.compute .interal "、" hostsValType ":" host "} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com / santaba / rest '+ resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int (time.time()* 1000))#Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath print requestVars#Constructsignature hmac1 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digest mod = hashlib.sha256).hexdigest()signature = base64.b64encode(hmac1.encode())#ヘッダーの構築auth = 'LMv1' + AccessId + ':' + Signature.decode()+ ':' +エポックヘッダー= {'Content-Type': 'application / json'、 'Authorization':auth}#リクエストレスポンスを作成= requests.post(url、data = data、headers = headers)#ステータスとレスポンスの本文を印刷print( 'レスポンスステータス: '、response.status_code)print(' Response Body: '、response.content)
リクエスト7の例:インターフェイス帯域幅レポート
次のPython3スクリプトは、インターフェイス帯域幅レポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Interfaces Bandwidth"、 "name": "MyIBReport"、 " format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" hostsValType ":" host "、" hostsVal ":" ip-172-31-33-214.us- west-2.compute.internal、ip-172-31-37-162.us-west-2.compute.interal "、" rowFormat ":0} '#Construct URL url =' https:// '+ Company + '.logicmonitor.com / santaba / rest' + resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int(time.time()* 1000))#リクエストの詳細を連結requestVars = httpVerb + epoch + data + resourcePath print requestVars #Construct署名hmac1 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest()署名= base64.b64encode(hmac1.encode())#ヘッダーの作成auth ='LMv1' + AccessId + ':' + Signature.decode()+ ':' +エポックヘッダー= {'Content-Type': 'application / json'、 'Authorization':auth} #Makeリクエストレスポンス= requests.post (url、data = data、headers = headers)#応答のステータスと本文を印刷しますprint( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
リクエスト8の例:Netflowレポート
次のPython3スクリプトは、Netflowレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Netflow devicemetric"、 "name": "MyNetflowReport"、 "format": "HTML"、 "description": "My Report Description"、 "delivery": "none"、 "hostsVal": "ip-172-31-33-214.us-west-2.compute.internal 、ip-172-31-37-162.us-west-2.compute.interal "} '#URL url =' https:// '+ Company +'。logicmonitor.com / santaba / rest '+ resourcePath#を構築します現在の時刻をミリ秒単位で取得epoch = str(int(time.time()* 1000))#リクエストの詳細を連結requestVars = httpVerb +エポック+データ+ resourcePath print requestVars#署名を作成hmac1 = hmac.new(AccessKey.encode()、 msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest()signature = base64.b64encode(hmac1.encode())#ヘッダーを構築するauth = 'LMv1' + AccessId + ':' + si gnature.decode()+ ':' +エポックヘッダー= {'Content-Type': 'application / json'、 'Authorization':auth} #Makeリクエストレスポンス= requests.post(url、data = data、headers = headers )#応答のステータスと本文を出力print( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
リクエスト9の例:サーバーCPUレポート
次のPython3スクリプトは、サーバーCPUレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Host CPU"、 "name": "MyServerCPUReport"、 " format ":" HTML "、" description ":" My Report Description "、" delivery ":" none "、" hostsVal ":" ip-172-31-33-214.us-west-2.compute.internal、 ip-172-31-37-162.us-west-2.compute.interal "、" displayGraphs ":true} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com/santaba/ rest '+ resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int(time.time()* 1000))#リクエストの詳細を連結requestVars = httpVerb + epoch + data + resourcePath print requestVars#署名を作成hmac1 = hmac.new(AccessKey .encode()、msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest()signature = base64.b64encode(hmac1.encode())#ヘッダーを構築するauth = 'LMv1' + AccessId + ':' + Signature.decode()+ ':' +エポックヘッダー= {'Content-Type': 'application / json'、 'Authorization':auth} #Makeリクエストレスポンス= requests.post(url、data = data、headers = headers)#応答のステータスと本文を印刷しますprint( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
リクエスト例10:SLAレポート
次のPython3スクリプトは、SLAレポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Service Level Agreement"、 "name": "MySLAReport"、 "format": "HTML"、 "description": "マイレポートの説明"、periodInOneDay ":" * "、" dayInOneWeek ":" * "、" metrics ":[{" groupName ":" * "、" deviceName " : "ip-172-31-33-214.us-west-2.compute.internal"、 "dataSourceId":368、 "instances": "*"、 "metric": "UptimeMinutes"、 "threshold": " > 0 "}]} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com/ santaba / rest '+ resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int(time.time() * 1000))#Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath print requestVars #Construct Signature hmac1 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digestmod = hashlib.sha256).hexdigest ()署名= ba se64.b64encode(hmac1.encode())#Construct headers auth = 'LMv1' + AccessId + ':' + Signature.decode()+ ':' + epoch headers = {'Content-Type': 'application / json' 、 'Authorization':auth}#リクエストレスポンスを作成= requests.post(url、data = data、headers = headers)#ステータスとレスポンスの本文を印刷print( 'Response Status:'、response.status_code)print( 'Response Body : '、response.content)
リクエスト例11:ウェブサイトサービス概要レポート
次のPython3スクリプトは、ウェブサイトサービスの概要レポートをapi.logicmonitor.comに追加します。
#!/ bin / envpythonインポートリクエストimportjson 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 =' / report / reports'data = '{"type": "Website Service Overview"、 "name": "MyWebsiteReport"、 "format": "HTML"、 "description": "マイレポートの説明"、 "delivery": "none"、 "servicesValType": "service"、 "servicesVal": "CName_check"、 "includeTypes":[1,2,3 、1]、 "displayType":1000} '#Construct URL url =' https:// '+ Company +'。logicmonitor.com / santaba / rest '+ resourcePath#現在の時刻をミリ秒単位で取得epoch = str(int(time .time()* 1))#Concatenate Request details requestVars = httpVerb + epoch + data + resourcePath print requestVars#Constructsignature hmac256 = hmac.new(AccessKey.encode()、msg = requestVars.encode()、digestmod = hashlib。 sha64).hexdigest()署名= base64.b1encode(hmac1.encode())#ヘッダーを構築するauth = 'LMvXNUMX' + AccessId + ':' + sign ature.decode()+ ':' +エポックヘッダー= {'Content-Type': 'application / json'、 'Authorization':auth} #Makeリクエストレスポンス= requests.post(url、data = data、headers = headers )#応答のステータスと本文を出力print( 'Response Status:'、response.status_code)print( 'Response Body:'、response.content)
応答例
以下は、上記のリクエスト例のXNUMXつに対する応答例です。
応答ステータス:200応答本文:{"ステータス":200、 "errmsg": "OK"、 "データ":{"id":195、 "名前": "MyWebsiteReport"、 "説明": "マイレポートの説明" 、 "type": "Website Service Overview"、 "groupId":0、 "format": "HTML"、 "delivery": "none"、 "recipients":[]、 "schedule": ""、 "lastmodifyUserId" :131、 "lastmodifyUserName": "sarah"、 "enableViewAsOtherUser":false、 "userPermission": "write"、 "lastGenerateOn":0、 "lastGenerateSize":0、 "lastGeneratePages":0、 "customReportTypeId":0、 " reportLinkNum ":0、" servicesVal ":" CName_check "、" servicesValType ":" service "、" dateRange ":" last 2 hours "、" displayType ":1、" includeTypes ":[1、2、3]}}