الانتقال إلى المحتوى الرئيسي

كشف المقاييس

إذا كنت تستخدم 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>.
metricstrueيعرض المقاييس من جدول system.metrics.
asynchronous_metricstrueيعرض قيم المقاييس الحالية من جدول system.asynchronous_metrics.
eventstrueيعرض المقاييس من جدول system.events.
errorstrueيعرض عدد الأخطاء بحسب رموز الخطأ التي حدثت منذ آخر إعادة تشغيل للخادم. ويمكن أيضًا الحصول على هذه المعلومات من system.errors.
histogramstrueيعرض مقاييس المُدرَّج التكراري من system.histogram_metrics
dimensional_metricstrueيعرض المقاييس متعددة الأبعاد من 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>
آخر تعديل في ٢٥ يونيو ٢٠٢٦