كيفية المراقبة

Edge for Private Cloud ‏v4.18.05

يصف هذا المستند تقنيات مراقبة المكوّنات المتوافقة مع عملية النشر على الموقع الإلكتروني لـ Apigee Edge.

نظرة عامة

يتيح Edge عدة طرق للحصول على تفاصيل عن الخدمات والتحقّق من حالاتها. يسرد الجدول التالي أنواع عمليات التحقّق التي يمكنك إجراؤها على كل خدمة مؤهَّلة:

الخدمة JMX:*
استخدام الذاكرة
Mgmt API:
فحص الخدمة
واجهة برمجة التطبيقات Mgmt API:
حالة المستخدم/المؤسسة/ النشر
واجهة برمجة تطبيقات الإدارة:
axstatus
التحقّق من قاعدة البيانات apigee-service الحالة
خادم الإدارة
معالج الرسائل
Postgres
Qpid
جهاز التوجيه
مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات
* قبل استخدام JMX، عليك تفعيله كما هو описан في مقالة تفعيل JMX.

منافذ مراقبة JMX وManagement API

يتيح كل مكوّن إجراء مكالمات مراقبة JMX وManagement API على منافذ مختلفة. يسرد الجدول التالي منافذ JMX وManagement API لكل نوع من أنواع الخوادم:

المكوّن منفذ JMX منفذ Management API
خادم الإدارة 1099 8080
جهاز التوجيه 1100 8081
معالج الرسائل 1101 8082
Qpid 1102 8083
Postgres 1103 8084

استخدام JMX

إنّ عمليات المراقبة لخادم الإدارة ومعالج الرسائل وQpid وPostgres تستخدم جميعها JMX. ومع ذلك، يتم تفعيل JMX تلقائيًا لخدمة Cassandra فقط، ويتم إيقافه تلقائيًا في كل مكوّنات Edge الأخرى. لذلك، عليك تفعيل JMX بشكلٍ فردي لكل مكوّن قبل أن تتمكّن من رصده.

لا تكون مصادقة JMX مفعَّلة بشكلٍ تلقائي. يمكنك تفعيل مصادقة JMX لجميع المكوّنات باستثناء Cassandra.

تفعيل JMX

يتم تفعيل JMX تلقائيًا فقط لخدمة Cassandra، ويتم إيقافه تلقائيًا لجميع مكونات Edge الأخرى. يصف هذا القسم كيفية تمكين JMX لمكونات Edge الأخرى.

لتفعيل JMX:

  1. عدّل ملف إعداد المكوِّن. يمكنك العثور على هذا الملف في المسار: opt/apigee/edge-component_name/bin/start. في البيئات المخصّصة للنشر، ستكون ملفات الإعدادات هذه على أجهزة مختلفة.

    يمكنك الاختيار من بين مواقع الملفات التالية على كل خادم:

    • خادم الإدارة: /opt/apigee/edge-management-server/bin/start
    • معالج الرسائل: /opt/apigee/edge-message-processor/bin/start
    • ‫Postgres: /opt/apigee/edge-postgres-server/bin/start
    • Qpid: ‏ /opt/apigee/edge-qpid-server/bin/start
    • جهاز التوجيه: /opt/apigee/edge-router/bin/start

    على سبيل المثال، يمكن العثور على ملف إعدادات "خادم الإدارة" على خادمه في /opt/apigee/edge-management-server/bin/start.

  2. أضِف خيارات com.sun.management.jmxremote التالية إلى سطر exec الذي يبدأ المكوّن:
    -Dcom.sun.management.jmxremote \
      -Dcom.sun.management.jmxremote.port=port_number \
      -Dcom.sun.management.jmxremote.local.only=false \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false

    حيث يكون port_number هو منفذ JMX للخدمة. للحصول على رقم منفذ JMX الخاص بالخدمة، يُرجى الاطّلاع على منافذ مراقبة JMX وManagement API.

    على سبيل المثال، لتفعيل JMX على "خادم الإدارة"، أضِف ما يلي إلى ملف إعداد "خادم الإدارة":

    exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \
      -Djava.security.auth.login.config=$conf_path/jaas.config \
      -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \
      -Ddata.dir=$data_dir \
      -Dcom.sun.management.jmxremote \
      -Dcom.sun.management.jmxremote.port=1099 \
      -Dcom.sun.management.jmxremote.local.only=false \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false \
      $* $debug_options com.apigee.kernel.MicroKernel

    يحدِّد هذا المثال المنفذ 1099 لخادم الإدارة. كما ذكرنا سابقًا، لكل خدمة رقم منفذ خاص بها.

    يظهر السطر المعدَّل في ملف الإعدادات على النحو التالي:

    exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
  3. احفظ ملف الإعداد.
  4. أعِد تشغيل المكوّن باستخدام الأمر restart.

    على سبيل المثال، لإعادة تشغيل خادم الإدارة، نفذ الأمر التالي:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

لا تكون المصادقة لـ JMX مفعَّلة تلقائيًا. يمكنك تفعيل مصادقة JMX لجميع المكوّنات باستثناء Cassandra، كما هو موضّح في مقالة تفعيل مصادقة JMX.

تفعيل مصادقة JMX

لا تكون مصادقة JMX مفعَّلة بشكلٍ تلقائي. يمكنك تفعيل مصادقة JMX لجميع المكوّنات باستثناء Cassandra.

لتفعيل مصادقة JMX، نفِّذ الإجراء change_jmx_auth التالي على جميع العقد:

/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]

المكان:

  • component هو أحد الخيارات التالية:
    • edge-management-server
    • edge-message-processor
    • edge-postgres-server
    • edge-qpid-server
    • edge-router
  • يحدِّد options ما يلي:
    • -u username
    • -p password
    • -e [y|n] (تفعيل أو إيقاف)
  • يحدِّد config_file موقع ملف الإعداد الذي تحدِّد فيه ما يلي:
    • JMX_USERNAME=username
    • JMX_ENABLED=y|n
    • JMX_PASSWORD=password (إذا لم يتم ضبطه أو تمريره باستخدام -p، سيُطلب منك ذلك)

يمكنك استخدام خيارات سطر الأوامر أو ملف الإعدادات لتحديد اسم المستخدم وكلمة المرور وحالة التفعيل/الإيقاف. أنت لا تحدِّد كلاً من مجموعة خيارات وملف إعداد.

يُفعِّل المثال التالي مصادقة JMX لخادم الإدارة باستخدام خيارات سطر الأوامر:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -u foo -p bar -e y

يستخدم المثال التالي ملف إعدادات بدلاً من خيارات سطر الأوامر:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -f /tmp/my-config-file

إذا كنت تستخدم Edge على عُقد متعددة، شغِّل الأمر على جميع العُقد، مع تحديد اسم المستخدم وكلمة المرور نفسيهما.

لإيقاف مصادقة JMX في سطر الأوامر، استخدِم الخيار "-e n"، كما هو موضّح في المثال التالي:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -e n

المراقبة باستخدام JConsole

استخدِم JConsole (أداة متوافقة مع JMX) لإدارة إحصاءات التحقّق من الصحة والعمليات ومراقبتها. باستخدام JConsole، يمكنك استخدام إحصاءات JMX التي تعرضها الخوادم وعرضها في واجهة رسومية. لمزيد من المعلومات، يُرجى الاطّلاع على استخدام JConsole.

يستخدم JConsole عنوان URL للخدمة التالي لمراقبة سمات JMX (MBeans) المقدَّمة من خلال JMX:

service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi

المكان:

  • IP_address هو عنوان IP للخادم الذي تريد مراقبته.
  • port_number هو رقم منفذ JMX للخادم الذي تريد مراقبته.

على سبيل المثال، لمراقبة "خادم الإدارة"، أدخِل أمرًا مثل ما يلي (على افتراض أنّ عنوان IP للخادم هو 216.3.128.12):

service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi

لاحظ أن هذا المثال يحدد المنفذ 1099، وهو منفذ JMX لخادم الإدارة. بالنسبة إلى منافذ أخرى، يُرجى الاطّلاع على منافذ مراقبة JMX وManagement API.

يعرض الجدول التالي إحصاءات JMX العامة:

عناصر JMX MBean سمات JMX

الذاكرة

HeapMemoryUsage

NonHeapMemoryUsage

الاستخدام

المراقبة باستخدام Management API

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

إجراء عمليات التحقّق من الخدمة

توفّر Management API العديد من نقاط النهاية لمراقبة المشاكل في خدماتك وتشخيصها. وتشمل نقاط النهاية هذه ما يلي:

نقطة نهاية الوصف
/servers/self/up

يتحقّق مما إذا كانت الخدمة قيد التشغيل أم لا. لا تتطلّب طلب البيانات من واجهة برمجة التطبيقات إجراء مصادقة.

إذا كانت الخدمة قيد التشغيل، تعرض نقطة النهاية هذه الردّ التالي:

<ServerField>
  <Up>true</Up>
</ServerField>

إذا لم تكن الخدمة مفعَّلة، ستتلقّى ردًا مشابهًا لما يلي: (حسب الخدمة التي يتم التحقّق منها وطريقة التحقّق منها):

curl: Failed connect to localhost:port_number; Connection refused
/servers/self

عرض معلومات عن الخدمة، بما في ذلك:

  • خصائص الإعدادات
  • وقت البدء ووقت التشغيل
  • معلومات حول الإصدار والأرباح لكل ألف مشاهدة (RPM) والمعرّف الفريد العالمي (UUID)
  • اسم المضيف وعنوان IP الداخليَين والخارجيَين
  • المنطقة والمجموعة
  • سمة <isUp> التي تشير إلى ما إذا كانت الخدمة قيد التشغيل

يتطلب طلب بيانات من واجهة برمجة التطبيقات هذا إجراء مصادقة باستخدام بيانات اعتماد مشرف Apigee.

لاستخدام نقاط النهاية هذه، يمكنك استدعاء أداة مثل curl باستخدام أوامر تستخدِم بنية الجملة التالية:

curl http://host:port_number/v1/servers/self/up
  -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password
  -H "Accept: [application/json|application/xml]"

المكان:

  • host هو عنوان IP للخادم الذي تريد التحقّق منه. إذا كنت مسجِّلاً الدخول إلى الخادم، يمكنك استخدام "المضيف المحلي"، وإلا حدِّد عنوان IP للخادم بالإضافة إلى اسم المستخدم وكلمة المرور.
  • port_number هو منفذ Management API للخادم الذي تريد التحقّق منه. وهو منفذ مختلف لكل نوع من أنواع المكوّنات. على سبيل المثال، ‎8080 هو المنفذ المخصّص لواجهة برمجة تطبيقات إدارة "خادم الإدارة". للحصول على قائمة بأرقام منافذ Management API المطلوب استخدامها، يُرجى الاطّلاع على منافذ مراقبة JMX وManagement API

لتغيير تنسيق الاستجابة، يمكنك تحديد عنوان Accept على النحو التالي: "application/json" أو "application/xml".

يحصل المثال التالي على حالة "الموجِّه" على localhost (المنفذ 8081):

curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"

يحصل المثال التالي على معلومات عن Message Processor (معالج الرسائل) على 216.3.128.12 (المنفذ 8082):

curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password
  -H "Accept: application/xml"

مراقبة حالة المستخدم والمؤسسة والنشر

يمكنك استخدام Management API لمراقبة حالة المستخدمين والتنظيم والنشر للخوادم الوكيلة على خوادم الإدارة ومعالجات الرسائل من خلال إصدار الأوامر التالية:

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password

حيث يكون port_number هو 8080 لخادم الإدارة أو 8082 لمعالج الرسائل.

يتطلب منك هذا الاتصال المصادقة باستخدام اسم المستخدم وكلمة المرور لإدارة النظام.

من المفترض أن يعرض الخادم حالة "تمّ النشر" لجميع المكالمات. إذا لم تنجح هذه الخطوات، اتّبِع الخطوات التالية:

  1. تحقّق من سجلّات الخادم بحثًا عن أي أخطاء. تتوفّر السجلّات على:
    • خادم الإدارة: opt/apigee/var/log/edge-management-server
    • معالج الرسائل: opt/apigee/var/log/edge-message-processor
  2. يمكنك إجراء مكالمة مع الخادم للتحقّق من عمله بشكلٍ سليم.
  3. أزِل الخادم من ELB ثم أعِد تشغيله:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart

    حيث يكون service_name:

    • edge-management-server
    • edge-message-processor

التحقّق من الحالة باستخدام الأمر apigee-service

يمكنك تحديد المشاكل وحلّها في خدمات Edge باستخدام الأمر apigee-service عند تسجيل دخولك إلى الخادم الذي يشغّل الخدمة.

للتحقّق من حالة خدمة باستخدام apigee-service:

  1. سجِّل الدخول إلى الخادم ونفِّذ الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    حيث تكون السمة service_name واحدة مما يلي:

    • خادم الإدارة: edge-management-server
    • معالِج الرسائل: edge-message-processor
    • ‫Postgres: edge-postgres-server
    • Qpid: ‏ edge-qpid-server
    • جهاز التوجيه: edge-router

    على سبيل المثال:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
  2. إذا لم تكن الخدمة قيد التشغيل، ابدأها باتّباع الخطوات التالية:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. بعد إعادة تشغيل الخدمة، تأكَّد من أنّها تعمل، إما باستخدام الأمر apigee-service status الذي سبق لك استخدامه أو باستخدام Management API الموضّحة في المراقبة باستخدام Management API.

    على سبيل المثال:

    curl -v http://localhost:port_number/v1/servers/self/up

    حيث يكون port_number هو منفذ Management API للخدمة.

    يفترض هذا المثال أنّك سجّلت الدخول إلى الخادم وأنّه يمكنك استخدام "localhost" كاسم المضيف. وللتحقُّق من الحالة عن بُعد باستخدام Management API، عليك تحديد عنوان IP للخادم وتضمين اسم المستخدم وكلمة المرور لمشرف النظام في طلب البيانات من واجهة برمجة التطبيقات.

مراقبة Postgres

يتيح Postgres العديد من الخدمات التي يمكنك استخدامها للتحقّق من حالته. يرد وصف هذه الأدوات في الأقسام التالية.

التحقّق من المؤسسات والبيئات على Postgres

يمكنك التحقّق من أسماء المؤسسات والبيئات التي تم إعدادها على خادم Postgres عن طريق إصدار الأمر curl التالي:

curl -v http://postgres_IP:8084/v1/servers/self/organizations

من المفترض أن يعرض النظام اسم المؤسسة والبيئة.

التحقّق من حالة الإحصاءات

يمكنك التحقّق من حالة خوادم الإحصاءات Postgres وQpid من خلال إصدار الأمر التالي curl:

curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus

من المفترض أن يعرض النظام حالة نجاح لجميع خوادم الإحصاءات، كما يوضّح المثال التالي:

{
  "environments" : [ {
    "components" : [ {
      "message" : "success at Thu Feb 28 10:27:38 CET 2013",
      "name" : "pg",
      "status" : "SUCCESS",
      "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]"
     }, {
      "message" : "success at Thu Feb 28 10:29:03 CET 2013",
      "name" : "qs",
      "status" : "SUCCESS",
      "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]"
     } ],
    "message" : "",
    "name" : "prod"
   } ],
  "organization" : "acme",
  "status" : "SUCCESS"
}

قاعدة بيانات PostgreSQL

يصف هذا القسم الأساليب التي يمكنك استخدامها على وجه التحديد لمراقبة قاعدة بيانات Postgres.

استخدام النص البرمجي check_postgres.pl

لمراقبة قاعدة بيانات PostgreSQL، يمكنك استخدام نص برمجي عادي للمراقبة، check_postgres.pl. لمزيد من المعلومات، يُرجى الاطّلاع على http://bucardo.org/wiki/Check_postgres.

قبل تشغيل النص البرمجي:

  1. يجب تثبيت النص البرمجي check_postgres.pl على كل عقدة Postgres.
  2. يُرجى التأكّد من تثبيت perl-Time-HiRes.x86_64، وهي وحدة Perl التي تستخدم المنبّهات ذات الدقة العالية والمحدّدة للنوم وgettimeofday والموقّتات بفواصل زمنية. على سبيل المثال، يمكنك تثبيته باستخدام الأمر التالي:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: قبل استخدام check_postgres.pl على الإصدار 7 من CentOS، يجب تثبيت ملف ‎ perl-Data-Dumper.x86_64 RPM.

check_postgres.pl output

إنّ الإخراج التلقائي لطلبات البيانات من واجهة برمجة التطبيقات باستخدام check_postgres.pl متوافق مع Nagios. بعد تثبيت النص البرمجي، عليك إجراء عمليات التحقّق التالية:

  1. تحقَّق من حجم قاعدة البيانات:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
  2. تحقَّق من عدد الاتصالات الواردة إلى قاعدة البيانات وقارِنها بالحد الأقصى المسموح به للاتصالات:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. تحقّق مما إذا كانت قاعدة البيانات تعمل ومتاحة:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. تحقَّق من مساحة القرص:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. تحقَّق من عدد المؤسسات والبيئات التي تم إعدادها في عقدة Postgres:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer

إجراء عمليات فحص قاعدة البيانات

يمكنك التحقّق من إنشاء الجداول المناسبة في قاعدة بيانات PostgreSQL. سجِّل الدخول إلى قاعدة بيانات PostgreSQL باستخدام الأمر التالي:

psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee

بعد ذلك، نفِّذ ما يلي:

\d analytics."org.env.fact"

التحقّق من الحالة الصحية لعملية البريد

يمكنك إجراء عمليات فحص لواجهة برمجة التطبيقات على جهاز Postgres من خلال استدعاء الأمر curl التالي:

curl -v http://postgres_IP:8084/v1/servers/self/health

يعرض هذا الأمر حالة ACTIVE عندما تكون عملية postgres نشطة. إذا كانت عملية Postgres غير مفعّلة، ستظهر الحالة INACTIVE.

مراجع Postgres

للحصول على معلومات إضافية عن مراقبة خدمة Postgres، اطّلِع على ما يلي:

أباتشي كاساندرا

استخدام JConsole: مراقبة إحصاءات المهام

استخدِم JConsole وعنوان URL للخدمة التالي لمراقبة سمات JMX (MBeans) المقدَّمة من خلال JMX:

service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi

حيث IP_address هو عنوان IP لخادم Cassandra.

يتم تفعيل JMX تلقائيًا في Cassandra، ولا يتطلّب الوصول عن بُعد إلى JMX في Cassandra استخدام كلمة مرور.

إحصاءات Cassandra JMX

عناصر JMX MBean سمات JMX

العمود "العائلات"/apprepo/environments

ColumnFamilies/apprepo/organizations

العمود Families/apprepo/apiproxy_revisions

ColumnFamilies/apprepo/apiproxies

ColumnFamilies/audit/audits

ColumnFamilies/audit/audits_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

استخدام أداة العقدة لإدارة العُقد العنقودية

أداة nodetool هي واجهة سطر أوامر لخدمة Cassandra تدير عقد الكتلة. يمكن العثور على الأداة على الرابط /opt/apigee/apigee-cassandra/bin.

يمكن إجراء المكالمات التالية على جميع عقد مجموعة Cassandra:

  1. معلومات عامة حول الحلقة (يمكن أيضًا الحصول عليها لعقدة Cassandra واحدة): ابحث عن "متصل" و "عادي" لجميع العقد.
    nodetool -h localhost ring

    تظهر نتيجة الأمر أعلاه على النحو الموضّح أدناه:

    Datacenter: dc-1
    ==========
    Address            Rack     Status State   Load    Owns    Token
    192.168.124.201    ra1      Up     Normal  1.67 MB 33,33%  0
    192.168.124.202    ra1      Up     Normal  1.68 MB 33,33%  5671...5242
    192.168.124.203    ra1      Up     Normal  1.67 MB 33,33%  1134...0484

  2. معلومات عامة عن العقد (يتم إجراء مكالمة لكل عقدة)
    nodetool -h localhost info

    يظهر ناتج الأمر أعلاه على النحو التالي:

    ID                     : e2e42793-4242-4e82-bcf0-oicu812
    Gossip active          : true
    Thrift active          : true
    Native Transport active: true
    Load                   : 273.71 KB
    Generation No          : 1234567890
    Uptime (seconds)       : 687194
    Heap Memory (MB)       : 314.62 / 3680.00
    Off Heap Memory (MB)   : 0.14
    Data Center            : dc-1
    Rack                   : ra-1
    Exceptions             : 0
    Key Cache              : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds
    Row Cache              : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds
    Counter Cache          : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds
    Token                  : 0
  3. حالة خادم Thrift (عرض واجهة برمجة تطبيقات العميل)
    nodetool -h localhost statusthrift

    تظهر نتيجة الأمر أعلاه على النحو التالي:

    running

  4. حالة عمليات بث البيانات: راقِب عدد الزيارات لعقد Cassandra:
    nodetool -h localhost netstats

    تظهر نتيجة الأمر أعلاه على النحو التالي:

    Mode: NORMAL
    Not sending any streams.
    Read Repair Statistics:
    Attempted: 151612
    Mismatch (Blocking): 0
    Mismatch (Background): 0
    Pool Name                    Active   Pending      Completed   Dropped
    Commands                        n/a         0              0         0
    Responses                       n/a         0              0       n/a

لمزيد من المعلومات حول nodetool، يُرجى الاطّلاع على مقالة لمحة عن أداة العقدة الأساسية.

مراقبة Cassandra (واجهة المستخدم)

يُرجى الرجوع إلى عنوان URL الخاص بخدمة opscenter في datastax: http://www.datastax.com/products/opscenter.

مورد Cassandra

يُرجى الرجوع إلى عنوان URL التالي: http://www.datastax.com/docs/1.0/operations/monitoring.

Apache ZooKeeper

التحقّق من حالة ZooKeeper

  1. تأكَّد من أنّ عملية ZooKeeper قيد التشغيل. يكتب ZooKeeper ملف PID في opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
  2. اختبِر منافذ ZooKeeper للتأكّد من أنّه يمكنك إنشاء اتصال TCP بالمنفذَين 2181 و 3888 على كل خادم ZooKeeper.
  3. تأكَّد من أنّه يمكنك قراءة القيم من قاعدة بيانات ZooKeeper. يمكنك الاتصال باستخدام مكتبة عملاء ZooKeeper (أو /opt/apigee/apigee-zookeeper/bin/zkCli.sh) وقراءة قيمة من قاعدة البيانات.
  4. التحقّق من الحالة:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

استخدام كلمات ZooKeeper المكونة من أربعة أحرف

يمكن مراقبة ZooKeeper من خلال مجموعة صغيرة من الأوامر (كلمات من أربعة أحرف) التي يتم إرسالها إلى المنفذ 2181 باستخدام netcat (nc) أو telnet.

لمزيد من المعلومات عن أوامر ZooKeeper، اطّلِع على: مرجع أوامر Apache ZooKeeper.

على سبيل المثال:

  • srvr: يسرد التفاصيل الكاملة للخادم.
  • stat: يسرد التفاصيل الموجزة للخادم والعملاء المتصلين.

يمكن إصدار الأوامر التالية إلى منفذ ZooKeeper:

  1. يمكنك تنفيذ الأمر المكوّن من أربع حروف ruok لاختبار ما إذا كان الخادم يعمل في حالة خالية من الأخطاء. تعرِض الاستجابة الناجحة الرسالة "imok".
    echo ruok | nc host 2181

    المرتجعات:

    imok
  2. شغِّل الأمر المكوّن من أربع حروف، stat، لعرض أداء الخادم وإحصاءات العميل المتصل:
    echo stat | nc host 2181

    المرتجعات:

    Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
    Clients:
    /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0)
    /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433)
    /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347)
    /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692)
    Latency min/avg/max: 0/0/128
    Received: 26144
    Sent: 26160
    Connections: 4
    Outstanding: 0
    Zxid: 0x2000002c2
    Mode: follower
    Node count: 283
  3. إذا لم يكن netcat (nc) متاحًا، يمكنك استخدام python كبديل. أنشئ ملفًا باسم zookeeper.py يحتوي على ما يلي:
    import time, socket,
    sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    c.connect((sys.argv[1], 2181))
    c.send(sys.argv[2])
    time.sleep(0.1)
    print c.recv(512)

    الآن، شغِّل سطور Python التالية:

    python zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

اختبار مستوى LDAP

يمكنك مراقبة OpenLDAP لمعرفة ما إذا كان يتم عرض الطلبات المحدّدة بشكلٍ صحيح. بعبارة أخرى، ابحث عن عملية بحث معيّنة تعرض النتيجة الصحيحة.

  1. استخدِم ldapsearch (yum install openldap-clients) لطلب إدخال مشرف النظام. يُستخدَم هذا الإدخال لمصادقة جميع طلبات البيانات من واجهة برمجة التطبيقات.
    ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL

    سيُطلب منك بعد ذلك إدخال كلمة مرور مشرف LDAP:

    Enter LDAP Password:

    بعد إدخال كلمة المرور، يظهر لك ردّ في النموذج:

    dn:
    uid=admin,ou=users,ou=global,dc=apigee,dc=com
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    uid: admin
    cn: admin
    sn: admin
    userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ=
     =
    mail: opdk@google.com
  2. تحقَّق مما إذا كان "خادم الإدارة" لا يزال متصلاً بخادم LDAP باستخدام الأمر التالي:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN

    المرتجعات:

    {
      "emailId" : ADMIN,
      "firstName" : "admin",
      "lastName" : "admin"
    }

يمكنك أيضًا مراقبة ذاكرات التخزين المؤقت في OpenLDAP، ما يساعد في تقليل عدد عمليات الوصول إلى القرص وبالتالي تحسين أداء النظام. قد تؤثر مراقبة حجم ذاكرة التخزين المؤقت وضبطه في خادم OpenLDAP بشكل كبير في أداء خادم الدليل. يمكنك عرض ملفات السجلّ (opt/apigee/var/log) للحصول على معلومات عن ذاكرة التخزين المؤقت.