コスト最適化の推奨事項の詳細を取得する
最終更新日 - 29年2025月XNUMX日
LogicMonitor REST API v3を使用すると、コスト最適化の推奨事項の詳細を取得できます。APIリクエストを行う前に認証を行う必要があります。
推奨事項のリストを取得する
推奨事項リストには、クラウドプロバイダー、関連リソース、推奨事項の詳細などの詳細が含まれます。以下のクエリパラメータを使用して、レスポンスの内容と形式を制御できます。
URI: GET /cost-optimization/recommendations
| 技術パラメータ | タイプ | 詳細説明 |
fields | String | レスポンスは、各オブジェクトの指定されたフィールドのみを含むようにフィルタリングされます。 comma (,).例- /cost-optimization/recommendations?fields=resourceDisplayName,cloudAccountId |
size | 整数 | レスポンスで返される推奨事項の数を示します。500回のリクエストで最大XNUMX件の結果をリクエストできます。 GET 呼び出し。このパラメータが指定されていない場合は、デフォルトのページ サイズ 50 が使用されます。例- /cost-optimization/recommendations?size=25 |
offset | 整数 | 結果を返す前にスキップする推奨事項の指定数を示します。 例- /cost-optimization/recommendations?offset=10 |
filter | String | 応答は、演算子と指定された値に従ってフィルタリングされます。 filter=property:value
|
次の例は、PythonスクリプトのAPIリクエストがapi.logicmonitor.comポータルで推奨事項のリストを返す方法を示しています。結果は、 recommendationStatus に設定 "ACTIVE".
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
import getpass
#Account Info: LogicMonitor recommends to NEVER hardcode the credentials. Instead, retrieve the values from a secure storage.
#Note: The below is provided for illustration purposes only.
AccessId = getpass.getpass("Enter your AccessId: ")
AccessKey = getpass.getpass("Enter your AccessKey: ")
Company = 'apiAccount'
#Request Info
httpVerb ='GET'
resourcePath = '/cost-optimization/recommendations'
queryParams = '?filter=recommendationStatus:"ACTIVE"&size=5'
data = ''
#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
digest = hmac.new(
AccessKey.encode('utf-8'),
msg=requestVars.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(digest.encode('utf-8')).decode('utf-8')
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + str(signature) + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth,'X-Version':'3'}
#Make request
response = requests.get(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)次の例は、PythonスクリプトのAPIリクエストがapi.logicmonitor.comポータルで推奨事項のリストを返す方法を示しています。結果は、 resourceDisplayName および cloudAccountId フィールドと recommendationStatus に設定 ACTIVE.
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
import getpass
#Account Info: LogicMonitor recommends to NEVER hardcode the credentials. Instead, retrieve the values from a secure storage.
#Note: The below is provided for illustration purposes only.
AccessId = getpass.getpass("Enter your AccessId: ")
AccessKey = getpass.getpass("Enter your AccessKey: ")
Company = 'apiAccount'
#Request Info
httpVerb ='GET'
resourcePath = '/cost-optimization/recommendations'
queryParams = '?fields=resourceDisplayName,cloudAccountId&filter=recommendationStatus:"ACTIVE"&size=3&offset=1'
data = ''
#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
digest = hmac.new(
AccessKey.encode('utf-8'),
msg=requestVars.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(digest.encode('utf-8')).decode('utf-8')
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + str(signature) + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth,'X-Version':'3'}
#Make request
response = requests.get(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)特定の推奨事項の詳細を取得する
次のクエリ パラメータを使用して、応答の内容と形式を制御できます。
URI: GET /cost-optimization/recommendations/{id}
| 技術パラメータ | タイプ | 詳細説明 |
id | String | (必須の) 推奨事項の英数字ID。ハイフン(-)で、推奨事項のデータベースIDの順序で記述されます。-関連付けられたリソースID-推奨タイプ。IDは、 id 内のフィールド GET /cost-optimization/recommendations エンドポイントを使用して定義します例- /cost-optimization/id=123-456-EBS_UNATTACHED |
fields | String | レスポンスは、各オブジェクトの指定されたフィールドのみを含むようにフィルタリングされます。 comma (,).例- /cost-optimization/recommendations?fields=resourceDisplayName,cloudAccountId |
次の例は、PythonスクリプトのAPIリクエストが推奨事項の詳細を返す方法を示しています。 id=12041-3054082-AZURE_DISK_UNATTACHED api.logicmonitor.com ポータルで。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
import getpass
#Account Info: LogicMonitor recommends to NEVER hardcode the credentials. Instead, retrieve the values from a secure storage.
#Note: The below is provided for illustration purposes only.
AccessId = getpass.getpass("Enter your AccessId: ")
AccessKey = getpass.getpass("Enter your AccessKey: ")
Company = 'apiAccount'
#Request Info
httpVerb ='GET'
resourcePath = '/cost-optimization/recommendations/12041-3054082-AZURE_DISK_UNATTACHED'
queryParams = ''
data = ''
#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
digest = hmac.new(
AccessKey.encode('utf-8'),
msg=requestVars.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(digest.encode('utf-8')).decode('utf-8')
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + str(signature) + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth,'X-Version':'3'}
#Make request
response = requests.get(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)推奨カテゴリのリストを取得する
このAPIエンドポイントを使用すると、LogicMonitorが提供する現在利用可能な推奨カテゴリの静的リストを取得できます。以下のクエリパラメータを使用して、レスポンスの内容と形式を制御できます。
URI: GET /cost-optimization/recommendations/categories
| タイプ | 詳細説明 | |
fields | String | レスポンスは、各オブジェクトの指定されたフィールドのみを含むようにフィルタリングされます。 comma (,).例- /cost-optimization/recommendations/categories?fields=Name,description |
size | 整数 | 表示する結果の数を示します。 一度に最大 500 件の結果をリクエストできます。 GET 呼び出し。値が指定されていない場合は、デフォルトのページ サイズ 50 が使用されます。例- /cost-optimization/recommendations/categories?size=5 |
offset | 整数 | 結果を返す前にスキップするカテゴリの指定数を示します。 例- /cost-optimization/recommendations/categories?offset=2 |
filter | String | 応答は、演算子と指定された値に従ってフィルタリングされます。 filter=property:value例- /cost-optimization/recommendations/categories?filter=description~"AWS" |
次の例は、Python スクリプトの API リクエストが api.logicmonitor.com ポータル内のすべての推奨カテゴリのリストを返す方法を示しています。
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
import getpass
#Account Info: LogicMonitor recommends to NEVER hardcode the credentials. Instead, retrieve the values from a secure storage.
#Note: The below is provided for illustration purposes only.
AccessId = getpass.getpass("Enter your AccessId: ")
AccessKey = getpass.getpass("Enter your AccessKey: ")
Company = 'apiAccount'
#Request Info
httpVerb ='GET'
resourcePath = '/cost-optimization/recommendations/categories'
queryParams = '?filter=description~"AWS"'
data = ''
#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
digest = hmac.new(
AccessKey.encode('utf-8'),
msg=requestVars.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(digest.encode('utf-8')).decode('utf-8')
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + str(signature) + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth,'X-Version':'3'}
#Make request
response = requests.get(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)