الصحة والمقاييس

تعرض خدمات Asset Core نقاط نهاية الصحة للمراقبة ومقاييس Prometheus للرصد.

نظرة عامة

توفر كل من عمليات الكتابة والقراءة للدايمون:

  • نقطة النهاية الصحية: حالة JSON لموازني الأحمال والمراقبة
  • نقطة نهاية القياسات: قياسات بتنسيق Prometheus للوحة المعلومات والتنبيهات

الهيكل

إرشادات إضافية:

النبرة: رسمية
السجل: تقني

السياق:

  • المجال: بنية تحتية للبلوكشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: ar
  • الاتجاه: RTL

القيود:

  • استخدام لغة محايدة للجنس
  • الحفاظ على أسماء العلامات التجارية
  • الحفاظ على الدقة التقنية
  • ضمان أن تظل علامات الترقيم والترقيم مناسبة للاتجاه RTL
  • الحفاظ على أسماء العلامات التجارية والمصطلحات في القاموس دون ترجمة

الحفاظ على دون ترجمة:

  • code_blocks
  • inline_code
  • الروابط
  • glossary_terms
  • الملاحظات الرياضية

إرشادات القاموس:

الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core، Asset‑Core، CSP، API، Docker، ECS، daemon، L1، L2، L3، OpenGraph، GitHub، Astro، TypeScript، JavaScript، ℤ، ℤ²، ℤ³، ℝ²، ℝ³، 0D، 1D، 2D، 3D

نقاط النهاية الصحية

DaemonEndpointDescription
WriteGET /v1/healthحالة سجل الالتزام والتأخير
ReadGET /v1/healthحداثة العرض

نقاط نهاية القياسات

دايموننقطة النهايةالتنسيق
كتابةGET /v1/metricsنص بروميثيوس
قراءةGET /v1/metricsنص بروميثيوس

الحقول

كتابة صحة الـ Daemon

{
  "status": "healthy",
  "commit_log": {
    "end_seq": 1000,
    "checkpoint_seq": 1000,
    "lag": 0,
    "driver": {
      "name": "file",
      "path": "/var/lib/assetcore/commit_log.log"
    }
  }
}
الحقلالوصف
statusصحي أو متدهور
commit_log.end_seqأحدث تسلسل تم الالتزام به
commit_log.checkpoint_seqأحدث تسلسل تم التحقق منه
commit_log.lagالفرق (يجب أن يكون 0 أو قريبًا من 0)

قراءة صحة الـ Daemon

{
  "status": "healthy",
  "freshness": {
    "checkpoint_seq": 998,
    "commit_log_seq": 1000,
    "lag": 2
  }
}
الحقلالوصف
freshness.checkpoint_seqالتسلسلات المطبقة على الإسقاط
freshness.commit_log_seqالأحدث في سجل الالتزام
freshness.lagمدى تأخر عملية القراءة عن الخدمة

المقاييس الرئيسية

كتابة Daemon

المقياسالنوعالوصف
assetcore_write_requests_totalعدادإجمالي الطلبات حسب المسار والحالة
assetcore_write_request_duration_secondsهيستوجرامزمن استجابة الطلب
assetcore_write_commit_duration_secondsهيستوجرامزمن الاستجابة المحدد للالتزام
assetcore_write_ingress_queue_depthمقياسالعناصر المنتظرة في الطابور
assetcore_write_ingress_inflightمقياسالطلبات التي يتم معالجتها
assetcore_write_commit_log_end_seqمقياسأحدث تسلسل تم الالتزام به
assetcore_write_commit_log_lagمقياستأخير نقطة التحقق

قراءة Daemon

المقياسالنوعالوصف
assetcore_read_requests_totalعدادإجمالي الطلبات حسب المسار
assetcore_read_request_duration_secondsهيستوجرامزمن استجابة الطلب
assetcore_read_checkpoint_seqمقياسالتسلسل المطبق
assetcore_read_freshness_lagمقياسالأحداث المتأخرة عن سجل الالتزام
assetcore_read_snapshot_publish_duration_secondsهيستوجرامزمن نشر اللقطة

أمثلة

إرشادات إضافية:

النبرة: رسمية السجل: تقني

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمان وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: ar
  • الاتجاه: من اليمين إلى اليسار

القيود:

  • استخدام لغة محايدة للجنس
  • الحفاظ على أسماء العلامات التجارية
  • الحفاظ على الدقة التقنية
  • ضمان أن تظل علامات الترقيم والترقيم مناسبة من حيث الاتجاه
  • الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة

الحفاظ على دون ترجمة:

  • code_blocks
  • inline_code
  • links
  • glossary_terms
  • mathematical_notation

إرشادات المصطلحات:

الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D

تحقق من صحة الكتابة

curl http://localhost:8080/v1/health | jq .

تحقق من حداثة القراءة

curl http://localhost:8081/v1/read/freshness | jq .

مقاييس السحب

أضف إلى تكوين Prometheus الخاص بك:

إرشادات إضافية:

scrape_configs:
  - job_name: 'assetcore-write'
    static_configs:
      - targets: ['localhost:8080']
    metrics_path: '/v1/metrics'

  - job_name: 'assetcore-read'
    static_configs:
      - targets: ['localhost:8081']
    metrics_path: '/v1/metrics'

استعلامات مثال بروميثيوس

Additional guidance:

معدل الطلب:

rate(assetcore_write_requests_total[5m])

زمن الاستجابة P99:

histogram_quantile(0.99, rate(assetcore_write_request_duration_seconds_bucket[5m]))

قراءة تأخير الـ daemon:

assetcore_read_freshness_lag

معدل الخطأ:

rate(assetcore_write_requests_total{status!="200"}[5m])

تنبيهات المثال

groups:
  - name: assetcore
    rules:
      - alert: HighReadLag
        expr: assetcore_read_freshness_lag > 100
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "Read daemon is behind commit log"

      - alert: WriteQueueFull
        expr: assetcore_write_ingress_queue_depth > 900
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "Write queue approaching capacity"

المراجع ذات الصلة