إذا كنت تستخدم ClickHouse Cloud، يمكنك كشف المقاييس لـ Prometheus باستخدام تكامل Prometheus.
يمكن لـ ClickHouse كشف مقاييسه الخاصة ليجمعها Prometheus:
<prometheus>
<port>9363</port>
<endpoint>/metrics</endpoint>
<metrics>true</metrics>
<asynchronous_metrics>true</asynchronous_metrics>
<events>true</events>
<errors>true</errors>
<histograms>true</histograms>
<dimensional_metrics>true</dimensional_metrics>
</prometheus>
Section `<prometheus.handlers>` can be used to make more extended handlers.
This section is similar to [<http_handlers>](/concepts/features/interfaces/http) but works for prometheus protocols:
```xml
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/metrics</url>
<handler>
<type>expose_metrics</type>
<metrics>true</metrics>
<asynchronous_metrics>true</asynchronous_metrics>
<events>true</events>
<errors>true</errors>
<histograms>true</histograms>
<dimensional_metrics>true</dimensional_metrics>
</handler>
</my_rule_1>
</handlers>
</prometheus>
الإعدادات:
| الاسم | الافتراضي | الوصف |
|---|
port | لا شيء | المنفذ المستخدم لخدمة بروتوكول عرض المقاييس. |
endpoint | /metrics | نقطة نهاية HTTP لكشط المقاييس بواسطة خادم Prometheus. تبدأ بـ /. يجب عدم استخدامها مع قسم <handlers>. |
url / headers / method | لا شيء | عوامل التصفية المستخدمة للعثور على معالج مطابق للطلب. وهي مشابهة للحقول التي تحمل الأسماء نفسها في قسم <http_handlers>. |
metrics | true | يعرض المقاييس من جدول system.metrics. |
asynchronous_metrics | true | يعرض قيم المقاييس الحالية من جدول system.asynchronous_metrics. |
events | true | يعرض المقاييس من جدول system.events. |
errors | true | يعرض عدد الأخطاء بحسب رموز الخطأ التي حدثت منذ آخر إعادة تشغيل للخادم. ويمكن أيضًا الحصول على هذه المعلومات من system.errors. |
histograms | true | يعرض مقاييس المُدرَّج التكراري من system.histogram_metrics |
dimensional_metrics | true | يعرض المقاييس متعددة الأبعاد من system.dimensional_metrics |
تحقّق من ذلك (استبدل 127.0.0.1 بعنوان IP أو باسم المضيف لخادم ClickHouse لديك):
curl 127.0.0.1:9363/metrics
بروتوكول remote-write
يدعم ClickHouse بروتوكول remote-write.
تُستقبَل البيانات عبر هذا البروتوكول وتُكتَب في جدول TimeSeries
(ويجب إنشاؤه مسبقًا).
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/write</url>
<handler>
<type>remote_write</type>
<database>db_name</database>
<table>time_series_table</table>
</handler>
</my_rule_1>
</handlers>
</prometheus>
الإعدادات:
| الاسم | الافتراضي | الوصف |
|---|
port | لا يوجد | المنفذ المستخدَم لخدمة بروتوكول remote-write. |
url / headers / method | لا يوجد | عوامل التصفية المستخدمة للعثور على معالج مطابق للطلب. وهي مشابهة للحقول التي تحمل الأسماء نفسها في قسم <http_handlers>. |
table | لا يوجد | اسم جدول TimeSeries الذي تُكتب إليه البيانات المستلمة عبر بروتوكول remote-write. ويمكن أن يتضمن هذا الاسم اختياريًا اسم قاعدة بيانات أيضًا. |
database | لا يوجد | اسم قاعدة البيانات التي يوجد فيها الجدول المحدد في الإعداد table إذا لم يكن اسم قاعدة البيانات محددًا في الإعداد table. |
بروتوكول remote-read
يدعم ClickHouse بروتوكول remote-read.
تُقرأ البيانات من جدول TimeSeries وتُرسَل عبر هذا البروتوكول.
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/read</url>
<handler>
<type>remote_read</type>
<database>db_name</database>
<table>time_series_table</table>
</handler>
</my_rule_1>
</handlers>
</prometheus>
الإعدادات:
| الاسم | الافتراضي | الوصف |
|---|
port | لا شيء | المنفذ المستخدم لخدمة بروتوكول remote-read. |
url / headers / method | لا شيء | عوامل التصفية المستخدمة للعثور على معالج مطابق للطلب. وهي مشابهة للحقول التي تحمل الأسماء نفسها في قسم <http_handlers>. |
table | لا شيء | اسم جدول TimeSeries الذي تُقرأ منه البيانات لإرسالها عبر بروتوكول remote-read. ويمكن أن يتضمن هذا الاسم أيضًا اسم قاعدة بيانات. |
database | لا شيء | اسم قاعدة البيانات التي يوجد فيها الجدول المحدد في الإعداد table، إذا لم يكن اسم قاعدة البيانات محددًا ضمن الإعداد table. |
تهيئة عدة بروتوكولات
يمكن تحديد عدة بروتوكولات معًا في موضع واحد:
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/metrics</url>
<handler>
<type>expose_metrics</type>
<metrics>true</metrics>
<asynchronous_metrics>true</asynchronous_metrics>
<events>true</events>
<errors>true</errors>
<histograms>true</histograms>
<dimensional_metrics>true</dimensional_metrics>
</handler>
</my_rule_1>
<my_rule_2>
<url>/write</url>
<handler>
<type>remote_write</type>
<table>db_name.time_series_table</table>
</handler>
</my_rule_2>
<my_rule_3>
<url>/read</url>
<handler>
<type>remote_read</type>
<table>db_name.time_series_table</table>
</handler>
</my_rule_3>
</handlers>
</prometheus>
آخر تعديل في ٢٥ يونيو ٢٠٢٦