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

يوضِّح هذا المستند أساليب المراقبة للمكوّنات المتوافقة مع عملية نشر Apigee Edge لـ Private Cloud داخل المؤسسة.

نظرة عامة

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

واجهة برمجة تطبيقات الإدارة
المكوِّن استخدام الذاكرة [JMX*] التحقّق من الخدمة حالة النشر axstatus فحص قاعدة البيانات حالة apigee-service apigee-monit**
خادم الإدارة
معالج الرسائل
جهاز التوجيه
معرّف Qpid
بوستجريس
مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات مزيد من المعلومات

* قبل أن تتمكّن من استخدام JMX، يجب تفعيلها، كما هو موضّح في تفعيل JMX.

** تتحقّق خدمة apigee-monit مما إذا كان المكوِّن قيد التشغيل وستحاول إعادة تشغيله إذا لم يكن كذلك. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة التعافي الذاتي باستخدام apigee-monit.

مراقبة المنافذ وملفات الإعداد

يتيح كل مكوّن استخدام إضافات إدارة Java (JMX) ومراقبة واجهة برمجة التطبيقات Management API على منافذ مختلفة. يسرد الجدول التالي منافذ JMX وManagement API لكل نوع من الخوادم ومواقع ملفات الإعداد:

المكوِّن منفذ JMX منفذ Management API موقع ملف الإعداد
خادم الإدارة 1099 8080 $APIGEE_ROOT/customer/application/management-server.properties
معالج الرسائل 1101 8082 $APIGEE_ROOT/customer/application/message-processor.properties
جهاز التوجيه 1100 8081 $APIGEE_ROOT/customer/application/router.properties
معرّف Qpid 1102 8083 $APIGEE_ROOT/customer/application/qpid-server.properties
بوستجريس 1103 8084 $APIGEE_ROOT/customer/application/postgres-server.properties

استخدام JMX لمراقبة المكونات

توضح الأقسام التالية كيفية استخدام JMX لمراقبة مكونات Edge.

تفعيل JMX

لتفعيل JMX بدون مصادقة أو اتصال مستند إلى طبقة المقابس الآمنة، نفذ الخطوات التالية. ملاحظة: في أنظمة الإنتاج، يجب تفعيل كلّ من المصادقة المشفرة وطبقة المقابس الآمنة للحفاظ على الأمان.

  1. عدِّل ملف الضبط المناسب (راجِع مرجع ملف الضبط). وأنشئ ملف الإعداد إذا لم يكن متوفرًا.
    conf_system_jmxremote_enable=true
  2. احفظ ملف الإعداد وتأكَّد من امتلاكه للنطاق apigee:apigee.
  3. أعِد تشغيل مكوّن Edge المناسب
    apigee-service edge-management-server restart

لإيقاف سمة JMX، عليك إزالة السمة conf_system_jmxremote_enable أو تغيير قيمتها إلى false. ثم أعِد تشغيل مكوّن Edge المناسب.

المصادقة في JMX

يوفّر Edge for Private Cloud المصادقة المستندة إلى كلمة المرور باستخدام التفاصيل المخزَّنة في الملفات. يمكنك تخزين كلمات المرور كتجزئة لمزيد من الأمان.

  1. لتفعيل مصادقة JMX في مكوِّن Edge-*، يمكنك تعديل ملف الإعداد المناسب (راجِع مرجع ملف الإعداد). أنشئ ملف الإعداد إذا لم يكن متوفّرًا:
    conf_system_jmxremote_enable=true
    conf_system_jmxremote_authenticate=true
    conf_system_jmxremote_encrypted_auth=true
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
    احفظ ملف الإعداد وتأكّد من أنّه يملكه apigee:apigee.
  2. إنشاء تجزئة SHA256 لكلمة المرور:
    echo -n '' | openssl dgst -sha256
  3. أنشئ ملف jmxremote.password يتضمّن بيانات اعتماد مستخدم JMX:
    1. انسخ الملفات التالية من دليل $JAVA_HOME إلى الدليل /opt/apigee/customer/application/<component>/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
    2. عدِّل الملف وأضِف اسم مستخدم وكلمة مرور JMX باستخدام البنية التالية:
      USERNAME <HASH-PASSWORD>
    3. تأكَّد من أنّ الملف يملكه النطاق apigee وأنّ وضع الملف هو 400:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
  4. أنشئ ملف jmxremote.access يتضمّن أذونات مستخدم JMX:
    1. انسخ الملفات التالية من الدليل $JAVA_home إلى الدليل /opt/apigee/customer/application/<component>/
      
      cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
    2. عدِّل الملف وأضِف اسم مستخدم JMX متبوعًا بإذن (READONLY/READWRITE)
      USERNAME READONLY
    3. تأكَّد من أنّ الملف يملكه النطاق apigee وأنّ وضع الملف هو 400:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
  5. أعِد تشغيل مكوّن Edge المناسب:
    apigee-service edge-management-server restart

لإيقاف مصادقة JMX، عليك إزالة السمة conf_system_jmxremote_authenticate أو تغيير القيمة إلى false وإعادة تشغيل مكوّن Edge المناسب.

طبقة المقابس الآمنة في JMX

لتفعيل JMX المستند إلى طبقة المقابس الآمنة (SSL) في أحد مكوّنات Edge*، يمكنك إجراء ما يلي:

  1. عدِّل ملف الضبط المناسب (راجِع مرجع ملف الإعداد). أنشئ ملف الإعداد إذا لم يكن متوفّرًا:
    conf_system_jmxremote_enable=true
    conf_system_jmxremote_ssl=true
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
    conf_system_javax_net_ssl_keystorepassword=<keystore-password>
    احفظ ملف الإعداد وتأكَّد من امتلاكه للنطاق apigee:apigee.
  2. عليك تحضير ملف تخزين يتضمّن مفتاح الخادم ووضعه في المسار المتوفر في عملية الإعداد conf_system_javax_net_ssl_keystore أعلاه. يُرجى التأكّد من أنّ ملف تخزين المفاتيح سهل القراءة بواسطة apigee:apigee.
  3. أعِد تشغيل مكوّن Edge المناسب:
    apigee-service edge-management-server restart

لإيقاف سمة JMX المستندة إلى طبقة المقابس الآمنة، يمكنك إزالة السمة conf_system_jmxremote_ssl أو تغيير القيمة إلى false. أعِد تشغيل مكوّن Edge المناسب.

المراقبة عبر Jconsole

تظل تعليمات المراقبة من خلال jconsole كما هو موضّح في https://docs.apigee.com/private-cloud/v4.50.00/how-monitor#jconsole.

يمكن إضافة سطر واحد يفيد بما يلي: "ستحتاج إلى بدء jconsole باستخدام كلمة مرور Truststore وكلمة مرور Truststore في حال تفعيل طبقة المقابس الآمنة (SSL) لـ JMX". المرجع: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

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

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

يجب بدء وحدة تحكم JConsole باستخدام كلمة مرورTruststore وTruststore إذا كانت طبقة المقابس الآمنة مفعَّلة لتطبيق 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 MBeans سمات JMX

Memory

HeapMemoryUsage

NonHeapMemoryUsage

الاستخدام

مرجع ملف الإعداد

توضح الأقسام التالية التغييرات التي قد تحتاج إلى إجرائها على ملفات إعداد مكوّن Edge لعمليات الضبط ذات الصلة بأداة JMX. راجِع مراقبة المنافذ وملفات الإعداد للحصول على مزيد من المعلومات.

ستتم إضافة إعداد JMX إلى ملف إعداد المكون المناسب

  • تفعيل وكيل JMX على المكوّن الإضافي يكون الخيار "خطأ" تلقائيًا.
    conf_system_jmxremote_enable=true

إعدادات المصادقة المستندة إلى كلمة المرور

  • تفعيل المصادقة المستندة إلى كلمة المرور. يكون الخيار "خطأ" تلقائيًا.
    conf_system_jmxremote_authenticate=true
  • مسار الوصول إلى الملف يجب أن تكون مملوكة وقابلة للقراءة من قِبل مستخدم Apigee فقط.
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
  • ملف المسار إلى كلمة المرور. يجب أن تكون مملوكة وقابلة للقراءة من قِبل مستخدم Apigee فقط.
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
  • تفعيل تخزين كلمة المرور بتنسيق مشفّر. يكون الخيار "خطأ" تلقائيًا.
    conf_system_jmxremote_encrypted_auth=true

إعدادات JMX المستندة إلى طبقة المقابس الآمنة

  • تفعيل طبقة المقابس الآمنة لاتصال JMX. يكون الخيار "خطأ" تلقائيًا.
    conf_system_jmxremote_ssl=true
  • المسار إلى ملف تخزين المفاتيح. يجب أن تكون مملوكة وقابلة للقراءة من قِبل مستخدم Apigee فقط.
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
  • كلمة مرور ملف تخزين المفاتيح:
    conf_system_javax_net_ssl_keystorepassword=changeme

إعدادات JMX الاختيارية

القيم المدرجة هي قيم تلقائية ويمكن تغييرها.

  • منفذ JMX. ويتم عرض القيم التلقائية في الجدول أدناه.
    conf_system_jmxremote_port=
  • منفذ JMX RMI بشكل افتراضي، ستختار عملية Java منفذًا عشوائيًا.
    conf_system_jmxremote_rmi_port=
  • اسم المضيف للبيانات الموجزة عن بُعد. عنوان IP التلقائي للمضيف المحلي.
    conf_system_java_rmi_server_hostname=
  • حماية سجلّ JMX باستخدام طبقة المقابس الآمنة (SSL). الخيار التلقائي "خطأ". ينطبق ذلك فقط إذا تم تمكين طبقة المقابس الآمنة.
    conf_system_jmxremote_registry_ssl=false

المراقبة باستخدام 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 للخادم الذي تريد التحقّق منه. إذا سجّلت الدخول إلى الخادم، يمكنك استخدام "localhost"، وإلا يمكنك تحديد عنوان IP للخادم بالإضافة إلى اسم المستخدم وكلمة المرور.
  • port_number هو منفذ Management API للخادم الذي تريد التحقّق منه. وهذا منفذ مختلف لكل نوع من المكوّنات. على سبيل المثال، منفذ واجهة برمجة التطبيقات Management Server في خادم الإدارة هو 8080. للحصول على قائمة بأرقام منافذ Management API، يُرجى الاطّلاع على منافذ مراقبة JMX وManagement API.

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

يعرض المثال التالي حالة جهاز التوجيه على المضيف المحلي (المنفذ 8081):

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

يحصل المثال التالي على معلومات حول معالج الرسائل في 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 هو منفذ واجهة برمجة تطبيقات الإدارة للخدمة.

    يفترض هذا المثال أنك سجلت الدخول إلى الخادم ويمكنك استخدام "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 تُنفّذ موقتات عالية الدقة منبه ووقت النوم وتوقيت العمل وفترات زمنية. على سبيل المثال، يمكنك تثبيته باستخدام الأمر التالي:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: قبل استخدام check_postgres.pl على الإصدار 7 من نظام التشغيل CentOS، يجب تثبيت perl-Data-Dumper.x86_64 RPM.

إخراج "check_postgres.pl"

ويكون الناتج التلقائي لطلبات البيانات من واجهة برمجة التطبيقات باستخدام 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 مفعَّلة، سيتم عرض الحالة INACTIVE.

مراجع Postgres

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

Apache Cassandra

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

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

يمكنك تفعيل مصادقة JMX لـ Cassandra. وبعد إجراء ذلك، سيُطلب منك إدخال اسم مستخدم وكلمة مرور إلى جميع عمليات الاستدعاء التي تجريها في أداةNodetool.

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

  1. إنشاء ملف cassandra.properties وتعديله:
    1. عدِّل ملف /opt/apigee/customer/application/cassandra.properties. إذا لم يكن الملف موجودًا، يجب إنشاؤه.
    2. أضِف ما يلي إلى الملف:
      conf_cassandra_env_com.sun.management.jmxremote.authenticate=true
      conf_cassandra_env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.password
      conf_cassandra_env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.access
    3. احفظ الملف cassandra.properties.
    4. غيِّر مالك الملف إلى apigee:apigee، كما يوضِّح المثال التالي:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties

    لمزيد من المعلومات حول استخدام ملفات الخصائص لضبط الرموز المميّزة، يمكنك الاطّلاع على كيفية إعداد Edge.

  2. إنشاء وتعديل jmx_auth.sh:
    1. أنشئ ملفًا في الموقع التالي إذا لم يكن متوفرًا:
      /opt/apigee/customer/application/jmx_auth.sh
    2. أضِف السمات التالية إلى الملف:
      export CASS_JMX_USERNAME=JMX_USERNAME
      export CASS_JMX_PASSWORD=JMX_PASSWORD
    3. احفظ الملف jmx_auth.sh.
    4. حدِّد مصدر الملف:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. انسَخ ملف jmxremote.password وعدِّله:
    1. انسخ الملف التالي من دليل $JAVA_HOME إلى /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. عدّل ملف jmxremote.password وأضف اسم المستخدم وكلمة المرور لـ JMX باستخدام البنية التالية:
      JMX_USERNAME JMX_PASSWORD

      يكون JMX_USERNAME وJMX_PASSWORD هما اسم المستخدم وكلمة المرور اللذين ضبطتهما سابقًا في JMX.

    3. تأكَّد من أنّ الملف يملكه "apigee" ومن أنّ وضع الملف هو 400:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
  4. انسَخ ملف jmxremote.access وعدِّله:
    1. انسخ الملف التالي من دليل $JAVA_HOME إلى /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. عدِّل ملف jmxremote.access وأضِف الدور التالي:
      JMX_USERNAME readwrite
    3. تأكَّد من أنّ الملف يملكه "apigee" ومن أنّ وضع الملف هو 400:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
  5. تشغيل configure على Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. أعِد تشغيل Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. كرر هذه العملية على جميع عُقد Cassandra الأخرى.

تفعيل تشفير كلمة مرور JMX

لتفعيل تشفير كلمة مرور JMX، نفِّذ الخطوات التالية:

  1. افتح الملف "source/conf/casssandra-env.sh".
  2. إنشاء ملف cassandra.properties وتعديله:
    1. عدِّل ملف /opt/apigee/customer/application/cassandra.properties. إذا لم يكن الملف موجودًا، يجب إنشاؤه.
    2. أضِف ما يلي إلى الملف:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. احفظ ملف cassandra.properties.
    4. غيِّر مالك الملف إلى apigee:apigee، كما هو موضّح في المثال التالي:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  3. في سطر الأوامر، أنشِئ تجزئة SHA1 لكلمات المرور المطلوبة من خلال إدخال echo -n 'Secret' | openssl dgst -sha1.
  4. اضبط كلمات المرور مقابل اسم المستخدم في $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password (الذي تم إنشاؤه في القسم السابق).
  5. نفِّذ عملية الإعداد على Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. أعِد تشغيل Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. كرر هذه العملية على جميع عُقد Cassandra الأخرى.

تفعيل JMX باستخدام طبقة المقابس الآمنة لـ Cassandra

يساعد تفعيل JMX باستخدام طبقة المقابس الآمنة (SSL) في توفير مزيد من الأمان والتشفير للاتصال المستند إلى JMX مع Cassandra. لتمكين JMX باستخدام طبقة المقابس الآمنة، يلزمك تقديم مفتاح وشهادة إلى كاساندرا لقبول اتصالات JMX المستندة إلى طبقة المقابس الآمنة. تحتاج أيضًا إلى تهيئة أداةNodetool (وأي أدوات أخرى تتواصل مع Cassandra عبر JMX) لطبقة المقابس الآمنة.

تتوافق أداة JMX المفعَّلة باستخدام طبقة المقابس الآمنة مع كل من كلمات مرور JMX النصية العادية وكلمات مرورها المشفّرة.

لتمكين JMX مع طبقة المقابس الآمنة لـ Cassandra، استخدم الإجراء التالي:

  1. فعِّل JMX. فعِّل تشفير كلمة المرور إذا لزم الأمر.
  2. فعِّل مصادقة JMX لـ Cassandra. كما هو موضح أعلاه. تأكَّد من أنّ أداةNodetool تعمل مع اسم المستخدم وكلمة المرور اللذين تم ضبطهما.
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. إعداد ملف تخزين المفاتيح والمتجر الموثوق به

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

      تجدر الإشارة إلى أنّ كلمتَي مرور لملف تخزين المفاتيح تكون متطابقة مع المفتاح (الطريقة التلقائية عند إنشاء المفتاح باستخدام أداة Keytool).

    • يجب أن يحتوي Truststore على الشهادة فقط وأن يتم استخدامه من قِبل البرامج (الأوامر المستندة إلى خدمة API أو أداة العقدة) للاتصال عبر JMX.

    بعد التحقّق من المتطلبات أعلاه:

    1. ضع ملف تخزين المفاتيح في /opt/apigee/customer/application/apigee-cassandra/.
    2. يُرجى التأكّد من أنّ ملف تخزين المفاتيح قابل للقراءة من قِبل مستخدم Apigee فقط من خلال إدخال
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      .
  4. اضبط Cassandra لـ JMX باستخدام طبقة المقابس الآمنة من خلال تنفيذ الخطوات التالية:
    1. أوقِف عقدة Cassandra بإدخال
      apigee-service apigee-cassandra stop
      .
    2. فعِّل طبقة المقابس الآمنة (SSL) في Cassandra عن طريق فتح الملف /opt/apigee/customer/application/cassandra.properties وإضافة الأسطر التالية:
      conf_cassandra_env_com.sun.management.jmxremote.ssl=true
      conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1
      conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password
    3. غيِّر مالك الملف إلى apigee:apigee، كما هو موضّح في المثال التالي:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    4. نفِّذ عملية الإعداد على Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. أعِد تشغيل Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. كرر هذه العملية على جميع عُقد Cassandra الأخرى.
    7. ابدأ عقدة Cassandra بإدخال
      apigee-service apigee-cassandra start
  5. اضبط أوامر apigee-service Cassandra. يجب ضبط متغيّرات بيئة معيّنة أثناء تنفيذ أوامر apigee-service، بما في ذلك الصيغ التالية:
    apigee-service apigee-cassandra stop
    apigee-service apigee-cassandra wait_for_ready
    apigee-service apigee-cassandra ring
    apigee-service apigee-cassandra backup

    هناك عدة خيارات لضبط apigee-service لمصادقة JMX وطبقة المقابس الآمنة. حدِّد خيارًا بناءً على سهولة الاستخدام وممارسات الأمان.

    الخيار 1 (وسيطات طبقة المقابس الآمنة المخزنة في الملف)

    اضبط متغيرات البيئة التالية:

    export CASS_JMX_USERNAME=ADMIN
    # Provide encrypted password here if you have setup JMX password encryption
    export CASS_JMX_PASSWORD=PASSWORD
    export CASS_JMX_SSL=Y

    أنشئ ملفًا في الدليل الرئيسي لمستخدم Apigee (/opt/apigee).

    $HOME/.cassandra/nodetool-ssl.properties

    عدّل الملف وأضف الأسطر التالية:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true

    تأكَّد من أنّ ملف Trustore قابل للقراءة من قِبل مستخدم Apigee.

    شغِّل الأمر apigee-service التالي. إذا تم تشغيله بدون خطأ، تكون الإعدادات صحيحة.

    apigee-service apigee-cassandra ring

    الخيار 2 (وسيطات طبقة المقابس الآمنة المخزنة في متغيرات البيئة)

    اضبط متغيرات البيئة التالية:

    export CASS_JMX_USERNAME=ADMIN
    # Provide encrypted password here if you have setup JMX password encryption
    export CASS_JMX_PASSWORD=PASSWORD
    export CASS_JMX_SSL=Y
    # Ensure the truststore file is accessible by Apigee user.
    export CASS_JMX_TRUSTSTORE=<path-to-trustore.node1>
    export CASS_JMX_TRUSTSTORE_PASSWORD=<truststore-password>

    شغِّل الأمر apigee-service التالي. إذا تم تشغيله بدون خطأ، تكون الإعدادات صحيحة.

    apigee-service apigee-cassandra ring

    الخيار 3 (تم تمرير وسيطات طبقة المقابس الآمنة مباشرةً إلى apigee-service)

    شغِّل أي أمر apigee-service مثل الأمر أدناه. لا تحتاج إلى ضبط أيّ متغيرات للبيئة.

    CASS_JMX_USERNAME=ADMIN CASS_JMX_PASSWORD=PASSWORD CASS_JMX_SSL=Y CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> CASS_JMX_TRUSTSTORE_PASSWORD=<trustore-password> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. قم بإعداد أداةNodetool. تتطلب أداة Nodetool تمرير معلمات JMX إليها. هناك طريقتان يمكنك من خلالهما ضبط واجهة برمجة التطبيقات المصغّرة لتشغيلها باستخدام بروتوكول JMX المتوافق مع طبقة المقابس الآمنة، كما هو موضّح في خيارات الضبط أدناه:

    تختلف الخيارات في طريقة تمرير الإعدادات ذات الصلة بطبقة المقابس الآمنة إلى dottool. وفي كلتا الحالتين، يجب أن يكون لدى المستخدم الذي يشغِّل أداةNodetool أذونات قراءة على ملف Truststore. حدِّد خيارًا مناسبًا استنادًا إلى سهولة الاستخدام وممارسات الأمان.

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

    خيار الضبط 1

    أنشئ ملفًا في الدليل الرئيسي للمستخدم الذي يشغِّل التاليNodetool.

    $HOME/.cassandra/nodetool-ssl.properties

    أضف الأسطر التالية إلى الملف:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true

    يجب أن يكون مسار Truststore المحدّد أعلاه متاحًا لأي مستخدم يشغّل أداةNodetool.

    شغِّل nodetool باستخدام الخيار --ssl.

    /opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

    خيار الضبط 2

    شغِّل nodetool باعتباره أمرًا واحدًا يتضمّن المعلَمات الإضافية المدرَجة أدناه.

    /opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

التراجع عن عمليات ضبط طبقة المقابس الآمنة (SSL)

إذا كنت تحتاج إلى العودة إلى إعدادات طبقة المقابس الآمنة الموضّحة في الإجراء أعلاه، يمكنك اتّباع الخطوات التالية:

  1. إيقاف apigee-cassandraبالدخول إلى
    apigee-service apigee-cassandra stop
  2. أزِل السطر conf_cassandra-env_com.sun.management.jmxremote.ssl=true من الملف /opt/apigee/customer/application/cassandra.properties.
  3. اكتب تعليقًا على السطور التالية في /opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh
    # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node0"
    # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keypass"
    # JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true”
  4. ابدأ apigee-cassandra بإدخال
  5. apigee-service apigee-cassandra start
  6. ويمكنك إزالة متغيّر البيئة CASS_JMX_SSL في حال ضبطه.

    unset CASS_JMX_SSL
  7. تأكَّد من أنّ الطلبات المستندة إلى apigee-service، مثل ring وstop وbackup وغيرها، تعمل.
  8. التوقّف عن استخدام مفتاح تبديل --ssl مع أداةNodetool

إيقاف مصادقة JMX لـ Cassandra

لإيقاف مصادقة JMX لـ Cassandra:

  1. تعديل /opt/apigee/customer/application/cassandra.properties.
  2. أزِل السطر التالي في الملف:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. نفِّذ عملية الإعداد على Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. أعِد تشغيل Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. كرر هذه العملية على جميع عُقد Cassandra الأخرى.

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

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

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

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

إحصاءات Cassandra JMX

مجموعات JMX MBeans سمات JMX

الأعمدة العائلية/البيئة/البيئات

عمود العائلات/تطبيق/مؤسسات

ColumnFamilies/apprepo/apiproxy_revisions

الأعمدة العائلية/apprepo/apiproxies

العائلات العمودية/التدقيق/التدقيق

الروابط العائلية/التدقيق/التدقيق

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

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

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

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

  1. معلومات الرنين العامة (يمكن أيضًا استخدام عقدة Cassandra الفردية): ابحث عن الحرفين "أعلى" و "عادي" لجميع العُقد.
    nodetool [-u username -pw password] -h localhost ring

    ما عليك سوى تمرير اسم المستخدم وكلمة المرور في حال تفعيل مصادقة JMX لـ Cassandra.

    يبدو ناتج الأمر أعلاه كما هو موضّح أدناه:

    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 [-u username -pw password]  -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. حالة خادم التوفير (واجهة برمجة تطبيقات عميل العرض)
    nodetool [-u username -pw password] -h localhost statusthrift

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

    running

  4. حالة عمليات بث البيانات: مراقبة حركة البيانات لعُقد كاساندرا:
    nodetool [-u username -pw password] -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، يُرجى الاطّلاع على القسم حول أداةNodetool.

مصدر 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. شغّل قاعدة الأمر المكونة من أربعة أحرف لاختبار ما إذا كان الخادم يعمل في حالة ليست خطأ. تعرض الاستجابة الناجحة "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) متاحة، يمكنك استخدام لغة بايثون كبديل. أنشئ ملفًا باسم 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 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) للحصول على معلومات عن ذاكرة التخزين المؤقت.