البرنامج التعليمي: قم بمراقبة تطبيقات Service Fabric الخاصة بك باستخدام ELK

يعد هذا البرنامج التعليمي هو الجزء الأول من سلسلة. يبين كيفية استخدام ELK (Elasticsearch، Logstash، Kibana) لمراقبة تطبيقات Service Fabric قيد التشغيل في Azure.

في الجزء الرابع من السلسلة، نتعلم طريقة:

  • إعداد خادم ELK في Azure
  • تكوين Logstash لتلقي سجلات من Event Hubs
  • تصور النظام الأساسي وسجلات التطبيقات في Kibana

ستتعلم في سلسلة البرامج التعليمية هذه كيفية:

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

قبل أن تبدأ هذا البرنامج التعليمي:

  • عند عدم وجود اشتراك في Azure، فقم بإنشاء حساب مجاني
  • قم بإعداد التطبيق الخاص بك لإرسال السجلات إلى الموقع المحدد في الجزء الثاني.
  • قم بإكمال الجزء الثالث وقم بتهيئة مجموعة Service Fabric قيد التشغيل لإرسال السجلات إلى Event Hubs.
  • السياسة في Event Hubs التي لديها إذن "Listen" والمفتاح الأساسي المرتبط من السلسلة الثالثة.

قم بتنزيل تطبيق نموذج التصويت

إذا لم تقم ببناء تطبيق نموذج التصويت في الجزء الأول من هذه السلسلة التعليمية، فإنه يمكنك تنزيله. في نافذة الأوامر، قم بتشغيل الأمر التالي لاستنساخ نموذج مستودع التطبيق إلى جهازك المحلي.

git clone https://github.com/Azure-Samples/service-fabric-java-quickstart

قم بإعداد خادم ELK في Azure

يمكنك استخدام بيئة ELK التي تم تكوينها مسبقاً لهذا البرنامج التعليمي، وإذا كانت لديك بالفعل بيئة، فانتقل إلى قسم إعداد Logstash. مع ذلك، إذا لم تكن لديك بيئة، فإن الخطوات التالية تُنشئ واحدة في Azure.

  1. قم بإنشاء ELK معتمد من قبل Bitnami في Azure. لأغراض البرنامج التعليمي، لا توجد أي مواصفات معينة لمتابعة لإنشاء هذا الخادم.

  2. انتقل إلى المورد الخاص بك في مدخل Azure وأدخل علامة التبويب Boot Diagnostics ضمن قسم Support + Troubleshooting. بعد ذلك، انقر فوق علامة التبويب "Serial Log".

    Boot Diagnostics

  3. قم بالبحث في السجلات عن كلمة المرور المطلوبة للوصول إلى نموذج Kibana. وهو يشبه المقتطف التالي:

    [   25.932766] bitnami[1496]: #########################################################################
    [   25.948656] bitnami[1496]: #                                                                       #
    [   25.962448] bitnami[1496]: #        Setting Bitnami application password to '[PASSWORD]'           #
    [   25.978137] bitnami[1496]: #        (the default application username is 'user')                   #
    [   26.004770] bitnami[1496]: #                                                                       #
    [   26.029413] bitnami[1496]: #########################################################################
    
  4. اضغط على زر الاتصال في صفحة Overview على الخادم في مدخل Azure للحصول على تفاصيل تسجيل الدخول.

    اتصال الآلات الافتراضية

  5. SSH في الخادم الذي يستضيف صورة ELK باستخدام الأمر التالي

    ssh [USERNAME]@[CONNECTION-IP-OF-SERVER]
    
    Example: ssh testaccount@104.40.63.157
    

إعداد ELK

  1. الخطوة الأولى هي تحميل بيئة ELK

    sudo /opt/bitnami/use_elk
    
  2. إذا كنت تستخدم بيئة موجودة، يجب تشغيل الأمر التالي لإيقاف خدمة Logstash

    sudo /opt/bitnami/ctlscript.sh stop logstash
    
  3. تشغيل الأمر التالي لتثبيت البرنامج المساعد Logstash لـEvent Hubs.

    logstash-plugin install logstash-input-azureeventhub
    
  4. إنشاء أو تعديل ملف التكوين Logstash الموجودة مع المحتويات التالية: إذا كنت تقوم بإنشاء الملف، يجب أن يتم إنشاؤه عند /opt/bitnami/logstash/conf/access-log.conf استخدام صورة ELK Bitnami في Azure.

    input
    {
        azureeventhub
        {
            key => "[RECEIVER-POLICY-KEY-FOR-EVENT-HUB]"
            username => "[RECEIVER-POLICY-NAME]"
            namespace => "[EVENTHUB-NAMESPACENAME]"
            eventhub => "[EVENTHUB-NAME]"
            partitions => 4
        }
    }
    
    output {
         elasticsearch {
             hosts => [ "127.0.0.1:9200" ]
         }
     }
    
  5. للتحقق من التكوين، قم بتشغيل الأمر التالي:

    /opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
    
  6. بدء تشغيل خدمة Logstash

    sudo /opt/bitnami/ctlscript.sh start logstash
    
  7. قم بالتحقق من Elasticsearch للتأكد من تلقيك للبيانات

    curl 'localhost:9200/_cat/indices?v'
    
  8. قم بالوصول إلى لوحة معلومات Kibana على http://SERVER-IP وأدخل اسم المستخدم وكلمة المرور الخاصين بـ Kibana. إذا كنت تستخدم صورة ELK في Azure، يكون اسم المستخدم الافتراضي هو 'user' وكلمة المرور هي التي تم الحصول عليها من Boot Diagnostics.

    تظهر لقطة شاشة لوحة معلومات Kibana لتصور النظام الأساسي وسجلات التطبيقات.

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

في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:

  • الحصول على خادم ELK وتشغيلها في Azure
  • تكوين الخادم لتلقي معلومات العلامات المميزة من مجموعة "Service Fabric"

تقدم إلى البرنامج التعليمي الآتي: