لقد كنت مهتمًا بموضوع DevOps مؤخرًا ، لذلك درست المشروع المفتوح المصدر المتعلق بمراقبة ومقال في مقال عن المتوسط. في المشروع الفعلي ، رأيت زملاء في مجموعة DevOps باستخدام مراقبة مماثلة ، لذلك أردت الاستمتاع به والتعرف على مراقبة التصور.
تكوين الخدمة المراقبة
يوجد مشروع ربيع بوت محليًا ويعتمد أيضًا على Jolokia (بشكل أساسي لفضح Mbeans JMX من خلال HTTP)
تكوين المشروع لا غنى عنه أيضًا
نقاط النهاية: تمكين: True JMX: ممكّن: True Jolokia: ممكّن: Truemanagement: الأمان: ممكّن: خطأ
قم بزيارة عنوان URL لمعرفة ما إذا كان الأمر جيدًا
http: // localhost: 8080/jolokia/read/org.springframework.boot: name = metricsendpoint ، type = endpoint/data
بناء نظام مراقبة
إذا تمكنت من رؤية البيانات ، فهذا يعني أن تكوين جانب الخادم جيد. كيف نقوم ببناء Telegraf + informuxdb + Grafana؟ هذه المكونات الثلاثة تعمل معًا بهذه الطريقة. Telegraf يجمع في الواقع المعلومات. على سبيل المثال ، تفضل بزيارة عنوان URL أعلاه كل 10 ثوانٍ للحصول على مقاييس ، وتخزين البيانات التي تم جمعها في influxDB ، ثم تقوم Grafana بتصور البيانات.
ولكن إذا كان من المزعج للغاية تثبيته يدويًا ، فيرجى مساعدة GitHub العالمي والعثور على مشروع جيد للغاية (https://github.com/samuelebistoletti/Docker-Statsd-influxdb-grafana) ، وشوكة مباشرة وتعديل بعض التكوينات لخدمة مشروعك. إذا كنت لا تفهم التكوين ذي الصلة ، فيمكنك تشغيله مباشرة أولاً ثم الدخول عبر SSH لمعرفة ذلك.
SSH Root@LocalHost -P 22022
من حيث التكوين ، فإن الشيء الرئيسي هو تعديل Telegraf ، لأنه يتصل بمشاريع مختلفة. ما نوع المعلومات التي تحتاج إلى جمعها ، مثل وحدة المعالجة المركزية ، والقرص ، والشبكة ، وما إلى ذلك ، يجب تجهيزها في Telegraf. من أجل البساطة ، قمت فقط بإعداد ثلاثة مدخلات.
#/etc/telegraf/telegraf.conf budaped.jolokia]]] context = "/jolokia" budapudeputs.jolokia.servers] name =" springbootapp "=" metrics "mbean}" port = "8080" "org.springframework.boot: name = metricsendpoint ، type = endpoint" attribute = "data" [[inputs.jolokia.metrics]] name = "tomcat_max_threads "maxThreads" [[inputs.jolokia.metrics]] name = "tomcat_current_threads_busy" mbean = "tomcat: name =/" http-nio-8080/"، type = threadpool" attribute = "currentthreadsbusy"
في الواقع ، إنه مقاييس قياسية من الربيع وخيوط Tomcat.
بعد الانتهاء ، أعد تشغيل الخدمة /etc/init.d/telegraf restart
عرض بيانات المراقبة
نحن تزور effressdb لمعرفة ما إذا كان هناك أي بيانات http: // localhost: 3004/، وتبديل قاعدة البيانات إلى Telegraf. أدخل الأمر التالي لمحاولة
إظهار القياسات * من jolokiaSelect * من cpuselect * من memselect * من diskio
على سبيل المثال ، إذا قمت بإدخال SELECT * FROM jolokia ، فيمكنك معرفة البيانات التي تتعرض لها SPRING-Boot. من عمود الوقت ، يمكن أيضًا ملاحظة أن Telegraf يتم جمعها كل 10 ثوان. إذا كان متكررًا جدًا ، فسيكون أيضًا ضغطًا على الخادم.
ما سبق يغطي أساسا بعض مقاييس وحدة المعالجة المركزية والذاكرة والتخزين.
في الواقع ، يمكنك أيضًا تكوين التكوينات المتعلقة بالشبكة. إذا كنت مهتمًا ، فيمكنك رؤية telegraf.conf الرسمية ، والتي تحتوي على أمثلة على تكوين [[inputs.net]].
تصور البيانات
بمجرد توفر البيانات ، تكون الخطوة التالية هي التصور.
اتبع github المذكورة أعلاه لدخول http: // localhost: 3003/، ،
باستخدام المعالج ، انقر فوق إضافة بيانات SourCechoose اسم للمصدر وعلمه على أنه defaultChoose effressdb كـ typechoose مباشرة مثل حقول الوصول المتبقية على النحو التالي وانقر فوق إضافة دون تغيير الحقول الأخرى: http: // localhost: 8086dataBase: telegrafuser: telegrafpass
بعد إضافة influxDB ، قم بإنشاء لوحة معلومات جديدة وإضافة بعض الرسوم البيانية بسرعة.
للمظاهرة ، أضفت ثلاثة ، باستخدام المجموعات الثلاث التالية من عبارات الاستعلام لتقديم ثلاث مخططات
حدد متوسط (usage_system) + mean (usage_user) كوحدة المعالجة المركزية من وحدة المعالجة المركزية من وحدة المعالجة المركزية حيث مجموعة $ timefilter حسب الوقت ($ interval) SELECT ("total") كـ "إجمالي" من "MEM" يعني ("metrics_heap.used") كـ "heap_usage" من "jolokia" حيث تملأ Timefilter Group $ بواسطة Time ($ interal) (NULL)الأول هو استخدام وحدة المعالجة المركزية. والثاني هو استخدام الذاكرة ، والخط الأخضر مجموع ، ويستخدم الخط الأصفر ؛ والثالث هو استخدام كومة JVM التي توفرها Jolokia ، ويمكنك رؤية موقف GC.
لقد قمت أيضًا بتكوين مجموعة Tomcat الآن ، كما أنه مثالي لرؤية وضع موضوع Tomcat.
حدد يعني ("Tomcat_Max_Threads") من "Jolokia" حيث $ timefilter Group حسب الوقت ($ الفاصل الزمني) تعبئة (خالية) حدد متوسط ("tomcat_current_threads_busy") من "jolokia" حيث مجموعة $ timefilter حسب الوقت ($ interval)ملخص
ما سبق هو مراقبة الحذاء الربيعي الذي أدخله المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!