Files

207 lines
9.1 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
slug: /use-cases/observability/clickstack/api-reference
title: 'مرجع API'
description: 'مرجع API لـ ClickStack لإدارة لوحات المعلومات والتنبيهات والمصادر برمجيًا'
doc_type: 'guide'
keywords: ['ClickStack', 'observability', 'API', 'REST API', 'لوحات المعلومات', 'التنبيهات', 'HyperDX']
---
import { Image } from "/snippets/ar/components/Image.jsx";
يوفّر ClickStack واجهة برمجة تطبيقات REST لإدارة لوحات المعلومات والتنبيهات ومصادر البيانات برمجيًا. وهذه الواجهة متاحة لكلٍّ من عمليات نشر **Managed ClickStack** ‏(ClickHouse Cloud) و**ClickStack Open Source**، مع اختلاف نقاط النهاية وآلية المصادقة بينهما.
<div id="api-docs">
## وثائق مرجع واجهة برمجة تطبيقات
</div>
<Tabs>
<Tab title="Managed ClickStack">
بالنسبة إلى Managed ClickStack، يتم الوصول إلى واجهة برمجة تطبيقات عبر **واجهة برمجة تطبيقات ClickHouse Cloud**. تتوفر نقاط نهاية ClickStack في [مرجع Cloud واجهة برمجة تطبيقات](/ar/products/cloud/api-reference/clickstack/click-stack-list-dashboards).
نقاط النهاية التالية متاحة:
| المورد | العمليات |
| ------------------- | --------------------------------------------------- |
| **لوحات المعلومات** | إنشاء لوحات المعلومات وعرضها وجلبها وتحديثها وحذفها |
| **التنبيهات** | إنشاء التنبيهات وعرضها وجلبها وتحديثها وحذفها |
| **المصادر** | عرض مصادر البيانات |
</Tab>
<Tab title="Open Source ClickStack">
بالنسبة إلى ClickStack Open Source، تُحفَظ مواصفات واجهة برمجة تطبيقات الكاملة في [مستودع HyperDX](https://github.com/hyperdxio/hyperdx) ويمكن استعراضها تفاعليًا أو تنزيلها كمواصفات OpenAPI:
* [مرجع واجهة برمجة تطبيقات التفاعلي](https://www.clickhouse.com/docs/clickstack/api-reference)
* [تنزيل مواصفات OpenAPI ‏(JSON)](https://raw.githubusercontent.com/hyperdxio/hyperdx/refs/heads/main/packages/api/openapi.json)
نقاط النهاية التالية متاحة:
| المورد | العمليات |
| ------------------- | --------------------------------------------------- |
| **لوحات المعلومات** | إنشاء لوحات المعلومات وعرضها وجلبها وتحديثها وحذفها |
| **التنبيهات** | إنشاء التنبيهات وعرضها وجلبها وتحديثها وحذفها |
| **المخططات** | الاستعلام عن بيانات السلاسل الزمنية (POST فقط) |
| **المصادر** | عرض مصادر البيانات |
| **Webhooks** | عرض Webhooks |
</Tab>
</Tabs>
<div id="authentication">
## المصادقة
</div>
<Tabs>
<Tab title="Managed ClickStack">
يستخدم Managed ClickStack **مفتاح واجهة برمجة تطبيقات ClickHouse Cloud** للمصادقة عبر [مصادقة HTTP الأساسية](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). لإنشاء مفاتيح واجهة برمجة تطبيقات وإدارتها، راجع [إدارة مفاتيح واجهة برمجة تطبيقات](/ar/products/cloud/features/admin-features/api/openapi).
ضمّن معرّف المفتاح والقيمة السرية باستخدام مصادقة HTTP الأساسية:
```bash
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
```
</Tab>
<Tab title="Open Source ClickStack">
يستخدم ClickStack Open Source **Bearer token** للمصادقة عبر **مفتاح وصول واجهة برمجة تطبيقات شخصي**.
للحصول على مفتاح واجهة برمجة تطبيقات:
1. افتح HyperDX على عنوان URL الخاص بـ ClickStack لديك (على سبيل المثال: http://localhost:8080)
2. أنشئ حسابًا أو سجّل الدخول عند الحاجة
3. انتقل إلى **Team Settings → API Keys**
4. انسخ **مفتاح وصول واجهة برمجة تطبيقات الشخصي** الخاص بك
<Image img="/images/clickstack/api-key-personal.webp" alt="مفتاح واجهة برمجة تطبيقات في ClickStack" />
<Note>
يختلف هذا عن **مفتاح واجهة برمجة تطبيقات للاستيعاب** الموجود في Team Settings، والذي يُستخدم لمصادقة بيانات القياس عن بُعد المُرسلة إلى مجمّع OpenTelemetry.
</Note>
يعمل خادم واجهة برمجة تطبيقات على المنفذ `8000` افتراضيًا (بشكل منفصل عن واجهة المستخدم على المنفذ `8080`). عند استخدام صورة Docker المتكاملة، تأكد من ربط هذا المنفذ صراحةً:
```bash
docker run -p 8080:8080 -p 8000:8000 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one
```
ضمّن المفتاح في ترويسة `Authorization`:
```bash
curl -H "Authorization: Bearer <YOUR_API_KEY>" \
http://localhost:8000/api/v2/dashboards
```
</Tab>
</Tabs>
<div id="base-url">
## عنوان URL الأساسي وتنسيق الطلب
</div>
<Tabs>
<Tab title="Managed ClickStack">
تُرسَل جميع طلبات API الخاصة بـ Managed ClickStack إلى ClickHouse Cloud API:
```bash
https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/<resource>
```
يمكنك العثور على **Organization ID** الخاص بك في ClickHouse Cloud console ضمن **Organization → Organization details**. ويظهر **Service ID** الخاص بك في عنوان URL الخاص بالخدمة أو في صفحة تفاصيل الخدمة.
### مثال: سرد لوحات المعلومات
```bash
curl --user $KEY_ID:$KEY_SECRET \
https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/dashboards
```
### مثال: إنشاء تنبيه
```bash
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
```
</Tab>
<Tab title="Open Source ClickStack">
تُرسَل جميع طلبات API الخاصة بـ Open Source ClickStack إلى خادم HyperDX API على المنفذ `8000`:
```bash
http://<YOUR_HYPERDX_HOST>:8000/api/v2/<resource>
```
على سبيل المثال، في عملية نشر محلية افتراضية:
```bash
http://localhost:8000/api/v2/dashboards
```
### مثال: سرد لوحات المعلومات
```bash
curl -H "Authorization: Bearer <YOUR_API_KEY>" \
http://localhost:8000/api/v2/dashboards
```
### مثال: إنشاء تنبيه
```bash
curl -X POST \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-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"
}' \
http://localhost:8000/api/v2/alerts
```
### مثال: الاستعلام عن بيانات سلاسل المخطط
```bash
curl -X POST \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"startTime": 1647014400000,
"endTime": 1647100800000,
"granularity": "1h",
"series": [
{
"sourceId": "<SOURCE_ID>",
"aggFn": "count",
"where": "SeverityText:error",
"groupBy": []
}
]
}' \
http://localhost:8000/api/v2/charts/series
```
</Tab>
</Tabs>