跳转到主内容
跳转到主内容

API 参考

ClickStack 提供了一个 REST API,用于以编程方式管理仪表盘、告警和数据源。该 API 既适用于 Managed ClickStack(ClickHouse Cloud),也适用于 ClickStack Open Source 部署,但二者在端点和认证方式上有所不同。

API 参考文档

对于托管 ClickStack,可以通过 ClickHouse Cloud API 访问 API。ClickStack 的端点定义见 Cloud API 规范

提供以下 API 端点:

资源操作
Dashboards创建、列出、获取、更新和删除仪表盘
Alerts创建、列出、获取、更新和删除告警
Sources列出数据源

身份验证

托管 ClickStack 通过 HTTP 基本身份验证使用 ClickHouse Cloud API key 进行身份验证。要创建和管理 API key,请参阅管理 API key

通过 HTTP 基本身份验证传递 key ID 和 secret:

export KEY_ID=<your_key_id>
export KEY_SECRET=<your_key_secret>

curl --user $KEY_ID:$KEY_SECRET \
  https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/dashboards

基础 URL 和请求格式

所有 Managed ClickStack API 请求都会发送到 ClickHouse Cloud 的 API:

https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/<resource>

可以在 ClickHouse Cloud 控制台的 Organization → Organization details 中找到 Organization IDService ID 可以在服务 URL 中或服务详情页上看到。

示例:列出仪表盘

curl --user $KEY_ID:$KEY_SECRET \
  https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/dashboards

示例:创建告警

curl -X POST --user $KEY_ID:$KEY_SECRET \
  -H "Content-Type: application/json" \
  -d '{
    "dashboardId": "<DASHBOARD_ID>",
    "tileId": "<TILE_ID>",
    "threshold": 100,
    "interval": "1h",
    "source": "tile",
    "thresholdType": "above",
    "channel": {
      "type": "webhook",
      "webhookId": "<WEBHOOK_ID>"
    },
    "name": "Error Spike Alert",
    "message": "Error rate exceeded 100 in the last hour"
  }' \
  https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/alerts