مقدمة
مرحبا بالجميع! سنتحدث اليوم عن مراقبة منتجات
Atlassian في الوقت الفعلي.
أولاً ، دعونا نحدد ماهية المراقبة ولماذا هي ضرورية لمنتجات
Atlassian .
تُستخدم مراقبة البرنامج لتتبع تقدم البرنامج ونتائجه. بمعنى آخر ، إنها عملية يمكنها في الوقت الحقيقي عرض معلومات حول حالة منتج البرنامج.
متى يمكن أن تكون مفيدة لمنتجات
Atlassian ؟
خذ بعين الاعتبار الأمثلة التالية:
- تريد معرفة كيفية تأثير تحديث منتج أو مكون إضافي على أداء النظام ؛
- تريد أن تعرف حالة الحديد والذاكرة تحت ظروف مختلفة وفي أوقات معينة من الزمن. على سبيل المثال ، كيف تؤثر زيادة عدد المستخدمين أو تغيير الوقت من اليوم على النظام ؛
- تريد أن تلاحظ مدى فعالية استخدام النظام ككل. على سبيل المثال ، إجمالي عدد المهام في جيرا أو في ساعة واحدة ؛
- تريد تعيين تذكير في تاريخ انتهاء الترخيص ؛
- ترغب في معرفة مقدار مساحة القرص المستخدمة لتخزين المستندات.
لا أرغب أيضًا في تلقي المعلومات في نموذج معد ، ولكن أيضًا أن أتمكن من إرسال إشعارات إذا حدث شيء ما وفقًا لسيناريو خاطئ. هنا ستساعدنا
بروميثيوس ومصدريها لمنتجات
Atlassian .
هندسة الحلول
Prometheus هي أداة لرصد عشرات الآلاف من الخدمات في وقت واحد. يقرأ خادم
Prometheus الأهداف في فاصل زمني تحدده لجمع المقاييس وتخزينها في قاعدة بيانات سلاسل زمنية. لجمع المقاييس ، يتم استخدام نموذج السحب. بالإضافة إلى ذلك ، هناك مكون
إدارة التنبيه الذي يمكنه إرسال إشعارات إلى قنوات مختلفة إذا نجحت قاعدة معينة تستند إلى المقاييس. يمكنك العثور على معلومات مفصلة باللغة الروسية
هنا وهنا .
مُصدِّر
Prometheus هو وكيل يجمع المقاييس مباشرةً من الكيان (الخادم ككل أو تطبيق محدد) الذي يجب مراقبته.
يحتوي بروميثيوس على خيارات توسع غنية ، لذلك هناك مصدرون لمعظم التطبيقات الشائعة.
[جيرا | التقاء | bitbucket | الخيزران] _exporter يعمل على النحو التالي:
- يسترجع البيانات من قاعدة بيانات المنتج
- يسترجع البيانات باستخدام واجهة برمجة تطبيقات Java القياسية
- يضيف مرشحات لطلبات HTTP
- يجمع مقاييس jmx.
يتم تنفيذ مثال للتثبيت السريع لـ
Prometheus / Grafana في
Docker بواسطة
Stefan Prodan وهو متاح
هنا .
تركيب وتكوين المصدر
بعد تثبيت
المكوّن الإضافي ، ستحصل فورًا على رابط المقياس:
baseUrl / plugins / servlet / prometheus / metrics . من الممكن أيضًا تكوين مفتاح أمان.
بعد ذلك ، في
prometheus.yml ، تحتاج إلى إضافة العنوان الذي تحصل عليه من المقاييس.
على سبيل المثال ، بالنسبة لـ
Jira :
- job_name: 'jira' scheme: https # change to http if don't you have https metrics_path: '/jira/plugins/servlet/prometheus/metrics' static_configs: - targets: ['myhost:2990'] # Jira host and port you serve
اكتمال التكامل ، يمكنك استخدامه.
المقاييس وأمثلة الاستعلام
يمكنك الاطلاع على قائمة بجميع المقاييس في وثائق المكوّن الإضافي:
Jira ،
Confluence ،
Bitbucket ،
Bamboo .
طلب أمثلة:
- وقت التشغيل:
jvm_uptime_gauge{job="jira"}
- وقت تنفيذ طلب الخادم:
(sum(rate(jira_request_duration_on_path_sum[1m])) by (path)) / (sum(rate(jira_request_duration_on_path_count[1m])) by (path))
- إجمالي عدد المهام:
jira_total_issues_gauge
- عدد مشاهدات لوحات العدادات:
sum(increase(jira_dashboard_view_count[1h]))
يمكنك قراءة المزيد حول بناء الاستعلامات
هنا .
لوحات عدادات جرافانا
يمكنك استخدام
Grafana كمكون تابع لجهة خارجية لتصور المقاييس المخزنة في قاعدة بيانات سلسلة التوقيت
Prometheus . هناك العديد من عمليات التنفيذ الجاهزة على
الموقع الرسمي. على سبيل المثال ، يمكن العثور على لوحات معلومات لـ
Jira على هذا
الرابط .

الميزات
أخطط لإضافة القدرة على تحديد المقاييس المخصصة باستخدام
Groovy ، بالإضافة إلى الدعم الكامل لـ
Service Desk . وبالتالي ، يمكنك إضافة مقاييس مخصصة ليس فقط للمنتجات نفسها ، ولكن أيضًا للمكونات الإضافية الأخرى.
جميع
المصدرين منفتحون ونشطون. إذا كانت لديك أفكار للتحسين أو التوسع ، يرجى إنشاء المهام (
Jira و
Confluence و
Bitbucket و
Bamboo ) و / أو القيام بطلبات السحب.
الخلاصة
إذا كانت تركيبات
Atlassian كبيرة جدًا وتحتاج إلى ضمان التشغيل المستمر ، فأنت بالتأكيد بحاجة إلى المراقبة. وكيف - تقرر بنفسك.
بروميثيوس ، كأحد الخيارات التي ستبسط حياتك دون شك.
شكرا لكم على اهتمامكم!