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

يصف هذا المستند أساليب المراقبة للمكوّنات المتوافقة مع نظام التشغيل داخل الشركة نشر Apigee Edge for Private Cloud

نظرة عامة

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

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

* قبل أن تتمكن من استخدام JMX، يجب تفعيلها، باعتباره يمكنك الاطّلاع عليها في مقالة تفعيل JMX.

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

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

يتوافق كل مكوّن مع Java Management Extensions (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
Postgres 1103 8084 $APIGEE_ROOT/customer/application/postgres-server.properties

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

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

تفعيل JMX

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

  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 المستند إلى طبقة المقابس الآمنة في مكوِّن 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.52.01/how-monitor#jconsole.

ويمكن إضافة سطر واحد يفيد بأنّه "يجب بدء jconsole بكلمة مرور Truststore وTruststore إذا تم تفعيل طبقة المقابس الآمنة لـ 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

الذاكرة

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 المستند إلى طبقة المقابس الآمنة

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

لتغيير تنسيق الردّ، يمكنك تحديد عنوان Accept على النحو التالي: &quot;application/json&quot; أو "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

يصف هذا القسم الأساليب التي يمكنك استخدامها بشكل خاص لمراقبة ما يُعرف باسم "بوستغريس" قاعدة البيانات.

استخدام نص 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 ناتج

إنّ الإخراج التلقائي لطلبات البيانات من واجهة برمجة التطبيقات باستخدام 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، يُرجى الاطّلاع على ما يلي:

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. أعِد تشغيل كاساندرا:
    /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. أعِد تشغيل كاساندرا:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. كرر هذه العملية على جميع عُقد Cassandra الأخرى.

تفعيل JMX مع طبقة المقابس الآمنة (SSL) لـ Cassandra

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

تتوافق JMX مع تفعيل طبقة المقابس الآمنة (SSL) مع كلمات مرور JMX بالنص العادي والمشفرة.

لتفعيل JMX مع بروتوكول SSL في Cassandra، اتّبِع الإجراء التالي:

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

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

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

    • يجب أن يحتوي ملف تخزين الثقة على الشهادة فقط، ويستخدمه العملاء (أوامر apigee-service أو nodetool) المستندة إلى الخدمة للاتصال عبر 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. أعِد تشغيل كاساندرا:
      /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 (مَعلمات SSL المُخزَّنة في الملف)

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

    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

    تأكَّد من أنّ ملف الثقة قابل للقراءة من قِبل مستخدم 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 المزود بطبقة المقابس الآمنة، كما هو موضح في خيارات الضبط أدناه:

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

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

    خيار الضبط الأول

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

    $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" مع أداة العقدة

إيقاف مصادقة 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. أعِد تشغيل كاساندرا:
    /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/environments

ColumnFamilies/apprepo/organizations

ColumnFamilies/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

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

أداة العقدة هي واجهة سطر أوامر لـ "كاساندرا" تدير عُقد المجموعة. يمكن العثور على الأداة على /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

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

مورد Cassandra

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

مراقبة Apache Qpid Broker-J

ويمكنك تتبُّع Qpid Broker-J من وحدة تحكُّم إدارة Qpid. يوضّح هذا القسم كيفية الوصول إلى وحدة التحكم واستخدامها لأداء وظائف المراقبة الأساسية. للحصول على مزيد من التفاصيل معلومات حول استخدام وحدة تحكم الإدارة، راجع وحدة تحكم إدارة الويب في مستندات Apache Qpid.

الوصول إلى وحدة تحكّم الإدارة

منفذ وحدة تحكم الإدارة التلقائي هو 8090. للوصول إلى وحدة التحكم عبر هذا المنفذ الافتراضي، توجيه متصفح الويب إلى:

http://QPID_NODE_IP:8090

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

مراقبة قوائم الانتظار والرسائل

في لوحة التنقّل اليمنى، انتقِل إلى Java-Broker > virtualhosts > queues. اختيار قائمة انتظار لعرض تفاصيلها في الجزء الرئيسي من واجهة المستخدم. في عرض التفاصيل، يمكنك الاطّلاع على سمات "القائمة الانتظار" وإحصاءاتها، بما في ذلك معلومات عن الرسائل التي تم تسليمها ووضعها في "القائمة الانتظار" ومعدّلات الرسائل وما إلى ذلك.

عرض ملفات السجلّ وتنزيلها

في لوحة التنقل اليمنى، انتقل إلى Java-Broker >. وسطاء للسوق > تسجيل الدخول. في عرض تفاصيل واجهة المستخدم الرئيسية، يمكنك الاطّلاع على تفاصيل ملفات السجلّ وتنزيلها.

استخدام واجهة برمجة تطبيقات إدارة Qpid

ويمكنك استخدام واجهة برمجة تطبيقات Apache Qpid Broker-J REST API لأتمتة مهام الإدارة ومراقبة الوسيط. للحصول على تفاصيل، يمكنك مراجعة مستندات واجهة برمجة التطبيقات لـ Apache Qpid Broker REST API

ويمكنك أيضًا استخدام أدوات سطر الأوامر لمراقبة الوسيط. على سبيل المثال:

curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"

تفعيل المراقبة باستخدام طبقة المقابس الآمنة Qpid

لتوفير أمان إضافي للمراقبة والإدارة، يمكنك تفعيل طبقة المقابس الآمنة (SSL) في بوابة إدارة Qpid وواجهات برمجة تطبيقات الإدارة في Qpid. اتّبِع الإرشادات أدناه لتقديم مفتاح وشهادة.

توفّر Qpid خيارًا لتخزين مفاتيح الملفات، ويتم تفعيله في Apigee. يقبل هذا النوع تنسيق ملف تخزين مفاتيح JKS القياسي المفهوم من خلال أدوات Java وJava، مثل keytool.

إعداد ملف تخزين المفاتيح

تحتاج إلى تقديم ملف الشهادة مباشرة ليستخدمه عملاء Qpidd، بالإضافة إلى استخدام أداة Keytool.

لإنشاء ملفات تخزين المفاتيح، يُرجى الاطّلاع على وثائق Java Keytool.

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

  1. يُرجى وضع ملف تخزين المفاتيح والشهادة في /opt/apigee/customer/application/apigee-qpidd.
  2. تأكَّد من أنّ ملف تخزين المفاتيح لا يمكن لأحد غير مستخدم Apigee قراءته:
    chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
      chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
        
      chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem
      chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem

تفعيل بروتوكول طبقة المقابس الآمنة في Qpid

نفِّذ الخطوات أدناه على عقدة Qpid واحدة في كل مرة:

افتح ملف /opt/apigee/customer/application/qpidd.properties وأضِف الأسطر التالية:

conf_qpidd_qpid_management.https.enabled=true
  conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
  conf_qpidd_qpid.keystore.password=keystore-password
  conf_qpidd_qpid.keystore.certificateAlias=certificate-alias
  conf_qpidd_qpid.keystore.certificate=/opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem
  1. غيّر مالك الملف إلى apigee:apigee:
    chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
  2. ضبط Qpidd:
    apigee-service apigee-qpidd configure
  3. إعادة تشغيل Qpidd:
    apigee-service apigee-qpidd restart
  4. التحقّق من الحالة باستخدام fit_for_ready:
    apigee-service apigee-qpidd wait_for_ready

إلغاء ضبط طبقة المقابس الآمنة

إزالة السمات أو التعليق عليها من الملف "/opt/apigee/customer/application/qpidd.properties":

conf_qpidd_qpid_management.https.enabled=true
  conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/keystore
  1. ضبط Qpidd:
    apigee-service apigee-qpidd configure
  2. أعِد تشغيل Qpidd:
    apigee-service apigee-qpidd restart
  3. يمكنك التحقّق من الحالة باستخدام wait_for_ready:
    apigee-service apigee-qpidd wait_for_ready

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 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) للحصول على معلومات حول ذاكرة التخزين المؤقت.