تم إعداد ترجمة للمقال قبل بدء الدورة "المراقبة والتسجيل: Zabbix ، Prometheus ، ELK" .
في وقت سابق ونحن ننظر في عداد ، مقياس، و ملخصا . الآن دعونا نتحدث عن كيفية عمل الرسم البياني في بروميثيوس.الرسم البياني لديه بعض أوجه التشابه مع الملخص. الرسم البياني هو مزيج من عدادات مختلفة. مثل المقاييس الموجزة ، يتم استخدام مقاييس الرسم البياني لتتبع مقاييس الأبعاد للأحداث ، غالبًا مدتها ، باستخدام الطريقة observe
. أدوات ضبط الوقت هي عادة نفس النشرات. ما يختلفون فيه هو معالجة الكميات.فيما يلي مثال على تنسيق تسمية Prometheus للتعريضhandler
:# HELP prometheus_http_request_duration_seconds Histogram of latencies for HTTP requests.
# TYPE prometheus_http_request_duration_seconds histogram
prometheus_http_request_duration_seconds_bucket{handler="/",le="0.1"} 25547
prometheus_http_request_duration_seconds_bucket{handler="/",le="0.2"} 26688
prometheus_http_request_duration_seconds_bucket{handler="/",le="0.4"} 27760
prometheus_http_request_duration_seconds_bucket{handler="/",le="1"} 28641
prometheus_http_request_duration_seconds_bucket{handler="/",le="3"} 28782
prometheus_http_request_duration_seconds_bucket{handler="/",le="8"} 28844
prometheus_http_request_duration_seconds_bucket{handler="/",le="20"} 28855
prometheus_http_request_duration_seconds_bucket{handler="/",le="60"} 28860
prometheus_http_request_duration_seconds_bucket{handler="/",le="120"} 28860
prometheus_http_request_duration_seconds_bucket{handler="/",le="+Inf"} 28860
prometheus_http_request_duration_seconds_sum{handler="/"} 1863.80491025699
prometheus_http_request_duration_seconds_count{handler="/"} 28860
_sum
وهي _count
تعمل بنفس الطريقة تمامًا مثل الملخص ، ويمكن استخدامها للحصول على متوسط وقت التنفيذ خلال الدقائق الخمس الماضية: rate(prometheus_http_request_duration_seconds_sum[5m]
/
rate(prometheus_http_request_duration_seconds_count[5m])
ومع ذلك ، هناك حالات نادرة جدًا حيث تكون _sum
غائبة ، على سبيل المثال ، في بعض المقاييس من مصدر MySQLd.الجزء البارز من الرسم البياني هو السلسلة الزمنية _bucket
، والتي هي في الواقع جزء الرسم البياني للمقياس. بشكل أكثر تحديدًا ، هذه عدادات تشكل رسم بياني تراكمي. le
تدل على أو أقل من. وبالتالي ، استغرق 26688 طلبًا أقل من أو يساوي 200ms ، و 27760 طلبًا أقل من أو يساوي 400ms ، وكان هناك 28860 طلبًا في المجموع. القيم الموجودة في الدلو لن تكون رتيبة بشكل متناقص ، +Inf
وسيكون للدلو أكبر قيمة. +Inf
يجب أن يكون الدلو موجودًا دائمًا ويتطابق مع القيمة _count
.لحساب كمية مثل 0.9 (النسبة المئوية 90) ، يجب عليك استخدام:histogram_quantile(0.9,
rate(prometheus_http_request_duration_seconds_bucket[5m])
)
ميزة واحدة كبيرة من الرسوم البيانية على الملخصات هي أنه يمكنك تجميع الدلاء قبل حساب الكمية - مع الحرص على عدم فقدان الملصق le
:histogram_quantile(0.9,
sum without (handler)(
rate(prometheus_http_request_duration_seconds_bucket[5m])
)
)
بالإضافة إلى التجميع ، فإن الرسوم البيانية أرخص على العميل ، حيث تزداد العدادات بسرعة. فلماذا لا تستخدم الرسوم البيانية دائما؟ هناك إجابة طويلة، ولكن النسخة القصيرة هي أنه مع الرسوم البيانية ، يجب عليك أولاً تحديد المجموعة الخاصة بك ، ويتم نقل التكاليف من العميل إلى Prometheus نفسه نظرًا لعدد عناصر المجموعة. تغطي عشرة مجموعات بشكل افتراضي خدمة ويب نموذجية بتأخير يتراوح من مللي ثانية إلى ثانية ، وقد تحتاج في بعض الحالات إلى تغيير ذلك. هنا ، على سبيل المثال ، تم إعادة تعريفها لتتبع استعلامات PromQL بشكل أفضل ، والتي بشكل افتراضي لها مهلة دقيقتين. إن الحصول على أكثر من اثني عشر دلو سيعطي نتائج أكثر دقة ، ولكن يمكنه أيضًا إنتاج العديد من السلاسل الزمنية. خاصة بالاشتراك مع العلامات الأخرى.عند استخدام نظام مراقبة في الوقت الفعلي مثل بروميثيوس ، يجب أن يكون الهدف توفير قيمة تحليلية كافية لاتخاذ قرارات هندسية بناءً على ذلك. على سبيل المثال ، من المهم معرفة أن تأخير المئين التسعين بنسبة 50 مللي ثانية أكثر أهمية من معرفة ما إذا كان الآن 562 مللي ثانية أو 563 مللي ثانية ، وعادة ما يكفي عشرة دلاء لهذا الغرض. إذا كنت بحاجة إلى إجابة دقيقة ، فيمكنك دائمًا حسابها لاحقًا من سجلاتك. إذا كان هناك عدد كبير جدًا من الجرافات ، فيمكن التخلص منها أثناء معالجة البيانات ، كما هو موضح سابقًا . في الحالات الأكثر تطرفًا ، يمكنك تجاهل سلسلة _bucket
s تمامًا والاعتماد على متوسط _sum
و _count
.في الختام ، تسمح الرسوم البيانية بحساب مجموع الكميات ، على الرغم من أن عدد العناصر يجب أن يؤخذ في الاعتبار. تذكر أن الملخص بدون الكميات هو خيار أرخص إذا كنت لا تحتاج إلى رسم بياني.
المزيد عن الدورة