Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

مراقبة مقاييس Temporal Cloud باستخدام ClickStack

توفّر Temporal طبقة تجريد لبناء تطبيقات بسيطة ومتقدمة وقادرة على التحمّل.

التكامل مع Temporal Cloud القائم

يتناول هذا القسم كيفية تهيئة ClickStack عبر إعداد ClickStack OTel collector باستخدام Prometheus receiver.

المتطلبات الأساسية

  • مثيل ClickStack قيد التشغيل
  • حساب Temporal Cloud حالي
  • إمكانية وصول عبر شبكة HTTP من ClickStack إلى Temporal Cloud الخاص بك

إنشاء مفتاح Temporal Cloud

تأكد من أن لديك مفتاح واجهة برمجة تطبيقات لـ Temporal Cloud. يمكنك إنشاؤه باتباع دليل المصادقة في وثائق Temporal.

أنشئ تهيئة مخصصة لـ OTel collector

يتيح لك ClickStack توسيع تهيئة OpenTelemetry collector الأساسية من خلال إرفاق ملف تهيئة مخصص وضبط متغير بيئة. وتُدمج التهيئة المخصصة مع التهيئة الأساسية التي يديرها HyperDX عبر OpAMP.

أنشئ ملفًا باسم temporal-metrics.yaml بالتكوين التالي:

temporal-metrics.yamlyaml
receivers:
  prometheus/temporal:
    config:
      scrape_configs:
      - job_name: 'temporal-cloud'
        scrape_interval: 60s
        scrape_timeout: 30s
        honor_timestamps: true
        scheme: https
        authorization:
          type: Bearer
          credentials_file: /etc/otelcol-contrib/temporal.key
        static_configs:
          - targets: ['metrics.temporal.io']
        metrics_path: '/v1/metrics'

processors:
  resource:
    attributes:
      - key: service.name
        value: "temporal"
        action: upsert

service:
  pipelines:
    metrics/temporal:
      receivers: [prometheus/temporal]
      processors:
        - resource
        - memory_limiter
        - batch
      exporters:
        - clickhouse

هذا الإعداد:

تهيئة ClickStack لتحميل إعدادات مخصصة

لتمكين إعدادات مخصصة للمجمّع في عملية نشر ClickStack الحالية، يجب عليك:

  1. تركيب ملف الإعدادات المخصص على المسار /etc/otelcol-contrib/custom.config.yaml
  2. تعيين متغير البيئة CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
  3. تركيب ملف temporal.key على المسار /etc/otelcol-contrib/temporal.key
  4. التأكد من وجود اتصال شبكي بين ClickStack وTemporal

تفترض جميع الأوامر أنها تُنفَّذ من دليل العينة نفسه الذي يُخزَّن فيه كل من temporal-metrics.yaml وtemporal.key.

الخيار 1: Docker Compose

حدّث إعدادات نشر ClickStack لديك:

services:
  clickstack:
    # ... existing configuration ...
    environment:
      - CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
    volumes:
      - ./temporal-metrics.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
      - ./temporal.key:/etc/otelcol-contrib/temporal.key:ro
      # ... other volumes ...
الخيار 2: تشغيل Docker (docker run) (الصورة المتكاملة)

إذا كنت تستخدم الصورة المتكاملة مع docker run:

docker run --name clickstack \
  -p 8080:8080 -p 4317:4317 -p 4318:4318 \
  -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
  -v "$(pwd)/temporal-metrics.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
  -v "$(pwd)/temporal.key:/etc/otelcol-contrib/temporal.key:ro" \
  clickhouse/clickstack-all-in-one:latest

تحقّق من المقاييس في HyperDX

بعد إكمال الإعداد، سجّل الدخول إلى HyperDX وتحقّق من تدفّق المقاييس:

  1. انتقل إلى مستكشف المقاييس
  2. ابحث عن المقاييس التي تبدأ بـ temporal (مثل: temporal_cloud_v1_workflow_success_count، temporal_cloud_v1_poll_timeout_count)
  3. يُفترض أن ترى نقاط بيانات المقاييس تظهر وفق فاصل التجميع الزمني الذي أعددته
مقاييس Temporal

لوحات المعلومات والتصورات المرئية

لمساعدتك على بدء مراقبة Temporal Cloud باستخدام ClickStack، نوفر بعض التصورات المرئية النموذجية لـ Temporal Metrics.

تنزيل ملف إعداد لوحة المعلومات

استيراد لوحة المعلومات المُعدّة مسبقًا

  1. افتح HyperDX وانتقل إلى قسم Dashboards
  2. انقر على Import Dashboard في الزاوية العلوية اليمنى من قائمة النقاط الثلاث
زر استيراد لوحة المعلومات
  1. ارفع ملف temporal-metrics-dashboard.json ثم انقر على Finish Import
مربع حوار إنهاء الاستيراد

عرض لوحة المعلومات

سيتم إنشاء لوحة المعلومات مع إعداد جميع التصورات المرئية مسبقًا:

لوحة معلومات Temporal Metrics

استكشاف الأخطاء وإصلاحها

عدم تحميل ملف الإعدادات المخصّص

تحقّق من ضبط متغير البيئة CUSTOM_OTELCOL_CONFIG_FILE بشكل صحيح:

docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILE

تحقّق من أن ملف الإعدادات المخصّص مُحمَّل على المسار /etc/otelcol-contrib/custom.config.yaml:

docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yaml
# usually, docker exec clickstack ls -lh /etc/otelcol-contrib/custom.config.yaml

اعرض محتوى الإعداد المخصص للتحقق من إمكانية قراءته:

docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml
# usually, docker exec clickstack cat /etc/otelcol-contrib/custom.config.yaml

تأكد من أن temporal.key مركّب داخل الحاوية:

docker exec <container-name> cat /etc/otelcol-contrib/temporal.key
# usually, docker exec clickstack cat /etc/otelcol-contrib/temporal.key
# This should output your temporal.key

عدم ظهور أي مقاييس في HyperDX

تحقق من إمكانية وصول الـ collector إلى Temporal Cloud:

# From the ClickStack container
docker exec <container-name> curl -H "Authorization: Bearer <API_KEY>" https://metrics.temporal.io/v1/metrics

من المفترض أن ترى مجموعة من مقاييس Prometheus مطبوعة، مثلًا.

temporal_cloud_v1_workflow_success_count{operation="CompletionStats",region="aws-us-east-2",temporal_account="l2c4n",temporal_namespace="clickpipes-aws-prd-apps-us-east-2.l2c4n",temporal_task_queue="clickpipes-svc-dc118d12-b397-4975-a33e-c2888ac12ac4-peer-flow-task-queue",temporal_workflow_type="QRepPartitionWorkflow"} 0.067 1765894320

تحقّق من أن الإعداد الفعّال يتضمّن Prometheus receiver الخاص بك:

docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 "Prometheus:"
## usually, docker exec clickstack cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 "prometheus:"

تحقّق من وجود أخطاء في سجلات وكيل collector:

docker exec <container> cat /etc/otel/supervisor-data/agent.log | grep -i Prometheus
# Look for connection errors or authentication failures
# docker exec clickstack cat /etc/otel/supervisor-data/agent.log | grep -i Prometheus

تحقّق من سجلات الـ collector:

docker exec <container> cat /var/log/otel-collector.log | grep -i error
# Look for config parsing errors - early supervisor.opamp-client can be ignored 
# docker exec clickstack cat /var/log/otel-collector.log | grep -i error

أخطاء المصادقة

إذا ظهرت أخطاء مصادقة في السجلات، فتحقق من مفتاح API الخاص بك.

مشكلات الاتصال بالشبكة

إذا تعذّر على ClickStack الوصول إلى Temporal Cloud، فتأكّد من أن ملف Docker Compose أو أوامر docker run تسمح بالاتصال الخارجي عبر الشبكة.

الخطوات التالية

  • أعدّ التنبيهات للمقاييس المهمة (معدلات فشل سير العمل، تزايد تراكم المهام، زمن الانتقال من الجدولة إلى البدء)
  • أنشئ لوحات معلومات إضافية لحالات استخدام محددة (المراقبة على مستوى مساحة الاسم، وأداء أنواع سير العمل)
  • راقب عدة حسابات Temporal Cloud من خلال تكرار تهيئة المستقبِل باستخدام نقاط نهاية وأسماء خدمات مختلفة

الانتقال إلى بيئة الإنتاج

يعتمد هذا الدليل على OpenTelemetry Collector المضمّن في ClickStack لتوفير إعداد سريع. أما لعمليات النشر في بيئة الإنتاج، فنوصي بتشغيل OTel Collector الخاص بك وإرسال البيانات إلى نقطة نهاية OTLP الخاصة بـ ClickStack. راجع إرسال بيانات OpenTelemetry للاطلاع على إعدادات بيئة الإنتاج.

Navigation