ウェブサイトを追加する

最終更新日: 25 年 2021 月 XNUMX 日

LogicMonitorのRESTAPIを使用して、新しいpingチェックとWebチェックをLogicMonitorアカウントにプログラムで追加できます。

ウェブサイトを追加する

新しいpingまたはWebチェックを追加します

HTTPメソッド:POST

URI:/ service / services

リクエストパラメータ:新しいWebサイトの次のプロパティをPOSTできます

プロパティ

説明

必須?

価値観

ウェブサイトの名前 有り サービス名は、数字、文字、および–および_記号に制限されています 文字列
type ウェブサイトの種類 有り ping | ウェブサービス 文字列
内部です ウェブサイトが内部にあるかどうか いいえ。 true | false。 デフォルトはfalseです。 ブーリアン
説明 ウェブサイトの説明 いいえ この値はデフォルトで空白の文字列になります 文字列
サービスフォルダ ID Webサイトが存在するフォルダーのID いいえ この値のデフォルトは1です。 整数
停止監視 この値がtrueの場合、Webサイトの監視は無効になります。 監視が無効になっている場合、Webサイトのアラートも無効になることに注意してください。 いいえ true | false。 この値のデフォルトはfalseです ブーリアン
無効にするアラート この値がtrueの場合、Webサイトのアラートは無効になります。 Webサイトの監視が無効になっている場合、アラートはデフォルトで無効になることに注意してください。 いいえ true | false。 この値のデフォルトはfalseです ブーリアン
個別のSmAlertEnable Webサイトが個々のテスト場所からのチェックに失敗した場合にアラートがトリガーされるかどうかを示します。 いいえ true | false。 この値のデフォルトはfalseです ブーリアン
個人アラートレベル Webサイトが個々のテスト場所からのチェックに失敗した場合にトリガーするアラートのレベル いいえ 警告| エラー| クリティカル。 この値はデフォルトで警告します 文字列
全体的なアラートレベル Webサイトが指定されたチェック数に失敗した場合にトリガーされるアラートのレベル 遷移 によって指定されたテスト場所から グローバルSmAlertCond いいえ 警告| エラー| クリティカル。 この値はデフォルトで警告します 文字列
ポーリング間隔 サービスがチェックされる頻度(分単位)。 いいえ 1〜10分。 値のデフォルトは5です。 整数
遷移 アラートがトリガーされる前に失敗しなければならないチェックの数 いいえ 1-10、30、60。この値のデフォルトは0です。 整数
テスト場所 Webサイトが内部にない場合にサービスを監視する必要があるテスト場所、またはWebサイトが内部にある場合にWebサイトを監視する必要があるコレクター。 いいえ コレクターは次のように指定する必要があります:“ {\” collectorIds \”:[12,67]}”。 サイトモニターの場所は次のとおりです。

 

  • 0:全体
  • 1:米国– LA
  • 2:米国– DC
  • 3:米国– SF
  • 4:ヨーロッパ–ダブリン
  • 5:アジア–シンガポール
  • 6:オーストラリア–シドニー

次のように、これらの場所を1,2,3つ以上指定できます:“ {\” smgIds \”:[XNUMX]}”
*内部文​​字列はエンコードする必要があることに注意してください*

デフォルト値は「{\” all \”:true}」です。

JSONオブジェクト
グローバルSmAlertCond チェックの数によって指定された場所の数 遷移 重大度のアラートをトリガーするには、で失敗する必要があります 全体的なアラートレベル. いいえ

 

  • 0:すべて
  • 1:半分
  • 2:複数
  • 3:任意

 

デフォルト値は0です

 

整数
useDefaultLocationSetting Webサイトのデフォルトの場所を使用する必要があるかどうか。 いいえ true | false。 デフォルトはfalse ブーリアン
useDefaultAlertSetting Webサイトのデフォルト設定を使用するかどうか。 いいえ true | false。 デフォルトはfalse ブーリアン
サービスプロパティ Webサイトに関連付けられているプロパティ いいえ JSONオブジェクト

新しいPingサービスの場合、次の 追加の POSTプロパティが適用されます:

プロパティ

説明

必須?

価値観

カウント リクエストで送信するパケットの数 いいえ この値のデフォルトは5です。 整数
host ホスト名またはIP  有り 文字列
パーセントPktsNotReceiveInTime で指定された期間内に返される必要があるパケットの割合 タイムアウトMSPktsNotReceive pingチェックごとに。 いいえ デフォルトは80 整数
タイムアウトMSPktsNotReceive で指定されたパケットの割合が指定された期間 パーセントPktsNotReceiveInTime pingチェックごとに返送する必要があります。 いいえ デフォルトは500 整数

新しいWebサービスの場合、次の 追加の POSTプロパティが適用されます:

プロパティ

説明

必須?

価値観

ステップ XNUMXつ以上のステップで構成されるオブジェクト。各ステップに含まれるプロパティについては、以下の表を参照してください。 有り 詳細については、以下の表を参照してください JSONオブジェクト
SSLを無視 チェックごとにSSLを無視するかどうか いいえ true | false。 デフォルトはfalse ブーリアン
pageLoadAlertTimeInMS アラートのトリガーを回避するために、各ステップでページをロードする必要があるミリ秒単位の時間。 いいえ デフォルトは30000 整数

JSONオブジェクトの「ステップ」はXNUMXつ以上のステップで構成され、各ステップには次のプロパティがあります。

プロパティ

説明

必須

価値観

HTTPヘッダー WebサービスへのHTTPリクエストに含まれるヘッダー いいえ 有効なHTTPヘッダー。 例:「HTTPHeaders」:「Content-Type:application / json」。 この値はデフォルトで空の文字列になります 文字列
ステータスコード Webサービスに対して行われたHTTP要求に対して予期される応答状況コード。 複数のステータスコードはコンマで区切ることができます いいえ この値はデフォルトで空白の文字列になります 文字列
followリダイレクト この値がtrueの場合、WebサービスへのHTTPリクエストは、適切なリダイレクトに従います。 いいえ true | false。 この値のデフォルトはfalseです ブーリアン
マッチタイプ 応答でキーワードを検索するために使用される解釈方法のタイプ いいえ
  • プレーン:プレーンテキスト
  • 正規表現:正規表現
  • ワイルドカード:グロブ式

この値のデフォルトはプレーンです

文字列
キーワード Webサービスに対して行われたHTTP要求への応答に存在する必要がある文字列キーワード いいえ この値はデフォルトで空白の文字列になります 文字列
HTTP 本文 WebサービスへのHTTPリクエストの本文のデータ いいえ この値はデフォルトで空の文字列になります 文字列
HTTPメソッド Webサービスへのリクエストで使用されるHTTPリクエストメソッド いいえ GET | HEAD | 役職。 この値のデフォルトはGETです。 文字列
postDataEditType POSTデータの形式 いいえ 生| json | xml | x-www-form-urlencoded 文字列
URL ステップのURL。 これは完全なURL(つまりドメイン+パス)である必要があります 有り 文字列
フルページロード この値がtrueの場合、HTTPリクエストはすべてのページ要素が読み込まれるのを待ちます いいえ true | false。 この値のデフォルトはfalseです ブーリアン
認証が必要 この値がtrueの場合、WebサービスへのHTTP要求には承認が必要です いいえ true | false。 この値のデフォルトはfalseです ブーリアン
認証 requireAuth = trueの場合に必要な認証情報 いいえ このオブジェクトでは、次のパラメーターを指定する必要があります。

 

  • タイプ:共通| ベーシック| ntlm
  • userName
  • password
  • ドメイン(type = ntlmの場合のみ)

例:“ auth”:{“ type”:” common”、” userName”:” test”、” password”:” example”}

JSONオブジェクト
反転一致 この値がtrueの場合、キーワードは 応答に存在する いいえ true | false。 この値のデフォルトはfalseです。 ブーリアン
タイムアウト リクエストがタイムアウトするまでにページをロードする必要がある秒数 いいえ 1 | 5 | 15 | 30 | 60 | 120 | 180.この値のデフォルトは30です。 整数
HTTPバージョン Webサービスへのリクエストで使用されるHTTPバージョン いいえ 1.0 | 1.1。 この値のデフォルトは1.1です。 文字列
スキーマ URLに関連付けられたスキーマまたはプロトコル いいえ http | https。 この値のデフォルトはhttpです 文字列
説明 ステップに関連する説明 いいえ デフォルトは空白の文字列 文字列
path ステップに関連付けられたパス。パスはドメインの後のURLコンポーネントです。 いいえ この値は、 URL 文字列
enable true | false。 ステップが有効かどうか いいえ デフォルトはtrue ブーリアン

これらのリソースプロパティの例については、を参照してください。 このページ.

例1:Pingサービスを追加する

次のPythonリクエストは、Pingサービスを追加します。

#!/bin/env python

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

#Account Info
AccessId ='ACCESS_ID'
AccessKey ='ACCESS_KEY'
Company = 'COMPANY_NAME'

#Request Info
httpVerb ='POST'
resourcePath = '/service/services'
queryParams = ''
data='{"name":"newPingService","type":"ping","stopMonitoring":false,"disableAlerting":false,"pollingInterval":3,"host":"www.google.com"}'

#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()
signature = base64.b64encode(hmac1.encode())

#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

例2:Webサービスを追加する

次のPythonリクエストは、Webサービスを追加します。

#!/bin/env python

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

#Account Info
AccessId ='ACCESS_ID'
AccessKey ='ACCESS_KEY'
Company = 'COMPANY_NAME'

#Request Info
httpVerb ='POST'
resourcePath = '/service/services'
queryParams = ''
data='{"serviceFolderId":"1","type":"webservice","testLocation":"{\\"smgIds\\":[2, 3, 4]}","name":"ProdWebCheck","disableAlerting":true,"pollingInterval":5,"steps":[{"HTTPHeaders":"Content-Type:application/json","followRedirection":false,"keyword":"breaking","schema":"http","url":"www.google.com/#q=news","timeout":120},{"keyword":"california","url":"www.google.com/#q=states","invertMatch":true}]}'

#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()
signature = base64.b64encode(hmac1.encode())

#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
記事上で