サポートセンターホーム


LogicMonitorのRESTAPIを使用する

LogicMonitor REST APIを使用すると、ダッシュボード、デバイス、レポート、サービス、アラート、コレクター、データソース、SDTなどのLogicMonitorリソースをプログラムでクエリおよび管理できます。

注意: LogicMonitorのRPCREST開発者ガイドに記載されていないAPI呼び出しは、未公開と見なされます。 未公開のAPI呼び出しは予告なしに変更される可能性があるため、使用しないことをお勧めします。これらを使用すると、スクリプトが破損する可能性があり、LogicMonitorのテクニカルサポートは発生した問題についてサポートできません。

ベースURL

RESTAPIリクエストを行うためのベースURLは次のとおりです。

https://ACCOUNTNAME.logicmonitor.com/santaba/rest

どこ ACCOUNTNAME LogicMonitorアカウント名に置き換えられます。

注意:LogicMonitorサーバーには、API GETリクエストに対して8192バイト(8KB)の制限があります。

リソース

現時点では、特定のリソースに対するAPI呼び出しのみが利用可能です。 リソースは、利用可能になり次第、ドキュメントに投稿されます。 LogicMonitorのAPIのv1で利用可能なリソースとメソッドの現在のリストは、現在、REST APIv1のドキュメントで入手できます。

バージョン管理

LogicMonitorのRESTAPIは、次のようにバージョン管理されています。

  • セマンティックバージョニング リリースノートで使用および呼び出されますが、リクエストではメジャーバージョンのみが許可されます(最新のマイナー/パッチバージョンが常に返されます)
  • 最新のXNUMXつのメジャーバージョンがサポートされます
  • バージョンは、「X-Version」ヘッダー、またはクエリパラメータとしてURLで指定できます。

たとえば、リクエストにヘッダー「X-Version:1」を含めると、リクエストされたリソースのバージョン1.0.0が取得されます(これが最新の1つの公開バージョンの1つであると想定しています)。 クエリパラメータv = 1.0.0(/ device / devices?v = XNUMXなど)を含めると、デバイスリソースのバージョンXNUMXが取得されます(最新のXNUMXつの公開バージョンのXNUMXつであると想定)。 'X-Version'ヘッダーとv = versionクエリパラメーターをすべて一緒に省略すると、要求されたリソースの最も古い公開バージョンを取得します。

現在、次のバージョンがサポートされています。

バージョン注目すべき情報
1.xxサポートされている操作のリストは、REST APIv1のドキュメントにあります。例は次の場所にあります。 https://www.logicmonitor.com/support/rest-api-developers-guide/v1/rest-api-v1-examples
2.xxサポートされている操作のリストはここにあります: https://www.logicmonitor.com/swagger-ui-master/dist/例と詳細については、こちらをご覧ください。 https://www.logicmonitor.com/support/rest-api-developers-guide/v2/rest-api-v2-overview

認証

LogicMonitorサーバーに送信される各要求は、 HTTPS、および認証も必要です。 すべてのデータはJSONとして受信されます。 LogicMonitorのRESTAPIは現在、次のXNUMXつの認証方法をサポートしています。

  1. 基本認証
  2. APIトークン認証

注意 その基本認証はAPIのv1でのみサポートされており、APIの将来のバージョンでは使用できなくなる可能性があります。 そのため、可能な場合はAPIトークン認証を使用してRESTAPIリクエストを行うことを強くお勧めします。

基本認証

LogicMonitorのRESTAPIは現在、HTTP基本認証をサポートしています。 HTTP基本認証を使用するには、各リクエストに次の認証情報を含むHTTPヘッダーを含める必要があります。「Authorization:Basic `echo -n username:password | base64`」

ほとんどすべてのWebクライアントはHTTP基本認証をサポートしており、このヘッダーを作成します。

次の例では、アカウントapi.logicmonitor.comのユーザーapiUserが、サービスグル​​ープの更新を要求します。

curl -v --user'apiUser:example '-H "Content-Type:application / json" -d' {"name": "newServiceGroup"、 "description": "testSites"、 "disableAlerting":false} '- XPUT「https://api.logicmonitor.com/santaba/rest/service/groups/7」

次の例では、アカウントapi.logicmonitor.comのユーザーapiUserが、すべてのサービスグル​​ープを取得するように要求します。

wget --auth-no-challenge --http-user = 'apiUser' --http-password = 'example' "https://api.logicmonitor.com/santaba/rest/service/groups"

LMv1APIトークン認証

LogicMonitorのRESTAPIに推奨される認証方法は、LMv1APIトークン認証です。 この認証方法では、すべてのリクエストに、を含むカスタムHTTPヘッダーを含める必要があります。 APIトークン アクセスID、APIトークンアクセスキーに基づくbase64でエンコードされたHMAC署名、およびエポックミリ秒単位のタイムスタンプ。

具体的には、リクエストの詳細を連結して文字列を形成し、アクセスキーを使用してその文字列のHMAC-SHA256を計算する必要があります。 次に、結果をbase64エンコードする必要があります。 base64でエンコードされた完全なHMAC署名は、次の形式である必要があります。

署名= base64(HMAC-SHA256(アクセスキー、HTTP動詞+タイムスタンプ(エポックミリ秒単位)+ POST / PUTデータ(存在する場合)+リソースパス))

また、完全な認証ヘッダーは次の形式である必要があります。

承認:LMv1 AccessId:Signature:Timestamp

LogicMonitorサーバーがAPIリクエストを受信すると、最初に、指定されたタイムスタンプが現在の時刻から30分以内であることを確認します。 その要件が満たされている場合、指定されたアクセスIDに関連付けられているアクセスキーを取得し、上記の形式で署名を計算します。 次に、その署名をリクエストに含まれている署名と比較します。 XNUMXつの署名が一致する場合、リクエストは認証されますが、APIトークンに関連付けられた権限が適用されます(トークンのアクセスIDとアクセスキーには、リクエストされたアクションを実行するための十分な権限が必要です)。 XNUMXつの署名が一致しない場合、エラーが返されます。

注意: クエリパラメータ(フィルタ、フィールド、並べ替え、サイズなど)は、リソースパスの一部とは見なされないため、LMv1認証署名の計算に含めるべきではありません。

LogicMonitorのRESTAPIのv1の例は、次の場所にあります。 このページ.

帯域制限

LogicMonitorのRESTAPIへのリクエストにはレート制限が課せられます。 制限は、エンドポイントとメソッドの組み合わせごとに異なります。 デフォルトのレート制限のリスト、応答ヘッダーからのレート制限情報のプルの詳細、およびレート制限に対応するようにスクリプトを調整する方法のいくつかの言語間の例については、を参照してください。 帯域制限.

ステータスコード

LogicMonitorのRESTAPIのv1のステータスコードは、 このページ.

RESTに関する詳細情報

Representational State Transfer(REST)アーキテクチャの詳細については、こちらを参照してください。 Wikipediaのページ.

記事上で