اذهب إلى المحتوى

البحث في الموقع

المحتوى عن 'monitoring'.

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • مقالات برمجة عامة
  • مقالات برمجة متقدمة
  • PHP
    • Laravel
    • ووردبريس
  • جافاسكربت
    • لغة TypeScript
    • Node.js
    • React
    • Vue.js
    • Angular
    • jQuery
    • Cordova
  • HTML
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • لغة C#‎
    • ‎.NET
    • منصة Xamarin
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • لغة Rust
  • برمجة أندرويد
  • لغة R
  • الذكاء الاصطناعي
  • صناعة الألعاب
  • سير العمل
    • Git
  • الأنظمة والأنظمة المدمجة

التصنيفات

  • تصميم تجربة المستخدم UX
  • تصميم واجهة المستخدم UI
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب GIMP
    • كريتا Krita
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • مقالات DevOps عامة
  • خوادم
    • الويب HTTP
    • البريد الإلكتروني
    • قواعد البيانات
    • DNS
    • Samba
  • الحوسبة السحابية
    • Docker
  • إدارة الإعدادات والنشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • مقالات عمل حر عامة
  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • العمل الحر المهني
    • العمل بالترجمة
    • العمل كمساعد افتراضي
    • العمل بكتابة المحتوى

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
    • بريستاشوب
    • أوبن كارت
    • دروبال
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
    • Trados
    • Memsource
  • برامج تخطيط موارد المؤسسات ERP
    • تطبيقات أودو odoo
  • أنظمة تشغيل الحواسيب والهواتف
    • ويندوز
    • لينكس
  • مقالات عامة

التصنيفات

  • آخر التحديثات

أسئلة وأجوبة

  • الأقسام
    • أسئلة البرمجة
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات

التصنيفات

  • كتب ريادة الأعمال
  • كتب العمل الحر
  • كتب تسويق ومبيعات
  • كتب برمجة
  • كتب تصميم
  • كتب DevOps

ابحث في

ابحث عن


تاريخ الإنشاء

  • بداية

    نهاية


آخر تحديث

  • بداية

    نهاية


رشح النتائج حسب

تاريخ الانضمام

  • بداية

    نهاية


المجموعة


النبذة الشخصية

تم العثور على 3 نتائج

  1. المراقبة هي جزء مهم من إدارة الخواديم والخدمات الأساسية؛ تُراقَب معظم الخدمات الشبكية للأداء (performance) أو التوفر (availability) أو كليهما؛ سيَشرح هذا الفصل طريقة تثبيت وضبط Nagios لمراقبة التوفر، و Munin لمراقبة الأداء. سنستخدم في أمثلة هذا الفصل خادومين بأسماء server01 و server02؛ سيُضبَط server01 مع Nagios لمراقبة الخدمات التي عليه وعلى الخادوم server02؛ وسيُضبَط server01 مع Munin لجمع المعلومات من الشبكة، باستخدام حزمة munin-node، وسيُضبَط server02 لكي يُرسِل المعلومات إلى server01. نأمل أن تساعدك هذه الأمثلة البسيطة في مراقبة الخواديم والخدمات الإضافية في شبكتك. Nagiosالتثبيتأولًا، ثبت الحزمة nagios على خادوم server01، وذلك بإدخال الأمر الآتي في الطرفية: sudo apt-get install nagios3 nagios-nrpe-pluginسيُطلَب منك إدخال كلمة مرور لمستخدم nagiosadmin، تصاريح المستخدم مخزنة في ‎/etc/nagios3/htpasswd.users. ولتعديل كلمة مرور nagiosadmin أو إضافة مستخدمين آخرين إلى سكربتات Nagios CGI، فاستخدم htpasswd الذي هو جزء من حزمة apache2-utils. على سبيل المثال، لتغيير كلمة المرور لمستخدم nagiosadmin: sudo htpasswd /etc/nagios3/htpasswd.users nagiosadminلإضافة مستخدم جديد: sudo htpasswd /etc/nagios3/htpasswd.users steveالآن على خادوم server02، ثبِّت الحزمة nagios-nrpe-server؛ بتنفيذ الأمر الآتي على server02: sudo apt-get install nagios-nrpe-serverملاحظة: سيسمح NRPE لك بتنفيذ فحوصات محلية على الأجهزة البعيدة، هنالك طرق أخرى للقيام بذلك عبر إضافات Nagios أخرى. لمحة عن الضبطهنالك عدة مجلدات تحتوي على ضبط Nagios وملفات التحقق (check files). ‎/etc/nagios3: يحتوي على ملفات الضبط لعمل عفريت nagios، وملفات CGI، والمضيفين ...إلخ.‎/etc/nagios-plugins: يحتوي ملفات الضبط للتحقق من الخدمات.‎/etc/nagios: في المضيفين البعيدين، ويحتوي على ملفات ضبط nagios-nrpe-server.‎/usr/lib/nagios/plugins/‎: المكان الذي تخزَّن فيه ملفات التحقق الثنائية، استخدم الخيار ‎-h لمشاهدة المساعدة لتحققٍ ما. مثال: ‎/usr/lib/nagios/plugins/check_dhcp -hهنالك وفرة في التحققات التي يمكن ضبط Nagios ليجريها على أي مضيف؛ سيُضبَط Nagios في هذا المثال للتحقق من مساحة القرص الصلب المتوفرة و DNS و MySQL؛ سيُجرى تحقق DNS على server02 وتحقق MySQL على server01 و server02. هنالك بعض المصطلحات التي عندما تُشرَح ستُسهِّل فهم ضبط Nagios: المضيف (host): خادوم أو محطة عمل (workstation)، أو جهاز شبكي ...إلخ. الذي يُراقَب.مجموعة مضيفين (host group): مجموعة من المضيفين المتشابهين؛ على سبيل المثال، تستطيع أن تُجمِّع كل خواديم الويب أو خواديم الملفات ...إلخ.الخدمة (service): الخدمة التي تُراقَب في المضيف، مثل HTTP أو DNS أو NFS ...إلخ.مجموعة الخدمات (service group): تسمح لك بجمع عدِّة خدمات متشابهة مع بعضها بعضًا، هذا مفيد لتجميع عدّة خدمات HTTP على سبيل المثال.جهة الاتصال (contact): الشخص الذي سيُنبَّه عندما يحدث حدثٌ ما؛ يمكن ضبط Nagios ليرسل بريدًا إلكترونيًا أو رسائل SMS ...إلخ.افتراضيًا، يكون ضبط Nagios ليتحقق من HTTP، والمساحة التخزينية المتوفرة في القرص، و SSH، والمستخدمين الحاليين، والعمليات، والحِمل على localhost؛ سيتحقق Nagios أيضًا من البوابة بعمل ping لها. تثبيتات Nagios الضخمة قد يصبح ضبطها معقدًا جدًا، لذلك من الأفضل عادةً البدء بمضيف واحد أو اثنين ثم التوسع بعد ضبطهما جيدًا. الضبطأولًا، أنشئ ملف ضبط للمضيف للخادوم server02؛ ما لم يُذكر عكس ذلك، فعليك تنفيذ هذه الأوامر على server01؛ أدخِل ما يلي في الطرفية: sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg \ /etc/nagios3/conf.d/server02.cfgملاحظة: في الأوامر السابقة أو التالية استبدل «server01» و «server02» و 172.18.100.100 و 172.18.100.101 بأسماء المضيفين وعناوين IP لخادومَيك. ثم عدِّل الملف ‎/etc/nagios3/conf.d/server02.cfg: define host{ use generic-host ; Name of host template to use host_name server02 alias Server 02 address 172.18.100.101 } # check DNS service. define service { use generic-service host_name server02 service_description DNS check_command check_dns!172.18.100.101 }أعد تشغيل عفريت nagios لتفعيل الضبط الجديد: sudo service nagios3 restartأضف الآن تعريفًا للتحقق من MySQL بإضافة ما يلي إلى ‎/etc/nagios3/conf.d/‎ services_nagios.cfg: # check MySQL servers. define service { hostgroup_name mysql-servers service_description MySQL check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS use generic-service notification_interval 0 ; set > 0 if you want to be renotified }يجب الآن تعريف مجموعة المضيفين mysql-servers؛ عدِّل الملف ‎/etc/nagios3/conf.d ‎/hostgroups_nagios2.cfg مضيفًا: # MySQL hostgroup. define hostgroup { hostgroup_name mysql-servers alias MySQL servers members localhost, server02 }يحتاج Nagios لأن يستوثق إلى MySQL، فأضف مستخدم nagios إلى MySQL بإدخال الأمر: mysql -u root -p -e "create user nagios identified by 'secret';"ملاحظة: يجب أن يتواجد المستخدم nagios في كل المضيفين في مجموعة mysql-servers. أعد تشغيل nagios ليبدأ التحقق من خواديم MySQL: sudo service nagios3 restartأخيرًا، اضبط NRPE للتحقق من المساحة الفارغة في القرص على الخادوم server02. أضف التحقق من الخدمة في server01 في ملف ‎/etc/nagios3/conf.d/server02.cfg: # NRPE disk check. define service { use generic-service host_name server02 service_description nrpe-disk check_command check_nrpe_1arg!check_all_disks!172.18.100.101 }الآن على الخادوم server02، عدِّل الملف ‎/etc/nagios/nrpe.cfg مغيّرًا: allowed_hosts=172.18.100.100ثم في منطقة تعريف الأمر أضف ما يلي: command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -eفي النهاية، أعد تشغيل nagios-nrpe-server: sudo service nagios-nrpe-server restartوأيضًا على الخادوم server01 أعد تشغيل nagios: sudo service nagios3 restartيجب أن تكون قادرًا على رؤية المضيف والتحقق من الخدمات في ملفات Nagios CGI؛ للوصول إليهم، وجِّه متصفحك إلى http://server01/nagios3؛ ثم ستُسأل عن اسم مستخدم nagiosadmin وكلمة مروره. مصادرلم يشرح هذا القسم من الدرس إلا القليل من ميزات Nagios؛ تحتوي الحزمتين nagios-plugins-extra و nagios-snmp-plugins على المزيد من تحققات الخدمات. للمزيد من المعلومات، راجع موقع Nagios، تحديدًا موقع «التوثيق».هنالك قائمة بالكتب المتعلقة بمراقبة الشبكة و Nagios.صفحة ويكي أوبتتو «Nagios» فيها بعض التفاصيل الإضافية.Muninالتثبيتقبل تثبيت Munin على server01، فيجب أن يُثبَّت قبله apache2؛ الضبط الافتراضي كافٍ لتشغيل خادوم munin. أولًا، ثبت munin على الخادوم server01 بإدخال الأمر: sudo apt-get install muninالآن ثبِّت الحزمة munin-node على الخادوم server02: sudo apt-get install munin-nodeالضبطعدِّل الملف ‎/etc/munin/munin.conf على الخادوم server01 مُضيفًا عنوان IP للخادوم server02: ## First our "normal" host. [server02] address 172.18.100.101ملاحظة: استبدل server02 و 172.18.100.101 باسم المضيف وعنوان IP الحقيقي لخادومك. الآن اضبط munin-node على الخادوم server02، بتعديل ‎/etc/munin/munin-node.conf للسماح بالوصول إلى الخادوم server01: allow ^172\.18\.100\.100$ملاحظة: استبدل ‎^172\.18\.100\.100$ بعنوان IP لخادوم Munin الخاص بك. أعد تشغيل munin-node على server02 لكي تأخذ التعديلات مجراها: sudo service munin-node restartفي النهاية، وجِّه متصفحك إلى http://server01/munin، يجب أن ترى روابط إلى مخططات بيانية جميلة تعرض معلومات من الحزمة القياسية munin-plugins للقرص والشبكة والعمليات والنظام. ملاحظة: لما كان هذا التثبيت حديثًا، فربما ستحتاج لبعض الوقت لعرض معلومات مفيدة. إضافات أخرىتحتوي حزمة munin-plugins-extra على تحققات من أداء خدماتٍ إضافية مثل DNS و DHCP، وسامبا ...إلخ. أدخل الأمر الآتي لتثبيت هذه الحزمة: sudo apt-get install munin-plugins-extraتأكد من تثبيت هذه الحزمة على جهازَيّ الخادوم والعقدة. مصادرراجع موقع Munin لمزيدٍ من التفاصيل.تحديدًا صفحة «توثيق Munin» التي تحتوي على معلومات عن الإضافات الأخرى، وكيفية كتابة إضافات ...إلخ.مصدر آخر هو صفحة ويكي أوبنتو «Munin».ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Monitoring.
  2. أكملنا في الأجزاء السابقة من هذه السّلسلة إعداد خواديم التطبيقات، خطط الاسترداد، وآليات النسخ الاحتياطي. سنضبط في هذا الدرس إعداد المراقبة Monitoring لكي نكون على اطّلاع في أية لحظة بحالة عمل الخواديم والخدمات. تتيح برامج المراقبة مثل Nagios، Icinga وZabbix إمكانية إنشاء لوحات قيادة Dashboards وإشعارات تريك عناصر الإعداد التي تحتاج لاهتمام خاص. الهدف هو اكتشاف المشاكل والبدء في إصلاحها قبل أن تؤثر على المستخدمين النهائيين للتطبيق. سنعد في هذا الدرس المراقبة باستخدام Nagios 4 ونثبت عملاء NRPE (إضافة تتيح تنفيذ أوامر Nagios على أجهزة أخرى) على الخواديم التي تكون التطبيق. سنعد المراقبة على كل واحد من الخواديم لمعرفة هل الخادوم نشط وما إذا كانت العملية الرئيسة عليه (على سبيل المثال MySQL، Apache أو HAProxy) تعمل أم لا. لا يشمل هذا الدرس كل جوانب المراقبة، لذا قد تحتاج لإجراء فحوص إضافية لا يتناولها هذا الدّرس؛ إلا أنه يبقى نقطة جيدة للبدء. المتطلباتأنشئ، إن أردت الوصول إلى لوحة المراقبة عبر نطاق خاص مثل monitoring.example.com، سجلا من نوع A يحيل إلى عنوان IP العمومي الخاص بخادوم المراقبة. أو يمكنك بدلا من ذلك الوصول إلى لوحة القيادة في خادوم المراقبة باستخدام عنوانه العمومي. يُنصح بإعداد خادوم المراقبة لاستخدام HTTPS وتقييد الوصول إليه بوضعه في شبكة خاصة افتراضية. تثبيت Nagios على خادوم المراقبةاضبط Nagios على خادوم المراقبة باتباع الدرس التالي: كيف تستخدم Nagios 4 لمراقبة خواديم Ubuntu 14.04. إن رغبت في استخدام Icinga الذي هو اشتقاق من Nagios فدرس كيف تستخدم Icinga لمراقبة خواديمك وخدماتك على Ubuntu 14.04 يشرح الطريقة. توقف عند فقرة مراقبة مستضيف Ubuntu بواسطة عملاء NRPE. إضافة الخواديم إلى Nagiosطبق خطوات فقرة مراقبة مستضيف Ubuntu بواسطة عملاء NRPE من درس Nagios السابق على كل واحد من الخواديم (app2،app1، db1 وlb1). تأكد من إضافة عنوان IP الخادوم أو اسم مستضيفه الخاص إلى allowed_hosts في ملف إعداد NRPE. يجب أن يكون لديك بعد الانتهاء من إضافة المستضيفات ملف منفصل لكل خادوم: app2.cfg،app1.cfg،db1.cfg، وlb1.cfg. يتضمن كل ملف تعريف المستضيف الذي يحيل إلى اسمه وعنوانه (قد يكون العنوان اسم المستضيف أو عنوان IP الخاص بالخادوم). إعداد المستضيف ومراقبة الخدمةنبدأ بإعداد لائحة لما نريد مراقبته على كل خادوم. نراقب، على كل خادوم، الخدمات التالية: Ping.SSH.الحمل الجاري Current Load.المستخدمون الحاليون Current users.المساحة المستخدمة من القرص الصلب Disk Utilization.تعريف الخدمات المشتركةأعددنا Nagios في الدرس المُشار إليه سابقا ليرقُب الملفات الموجودة في المجلد usr/local/nagios/etc/servers/. سننشئ ملف إعداد Nagios للخدمات المشتركة التي نريد مراقبته؛ نسمي الملف common.cfg. افتح أولا ملف الإعداد لتحريره: sudo nano /usr/local/nagios/etc/servers/common.cfgأضف تعريفات الخدمات التالية، مع تحديد قيمة host_name (أسماء المستضيفات الخاصة بالخواديم، عُرِّفت سابقا ضمن ملفات app2.cfg،app1.cfg،db1.cfg، وlb1.cfg): define service { use generic-service host_name db1,app1,app2,lb1 service_description PING check_command check_ping!100.0,20%!500.0,60% } define service { use generic-service host_name db1,app1,app2,lb1 service_description SSH check_command check_ssh notifications_enabled 0 } define service { use generic-service host_name db1,app1,app2,lb1 service_description Current Load check_command check_nrpe!check_load } define service { use generic-service host_name db1,app1,app2,lb1 service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name db1,app1,app2,lb1 service_description Disk Utilization check_command check_nrpe!check_hda1 } احفظ الملف ثم أغلقه. بالإمكان الآن الانتقال لتعريف الخدمات الخاصة بكل خادوم. نبدأ بخادوم قاعدة البيانات. تعريف عملية MySQLإنشاء أمر NRPE (على العميل)سنضبط أمر NRPE جديدا على خادوم قاعدة البيانات، db1. افتح ملف إعداد NRPE جديدا، commands.cfg: sudo nano /etc/nagios/nrpe.d/commands.cfgأضف تعريف الأمر التالي: command[check_mysqld]=/usr/lib/nagios/plugins/check_procs -c 1: -C mysqldاحفظ الملف ثم أغلقه. يتيح الأمر لـNRPE فحص عملية Process باسم mysqld والإبلاغ عن حالة حرجة Critical status إن كان هناك أقل من عملية واحدة نشطة بهذا الاسم. أعد تحميل إعداد NRPE: sudo service nagios-nrpe-server reloadإنشاء تعريف الخدمة (على الخادوم)نحتاج لتعريف خدمة جديدة على خادوم monitoring (خادوم المراقبة) لاستخدام NRPE لتشغيل أمر check_mysqld السابق. افتح الملف الذي يعرف مستضيف قاعدة البيانات، db1.cfg في مثالنا: sudo nano /usr/local/nagios/etc/servers/db1.cfgأضف تعريف الخدمة التالي في آخر الملف (تأكد من أن قيمة host_name تطابق اسم تعريف المستضيف): define service { use generic-service host_name db1 service_description Check MySQL Process check_command check_nrpe!check_mysqld }احفظ الملف ثم أغلقه. يُعد تعريف الخدمة أعلاه Nagios لاستخدام NRPE لتنفيذ أمر check_mysqld على خادوم قاعدة البيانات. تجب إعادة تحميل Nagios لاعتماد التغييرات. إلا أننا سننتقل أولا لمراقبة عملية Apache أولا. تعريف عملية Apacheإنشاء أمر NRPE (على العميل)نضبط أمر NRPE جديدا على كلٍّ من خادومي التطبيق: sudo nano /etc/nagios/nrpe.d/commands.cfgثم نضيف تعريف الأمر التالي: command[check_apache2]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C apache2احفظ الملف ثم أغلقه. يسمح الأمر لNRPE بالتحقق من وجود عملية باسم apache2 والإبلاغ عن حالة حرجة إن لم توجد عملية بهذا الاسم وإصدار تحذير إن وجدت أقل من ثلاث عمليات. نعيد تحميل إعداد NRPE: sudo service nagios-nrpe-server reloadتأكد من تنفيذ الخطوات على جميع خواديم التطبيقات. إنشاء تعريف الخدمة (على الخادوم)نحتاج تعريف خدمة جديدة تستخدم أمر check_apache2 على خادوم المراقبة monitoring. افتح الملف الذي يعرف مستضيف التطبيق (يوجد في حالتنا اثنان: app1 وapp2): sudo nano /usr/local/nagios/etc/servers/app1.cfgأضف تعريف الخدمة التالي في آخر الملف (تأكد من أن قيمة host_name تطابق اسم تعريف المستضيف): define service { use generic-service host_name app1 service_description Check Apache2 Process check_command check_nrpe!check_apache2 }احفظ الملف ثم أغلقه. يعد تعريف الخدمة Nagios لاستخدام NRPE لتنفيذ أمر check_apache2 على خادوم التطبيق. تأكد من تكرار الخطوة على كل واحد من خواديم التطبيقات. تعريف عملية HAProxyإنشاء أمر NRPE (على العميل)نعد أمر NRPE على خادوم توزيع الحمل lb1 بنفس طريقة إعداده في الخواديم السابقة: sudo nano /etc/nagios/nrpe.d/commands.cfgونضيف تعريف الأمر التالي: command[check_haproxy]=/usr/lib/nagios/plugins/check_procs -c 1: -C haproxyاحفظ الملف ثم أغلقه. يعد تعريف الخدمة السابق NRPE للتحقق من عملية باسم haproxy ثم الإبلاغ عن حالة حرجة إن كان عدد العمليات بهذا الاسم أصغر من 1. نعيد تحميل إعداداتت NRPE: sudo service nagios-nrpe-server reloadإنشاء تعريف الخدمة (على الخادوم)نضيف تعريف خدمة جديدا على خادوم monitoring ليستخدم أمر check_haproxy؛ بنفس الطريقة المشروحة سابقا. sudo nano /usr/local/nagios/etc/servers/lb1.cfgنضيف التعريف التالي في نهاية الملف: define service { use generic-service host_name lb1 service_description Check HAProxy Process check_command check_nrpe!check_haproxy }يعد التعريف Nagios لاستخدام NRPE في تنفيذ الأمر check_haproxy على خادوم توزيع الحمل. تجب إعادة تحميل Nagios من أجل اعتماد التعديلات. إعادة تحميل Nagiosنعيد تحميل Nagios عبر تنفيذ الأمر التالي من أجل اعتماد التعديلات السابقة: sudo service nagios reloadإن لم توجد أخطاء في صياغة الأوامر والتعريفات فيُعاد تحميل Nagios دون مشاكل. التحقق من خدمات Nagiosيجب أن نتأكد من أن Nagios يراقب جميع الخواديم والخدمات التي عرفناها. ادخل إلى خادوم Nagios باستخدام اسم المستضيف العمومي أو عنوان IP (مثلا http://monitoring.example.com/nagios؛ أدخِل بيانات الدخول التي أعددتها أثناء تثبيت Nagios. انقر رابط الخدمات Services في القائمة الجانبية؛ يجب أن تظهر لديك صفحة تشبه ما يلي: الوضعية المثالية هي أن تكون كل المستضيفات والخدمات على حالة OK. يمكن أن نرى في لقطة الشاشة السابقة وجود مشكلة في خادوم التطبيق app2؛ ويرجع ذلك إلى أنه كان مطفأ في أغلب فحوص الحالة الأخيرة. إن وجدت خدمات بحالة مغايرة لOK فأصلحها؛ وإن كانت جميع الخدمات بحالة جيدة فراجع إعدادات Nagios بحثا عن أخطاء ربما تكون أدت لإبلاغ غير صحيح عن حالة الخدمات. اعتبارات أخرىقد ترغب في إنشاء خطة استرداد لخادوم المراقبة، ملفات الإعداد الواجب نسخها إن أردت ذلك توجد في المجلد usr/local/nagios/etc/. يمكن أيضا أن تعدّ Nagios لمراقبة خدمات أخرى مثل البريد الإلكتروني. خاتمةيمكّن خادوم المراقبة من الحصول على حالة الخدمات والخواديم بمجرد إلقاء نظرة على لوحة المراقبة. يساعد خادوم المراقبة، عند حدوث مشاكل، في تحديد الخادوم والخدمة التي لا تعمل بطريقة صحيحة وهو ما يعينك في تخفيض زمن توقف Downtime الخاص التطبيق. في الجزء الموالي من الدليل سنعرض لكيفية إعداد سجلات مركزية لتطبيقات الويب في بيئة الإنتاج. ترجمة -وبتصرّف- لمقال Building for Production: Web Applications — Monitoring لصاحبه Mitchell Anicas.
  3. في هذا الدرس، سنشرح طريقة تثبيت Icinga على Ubuntu 14.04. نظام المراقبة Icinga هو نظام مفتوح المصدر لمراقبة الخواديم والخدمات. سنغطّي بعض الإعدادات الأساسية التي ستجعلك قادرًا على مراقبة خدمات الشبكة وموارد الجهاز المستضيف عبر واجهة الويب. سنستخدم أيضًا مشغّل ملحق Nagios البعيد (NRPE - Nagios Remote Plugin Executor)، والذي سيتم تثبيته كعميل (agent) على أنظمة بعيدة (remote systems) لمراقبة مواردها المحلّية (استخدام الأقراص، عدد المستخدمين المسجّلين للدخول.. إلخ). Icinga هو عبارة عن تطبيق مراقبة أنظمة شهير ومفتوح المصدر يعمل على مراقبة الأجهزة المستضيفة والخدمات، ويقوم أيضًا بتنبيهك دوريًا عن حالتها. Icinga هو عبارة عن اشتقاق (Fork) من Nagios، لذا فهما متوافقان مع بعضهما البعض ويتشاركان بالعديد من الأمور، وقد اكتسب Icinga شعبيةً بسبب عملية تطويره الأكثر سرعةً مقارنةً بـNagios. المتطلباتلإكمال هذا الدرس، ستحتاج إلى إمكانية استخدام صلاحيات الجذر على خادوم Ubuntu 14.04. يمكن العثور على إرشادات إعداد هذه الصلاحيات من هنا. أيضًا، إذا كنتَ تريد إعداد ميّزة التنبيه عبر البريد الإلكتروني، فستحتاج إلى القيام بإعداد Postfix بطريقةٍ صحيحة. يمكن العثور على إرشادات القيام بذلك من هنا. يتم تثبيت Postfix مع حزم Icinga، ولكن يمكن إعداده لاحقًا بعد أن يتم تثبيت Icinga. تثبيت Icingaسينقوم بتثبيت Icinga باستخدام الحزم. أيضًا، سنقوم باستخدام MySQL كقاعدة بيانات. قم بتطبيق الأمر التالي لإضافة مستودع Icinga إلى مدير الحزم الخاصّ بك: sudo add-apt-repository ppa:formorer/icingaثمّ قم بتحديث قاعدة الحزم الخاصّة بك: sudo apt updateوالآن قم بتثبيت Icinga وMySQL عبر الأمر: sudo apt install icinga icinga-doc icinga-idoutils mysql-server libdbd-mysql mysql-clientسيتم سؤالك عن أكثر من شيء أثناء عملية التثبيت. إليك قائمة بالأمور التي سيتم سؤالك عنها وكيف يجب أن تجاوب عليها: إعداد MySQL: قم بإدخال كلمة مستخدم جذر جديدة لـMySQL.إعداد Postfix: اختر "Internet Site".إعداد Postfix: قم بإدخال نطاقك المؤهّل الذي تستعمله (example.com مثلًا).إعداد icinga-cgi: قم بإدخال كلمة مرور للمستخدم "icingaadmin" (ستحتاجها لتسجيل الدخول إلى لوحة التحكّم لاحقًا).إعداد icinga-common: اختر "No" لتفعيل الأوامر الخارجية.إعداد icinga-idoutils: اختر "Yes" لإعداد قاعدة بيانات لـicinga-idoutils باستخدام dbconfig-common.إعداد icinga-idoutils: اختر "mysql" كنوع قاعدة البيانات.إعداد icinga-idoutils: أدخل كلمة مرور المستخدم الجذر (root) الخاصّ بقاعدة البيانات (التي قمتَ بإدخالها أولًا).إعداد icinga-idoutils: قم بإدخال كلمة مرور جديدة لمستخدم قاعدة البيانات الخاصّة بـicinga-idoutils.هكذا يكون تثبيت Icinga مكتملًا، ولكننا مانزال بحاجة إلى إعداد بضع أمور قبل أن نتمكّن من تشغيله. لاحظ أنّ خادوم Apache وPostfix قد تمّ تثبيتهما تلقائيًا أثناء تثبيت Icinga كاعتماديات. قم بإضافة المستخدم الرئيسي لخادوم Apache والذي يدعى www-data إلى مجموعة nagios: sudo usermod -a -G nagios www-dataقم بتفعيل عفريت ido2db لكي يبدأ عند الإقلاع، والذي يقوم بتخزين أحداث وإعدادات Icinga في قاعدة البيانات. لتعديل إعدادات Icinga الافتراضية: sudo vi /etc/default/icingaقم بتغيير قيمة IDO2DB إلى yes لتبدو بالشكل التالي: IDO2DB=yesاحفظ الملفّ واخرج، وقم بإعادة تشغيل خدمة ID02DB: sudo service ido2db startقم بتفغيل وحدة idomod عبر نسخ ملفّ عيّنة idoutils.cfg إلى مجلّد إعدادات Icinga الحالي: sudo cp /usr/share/doc/icinga-idoutils/examples/idoutils.cfg-sample /etc/icinga/modules/idoutils.cfgوالآن أصبح Icinga مضبوطًا وجاهزًا للبدء: sudo service icinga restartوالآن فلنجرّب واجهة Icinga الرسومية. الوصول إلى واجهة Icinga الرسوميةاذهب إلى http://yourhost/icinga ، وقم بتسجيل الدخول باستخدام مستخدم icingaadmin وكلمة المرور الخاصّة به اللذان قمت بإعدادهما مسبقًا. يجب أن ترى أنّه Icinga يقوم حاليًا بمراقبة مستضيفٍ واحدٍ فقط هو localhost (خادومك الحالي) و7 خدمات كالتالي: يعرض الصفّ الأوّل أنّ المستضيف الوحيد الذي يتم مراقبته حاليًا فعّال، ويظهر الصفّ السفلي أنّه هناك 7 خدمات يتم مراقبتها حاليًا وتعمل بشكلٍ جيّد. إذا كانت حالة localhost هي "Down"، فحينها ربّما تحتاج إلى تغيير صلاحيات الأمر ping الخاصّ بك. شغّل الأمر التالي للسماح للمستخدم nagios باستخدام الأمر ping: sudo chmod u+s `which ping`طرق المراقبة بواسطة Icingaهناك طريقتان رئيسيتان لمراقبة المستضيفين والخدمات بواسطة Icinga: مراقبة "الخدمات العموميّة المتوفّرة".المراقبة عبر عميل مثبّت على جهاز مستضيف (host) بعيد لجمع وإرسال البيانات إلى Icinga. عند استخدام الطريقة الأولى، تشير الخدمات العمومية العامّة إلى الخدمات التي يمكن الوصول إليها عبر الشبكة المحلّية أو الإنترنت. الأمثلة الأكثر شيوعًا لذلك هي HTTP, البريد، SSH وICMP Ping. هذه الطريقة مفيدة لمراقبة الأنظمة التي لا يمكنك (أو لا تريد) تثبيت عميل (agent) عليها، وأيضًا لمراقبة واجهات الشبكة المقابلة للمستخدم. لتضمين الطريقة الثانية، سنقوم بتثبيت NRPE كعميل خاصّ بنا على المستضيفين البعيدين (remote hosts) لمراقبة مواردهم المحلّية. سيسمح هذا لـIcinga بمراقبة أشياء مثل استخدام القرص، العمليات التي تعمل حاليًا وأمورٍ أخرى بالنظام لا يمكن للطريقة الأولى مراقبتها. الطريقة 1: مراقبة الخدمات العمومية المتوفرةبسبب أنّ الطريقة الأولى تقوم ببساطة بمراقبة الخدمات المُشغّلة حاليًا، فإنّ إعداد هذه الطريقة سيكون بأكمله على خادوم Icinga. يمكن مراقبة العديد من الأشياء باستخدام هذه الطريقة، لذا سنوضّح كيفية مراقبة واجهة عمومية (public interface) لخادوم ويب. أنشئ ملفًّا باسم المستضيف الخاصّ بك، باستخدام هذا الأمر (استبدل yourhost باسم المستضيف عندك): sudo vi /etc/icinga/objects/yourhost.cfgالآن قم بإضافة السطور التالية، حيث ستستبدل host_name باسم المستضيف الخاصّ بك (في كلا المكانين)، alias بوصف للمستضيف و address بعنوان الـIP العمومي الخاصّ بالمستضيف: define host { use generic-host host_name web-1 alias A Web Server address 107.170.xxx.xxx } define service { use generic-service host_name web-1 service_description HTTP check_command check_http }احفظ الملفّ واخرج، وقم بإعادة تحميل إعدادات خدمة Icinga لكيّ تأخذ التغييرات مجراها: sudo service icinga reloadالطريقة 2: المراقبة باستعمال عميل (Agent)كما ذكرنا سابقًا، سنستخدم NRPE كعميلنا الافتراضي لجلب البيانات من مستضيفٍ بعيد إلى Icinga. هذا يعني أنّه يجب تثبيت NRPE على جميع الأجهزة والخواديم المستضيفة التي سيتم مراقبتها باستخدام هذه الطريقة، وسيجب أيضًا إعداد خادوم Icinga ليستقبل البيانات من كلّ الأجهزة المستضيفة (hosts). فلنقم بتثبيت NRPE. تثبيت NRPE على مستضيف بعيدقم بتطبيق الأمر التالي على الخادوم الذي تريد أن يتم مراقبته لتحديث قاعدة بيانات الحزم: sudo apt updateوالآن قم بتثبيت NRPE وملحقات Nagios: sudo apt install nagios-plugins nagios-nrpe-serverابحث عن اسم نظام ملفّات الجذر الخاصّ بك (لأنّه واحدٌ من الأشياء التي نريد مراقبتها): df -h /سنستخدم اسم نظام الملفّات في إعدادات NRPE لمراقبة استخدام القرص الصلب (سيكون غالبًا /dev/vda/). الآن قم بفتح ملفّ nrpe.cfg للتعديل: sudo vi /etc/nagios/nrpe.cfgملفّ إعدادات NRPE طويلٌ جدًا ومليء بالتعليقات. هناك القليل من السطور التي يجب عليك تعديلها فقط: server_address: قم بتغييره إلى عنوان الـIP الخاصّ لهذا المستضيف.allowed_hosts: قم بتعيين هذا إلى عنوان الـIP الخاصّ لخادوم Icinga الخاصّ بك.[command[check_hda1: غيّر dev/hda1/ إلى اسم نظام الملفّات الجذر الخاصّ بك الذي حصلت عليه من الخطوة السابقة.يجب أن تبدو السطور الثلاثة كشيءٍ مشابه للتالي بعد التعديل: server_address=client_private_IP allowed_hosts=nagios_server_private_IP command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vdaلاحظ أنّه هناك العديد من الأوامر الأخرى المعرّفة في هذا الملفّ التي سيتم تشغيلها في حال ما إذا تمّ ضبط Icinga ليستعملها. لاحظ كذلك أنّ NRPE سيعمل على المنفذ 5666 لأنّ الخيار server_port مضبوط على القيمة 5666. إذا كنتَ تمتلك أيّ جدارٍ ناري يمنع ذلك المنفذ، فيجب عليك فتحه لخادوم Icinga. احفظ الملفّ واخرج، وقم بإعادة تشغيل NRPE ليتم تطبيق التغييرات: sudo service nagios-nrpe-server restartبمجرّد ما أن تنتهي من تثبيت وإعداد NRPE على أجهزة المستضيفين التي تريد مراقبتها، سيجب عليك إضافة هؤلاء المستضيفين (hosts) إلى إعدادات خادوم Icinga الخاصّ بك قبل أن يبدأ بمراقبتهم. إضافة مستضيف بعيد إلى إعدادات خادوم Icingaعلى خادوم Icinga الخاصّ بك، قم بإنشاء ملفّ إعداداتٍ جديد لكلّ واحدٍ من الأجهزة المستضيفة البعيدة التي تريد مراقبتها في etc/icinga/objects/ واستبدل yourhost باسم المستضيف الذي تريده: sudo vi /etc/icinga/objects/yourhost.cfgقم بإضافة تعريف المستضيف التالي إلى الملفّ، واستبدل قيمة host_name باسم المستضيف البعيد الخاصّ بك (استعملتُ wordpress-1 في مثالي)، قيمة alias بوصف للمستضيف وقيمة address بعنوان الـIP الخاصّ للمستضيف البعيد: define host { use generic-host host_name wordpress-1 alias My first wordpress server address 10.128.xxx.xxx }ثمّ قم بإضافة أيّ واحدٍ من أقسام الخدمات التي تريد مراقبتها. لاحظ أنّ قيمة check_command تحدد مالذي سيتم مراقبته. إليك بعض الأمثلة على ما يمكنك إضافته إلى ملفّ الإعدادات الخاصّ بالمستضيف البعيد الخاصّ بك: Ping: define service { use generic-service host_name wordpress-1 service_description PING check_command check_ping!100.0,20%!500.0,60% }SSH (عند تعيين notifications_enabled إلى 0 فإنّه يتم تعطيل التنبيهات للخدمة) define service { use generic-service host_name wordpress-1 service_description SSH check_command check_ssh notifications_enabled 0 }الحمل(Load): define service { use generic-service host_name wordpress-1 service_description Current Load check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0 }المستخدمون الحاليون: define service { use generic-service host_name wordpress-1 service_description Current Users check_command check_users!20!50 }مساحة القرص: define service { use generic-service host_name wordpress-1 service_description Disk Space check_command check_all_disks!20%!10% }إذا كنت تتسائل عن معنى use generic-service، فهي عبارة عن خيار يقوم ببساطة بجلب قِيَم قالب خدمة يدعى "generic-service" المعرّف افتراضيًا. الآن احفظ الملفّ واخرج. وقم بإعادة تحميل إعدادات Icinga: sudo service icinga reloadمثال على واجهة المستخدمبعد ضبط إعدادات المراقبة على بعض أجهزة المستضيفين بواحدٍ من الطرق المتوفّرة، اذهب إلى واجهة الويب الخاصّة بـIcinga على http://youricingaserver.com/icinga وأدخل اسم المستخدم وكلمة المرور اللذين أدخلتهما أثناء التثبيت. واضغط على رابط "Service Link". يجب أن ترى قائمة بجميع الخدمات التي قمتَ بتجهيزها ليتم مراقبتها حاليًا. كمثال، إليك مستضيفين اثنين يتم مراقبتهما باستخدام ملفّات الإعدادات التي وصفناها بالأعلى. يتم مراقبة خدمة web-1HTTP عبر منفذ HTTP العادي الخاصّ بها، وهي حاليًا تخبرنا أنّ كلّ شيءٍ يعمل بشكلٍ جيّد، وwordpress-1 يخبرنا أيضًا أنّ جميع خدماته التي نراقبها تعمل بشكلٍ جيّد حاليًا. يمتلك Icinga الكثير من المزايا، يمكنك تصفّح واجهة الويب لاستكشاف المزيد عن المستضيفين والخدمات التي تراقبها. الخاتمةالآن وبعد أن صرتَ قادرًا على مراقبة الخواديم التي تريدها والخدمات التي تحددها، ربّما تريد إمضاء المزيد من الوقت في استكشاف الخدمات المهمّة بالنسبة لك والتي تريد مراقبتها. ربّما تودّ أيضًا إعداد التنبيهات عبر البريد الإلكتروني في حال امتلاء القرصّ الصلب الخاصّ بك مثلًا أو تعطّل موقعك الرئيسي، لكي تتمكن من حلّ المشاكل فورًا أو قبل حصولها حتّى. ترجمة -وبتصرف- للمقال: How To Use Icinga To Monitor Your Servers and Services On Ubuntu 14.04 لصاحبه: Mitchell Anicas. حقوق الصورة البارزة: Designed by Freepik.
×
×
  • أضف...