使用 cURL

您可以在终端上使用 cURL, 命令行工具,通过 URL 语法来管理 IBM Cloud Monitoring 服务。

cURL 句法

在终端上使用以下语法运行 cURL 命令:

curl -X <METHOD> <MONITORING_ENDPOINT>/<API_URL> <-H HEADERS,> [-d DATA]

位置

  • <METHOD> 表示要进行的 REST API 调用类型。
  • <MONITORING-ENDPOINT> 表示监控实例可用的端点。 更多信息,请参阅 Monitoring endpoints。 例如,在 us-south 可用实例的端点如下:https://us-south.monitoring.cloud.ibm.com
  • <API_URL> 有关 API URL 的更多信息,请参阅 REST API 端点
  • HEADERS 添加其他信息,如用于验证 服务的信息。IBM Cloud Monitoring
  • DATA 允许您传递可能需要的其他信息。

IAM 标记的标头

在使用 Monitoring REST API 自动执行例行任务和监控通知时,使用 IAM 标记来验证 IBM Cloud Monitoring 服务。

在 cURL 命令中,添加以下选项,以便使用 IAM 令牌对 IBM Cloud Monitoring 服务进行身份验证:

-H "Authorization: $AUTH_TOKEN"
-H "IBMInstanceID: $GUID"
-H "SysdigTeamID: $TEAM_ID"

位置

  • IBMInstanceID 表示要使用 命令定位的 实例的 GUID。cURL IBM Cloud Monitoring

    要获取监控实例的 GUID,请运行以下命令:ibmcloud resource service-instance <NAME> --output json | jq -r '.[].guid'

  • Authorization 表示用于验证 服务实例的 IAM 令牌。IBM Cloud Monitoring

    要获取 IAM AUTH_TOKEN 令牌,请运行以下命令:ibmcloud iam oauth-tokens | awk '{print $4}'

    有关详细信息,请参阅 获取 IAM API 令牌

  • SysdigTeamID 表示团队的 GUID。

    要获取 GUID,请参阅 获取 Monitoring 团队的 ID

Monitoring 令牌的标头

在使用 Monitoring REST API 自动执行例行任务和监控通知时,您还可以使用 Monitoring API 标记来验证 IBM Cloud Monitoring 服务。

在 cURL 命令中,添加以下命令选项,使用 Monitoring 令牌对 IBM Cloud Monitoring 服务进行身份验证:

-H "Authorization: Bearer $SYSDIG_TOKEN"

要获取 Monitoring 令牌,请参阅 获取 Monitoring API 令牌

运行 cURL API 查询

要使用 IAM 令牌运行 cURL API 查询和 authrnticat,请完成以下步骤:

  1. 设置 IAM 令牌。

    AUTH_TOKEN=$(ibmcloud iam oauth-tokens | awk '{print $4}')
    
  2. 设置 IBM Cloud Monitoring 实例 GUID。

    GUID=$(ibmcloud resource service-instance <NAME> --output json | jq -r '.[].guid')
    
  3. 运行 cURL API 查询。

    curl -X <METHOD> <MONITORING_ENDPOINT>/<API_URL> -H "Authorization: $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "content-type: application/json"
    

例如,要创建通过 JSON 文件定义警报定义和通知通道的警报,可以运行以下命令:

curl -X POST \
  https://us-south.monitoring.cloud.ibm.com/api/alerts \
  -H 'Authorization: Bearer eyJraW...' \
  -H 'IBMInstanceID: fc8ceb8a-...' \
  -H 'Content-Type: application/json' \
  -d @alert.json