يوضّح هذا المستند تقنيات المراقبة للمكوّنات التي يدعمها نشر Apigee Edge على مستوى السحابة الإلكترونية الخاصة داخل المؤسسة.
نظرة عامة
يتيح Edge استخدام عدة طرق للحصول على تفاصيل حول الخدمات والاطّلاع على حالاتها. يسرد الجدول التالي أنواع عمليات التحقّق التي يمكنك إجراؤها على كل خدمة مؤهّلة:
واجهة برمجة تطبيقات الإدارة | |||||||
المكوِّن | استخدام الذاكرة [JMX*] | التحقّق من الخدمة | حالة النشر أو المؤسسة أو المستخدِم | axstatus | التحقق من قاعدة البيانات | حالة apigee-service |
apigee-monit ** |
خادم الإدارة | |||||||
معالج الرسائل | |||||||
جهاز التوجيه | |||||||
معرّف Qpid | |||||||
بوستجريس | |||||||
مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | |
* قبل التمكّن من استخدام JMX، يجب تفعيلها، كما هو موضّح في تفعيل JMX. ** تتحقّق خدمة |
مراقبة المنافذ وملفات الإعداد
يتيح كل مكوّن استخدام إضافات إدارة Java (JMX) ومراقبة الطلبات من واجهة برمجة التطبيقات Management API على منافذ مختلفة. يسرد الجدول التالي منافذ JMX وManagement API لكل نوع من الخوادم ومواقع ملفات الإعداد:
المكوِّن | منفذ JMX | منفذ واجهة برمجة التطبيقات للإدارة | موقع ملف الإعداد |
---|---|---|---|
خادم الإدارة | 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 بدون مصادقة أو اتصال مستند إلى طبقة المقابس الآمنة، يمكنك تنفيذ الخطوات أدناه. ملاحظة: في أنظمة الإنتاج، يجب تفعيل كلّ من المصادقة المشفرة وطبقة المقابس الآمنة (SSL) للحفاظ على الأمان.
- عدِّل ملف الإعداد المناسب (راجِع
مرجع ملف الإعداد). أنشئ ملف الإعداد إذا لم يكن متوفّرًا.
conf_system_jmxremote_enable=true
- احفظ ملف الإعداد وتأكَّد من ملكيته لـ
apigee:apigee
. - عليك إعادة تشغيل مكوّن Edge المناسب
apigee-service edge-management-server restart
لإيقاف سمة JMX، عليك إزالة السمة conf_system_jmxremote_enable
أو تغيير قيمتها إلى false
. ثم أعِد تشغيل مكوّن Edge المناسب.
المصادقة في JMX
يدعم Edge for Private Cloud المصادقة المستندة إلى كلمة المرور باستخدام التفاصيل المخزَّنة في الملفات. يمكنك تخزين كلمات المرور كتجزئة لتعزيز الأمان.
- لتفعيل مصادقة 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
. - أنشئ تجزئة SHA256 لكلمة المرور:
echo -n '
' | openssl dgst -sha256 - أنشئ ملف
jmxremote.password
يتضمّن بيانات اعتماد مستخدم JMX:- انسخ الملفات التالية من دليل
$JAVA_HOME
إلى الدليل/opt/apigee/customer/application/<component>/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- عدِّل الملف وأضِف اسم مستخدم وكلمة مرور JMX باستخدام البنية التالية:
USERNAME <HASH-PASSWORD>
- تأكَّد من أنّ الملف يملكه النطاق
apigee
وأنّ وضع الملف هو 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- انسخ الملفات التالية من دليل
- أنشئ ملف
jmxremote.access
يتضمّن أذونات مستخدم JMX:- انسخ الملفات التالية من دليل $JAVA_home إلى الدليل
/opt/apigee/customer/application/<component>/
cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
- عدِّل الملف وأضِف اسم مستخدم JMX متبوعًا بإذن (READONLY/READWRITE).
USERNAME READONLY
- تأكَّد من أنّ الملف يملكه النطاق
apigee
وأنّ وضع الملف هو 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- انسخ الملفات التالية من دليل $JAVA_home إلى الدليل
- أعِد تشغيل مكوّن Edge المناسب:
apigee-service edge-management-server restart
لإيقاف مصادقة JMX، عليك إزالة السمة
conf_system_jmxremote_authenticate
أو تغيير القيمة إلى false
وإعادة تشغيل مكوّن Edge المناسب.
طبقة المقابس الآمنة في JMX
لتفعيل JMX المستندة إلى طبقة المقابس الآمنة (SSL) في مكون Edge-*:
- عدِّل ملف الإعداد المناسب
(راجِع
مرجع ملف الإعداد). أنشئ ملف الإعداد إذا لم يكن متوفّرًا:
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
. - عليك تحضير ملف تخزين مفاتيح يحتوي على مفتاح الخادم ووضعه في المسار المتوفّر في
عملية الإعداد
conf_system_javax_net_ssl_keystore
أعلاه. تأكَّد من أنّ ملف تخزين المفاتيح قابل للقراءة بواسطةapigee:apigee
. - أعِد تشغيل مكوّن 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 في حال تفعيل طبقة المقابس الآمنة (SSL) لمنصة JMX". المرجع: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlالمراقبة باستخدام JConsole
استخدِم JConsole (أداة متوافقة مع معيار JMX) لإدارة إحصاءات التحقّق من الصحة ومعالجة إحصاءاتها ومراقبتها. باستخدام JConsole، يمكنك استخدام إحصاءات JMX التي تعرضها الخوادم وعرضها في واجهة رسومية. لمزيد من المعلومات، يُرجى الاطّلاع على استخدام JConsole.
تحتاج إلى بدء JConsole بكلمة مرور Merchantstore و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 باستخدام طبقة المقابس الآمنة الإعداد التلقائي "خطأ". سارٍ فقط إذا تم تمكين طبقة المقابس الآمنة (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 |
إرجاع معلومات عن الخدمة، بما في ذلك:
يتطلّب طلب البيانات من واجهة برمجة التطبيقات هذا إجراء المصادقة باستخدام بيانات اعتماد مشرف 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 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:passwordcurl 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 لمعالج الرسائل.
تتطلب منك هذه المكالمة إجراء مصادقة باستخدام اسم المستخدم وكلمة المرور الخاصَّين بإدارة النظام.
من المفترض أن يعرض الخادم الحالة "تم النشر" لجميع المكالمات. إذا لم تنجح هذه الخطوات، يمكنك اتّباع الخطوات التالية:
- تحقَّق من سجلّات الخادم بحثًا عن أي أخطاء. توجد السجلات في:
- خادم الإدارة:
opt/apigee/var/log/edge-management-server
- معالج الرسائل:
opt/apigee/var/log/edge-message-processor
- خادم الإدارة:
- اتصل بالخادم للتحقق مما إذا كان يعمل بشكل صحيح.
- أزِل الخادم من 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
:
- سجِّل الدخول إلى الخادم وشغِّل الأمر التالي:
/opt/apigee/apigee-service/bin/apigee-service service_name status
يكون service_name واحدًا مما يلي:
- خادم الإدارة:
edge-management-server
- معالج الرسائل:
edge-message-processor
- الرسائل البريدية:
edge-postgres-server
- معرّف Qpid:
edge-qpid-server
- جهاز التوجيه:
edge-router
مثال:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- خادم الإدارة:
- إذا كانت الخدمة لا تعمل، ابدأ تشغيل الخدمة:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- بعد إعادة تشغيل الخدمة، تأكَّد من أنّها تعمل إما من خلال استخدام الأمر
apigee-service status
الذي استخدمته سابقًا أو باستخدام Management API الموضّحة في مقالة Monitor with 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.
قبل تنفيذ النص البرمجي:
- يجب تثبيت النص البرمجي check_postgres.pl في كل عقدة Postgres.
- احرص على تثبيت
perl-Time-HiRes.x86_64
، وهي وحدة في Perl تنفّذ موقتات عالية الدقة تشمل المنبّهات والنوم ومواعيد العمل والفترات الزمنية. على سبيل المثال، يمكنك تثبيته باستخدام الأمر التالي:
yum install perl-Time-HiRes.x86_64
- CentOS 7: قبل استخدام check_postgres.pl على الإصدار 7 من نظام التشغيل CentOS، يجب تثبيت
perl-Data-Dumper.x86_64
RPM.
ناتج_check_postgres.pl
الناتج التلقائي من طلبات البيانات من واجهة برمجة التطبيقات باستخدام check_postgres.pl
هو متوافق مع Nagios. بعد تثبيت النص البرمجي، نفِّذ عمليات التحقق التالية:
- تحقَّق من حجم قاعدة البيانات:
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'
- تحقَّق من عدد الاتصالات الواردة بقاعدة البيانات ومقارنته بالحد الأقصى لعدد الاتصالات
المسموح بها:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- تحقَّق مما إذا كانت قاعدة البيانات قيد التشغيل ومتاحة:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- التحقّق من مساحة القرص:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- تحقَّق من عدد المؤسسات والبيئة التي تم إعدادها في عقدة 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، يُرجى الاطّلاع على ما يلي:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
أباتشي كاساندرا
تكون خدمة JMX مفعَّلة تلقائيًا بالنسبة إلى كاساندرا، ولا يتطلب وصول JMX عن بُعد إلى كاساندرا كلمة مرور.
تفعيل مصادقة JMX لـ Cassandra
يمكنك تفعيل مصادقة JMX لـ Cassandra. بعد إجراء ذلك، سيُطلب منك إدخال اسم مستخدم وكلمة مرور إلى جميع الطلبات التي يتم إرسالها إلى أداةNodetools.
لتفعيل مصادقة JMX لـ Cassandra:
- إنشاء ملف
cassandra.properties
وتعديله:- عدِّل ملف
/opt/apigee/customer/application/cassandra.properties
. إذا لم يكن الملف موجودًا، عليك إنشاؤه. - أضِف ما يلي إلى الملف:
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
- احفظ ملف
cassandra.properties
. - غيِّر مالك الملف إلى
apigee:apigee
، كما يوضِّح المثال التالي:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
لمزيد من المعلومات حول استخدام ملفات الخصائص لإعداد الرموز المميّزة، يمكنك الاطّلاع على كيفية إعداد Edge.
- عدِّل ملف
- إنشاء وتعديل
jmx_auth.sh
:- أنشئ ملفًا في الموقع التالي إذا لم يكن موجودًا:
/opt/apigee/customer/application/jmx_auth.sh
- أضِف السمات التالية إلى الملف:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
- احفظ ملف
jmx_auth.sh
. - مصدر الملف:
source /opt/apigee/customer/application/jmx_auth.sh
- أنشئ ملفًا في الموقع التالي إذا لم يكن موجودًا:
- انسخ ملف
jmxremote.password
وعدِّله:- انسخ الملف التالي من دليل
$JAVA_HOME
إلى/opt/apigee/customer/application/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
- عدِّل ملف
jmxremote.password
وأضِف اسم مستخدم وكلمة مرور JMX باستخدام البنية التالية:JMX_USERNAME JMX_PASSWORD
حيث يكون JMX_USERNAME وJMX_PASSWORD هما اسم المستخدم وكلمة المرور اللذين ضبطتهما سابقًا في JMX.
- تأكَّد من أنّ الملف يملكه الرمز "apigee" وأن وضع الملف هو 400:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
- انسخ الملف التالي من دليل
- انسخ ملف
jmxremote.access
وعدِّله:- انسخ الملف التالي من دليل
$JAVA_HOME
إلى/opt/apigee/customer/application/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
- عدِّل ملف
jmxremote.access
وأضِف الدور التالي:JMX_USERNAME readwrite
- تأكَّد من أنّ الملف يملكه الرمز "apigee" وأن وضع الملف هو 400:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
- انسخ الملف التالي من دليل
- تشغيل
configure
على Cassandra:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- أعِد تشغيل "كاساندرا":
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- كرر هذه العملية على جميع عُقد Cassandra الأخرى.
تفعيل تشفير كلمات مرور JMX
لتفعيل تشفير كلمة مرور JMX، نفِّذ الخطوات التالية:
- افتح الملف
source/conf/casssandra-env.sh
. - إنشاء ملف
cassandra.properties
وتعديله:- عدِّل ملف
/opt/apigee/customer/application/cassandra.properties
. إذا لم يكن الملف موجودًا، عليك إنشاؤه. - أضِف ما يلي إلى الملف:
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- احفظ ملف cassandra.properties.
- غيِّر مالك الملف إلى apigee:apigee، كما يوضِّح المثال التالي:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- عدِّل ملف
- في سطر الأوامر، أنشِئ تجزئات SHA1 لكلمات المرور المطلوبة من خلال إدخال
echo -n 'Secret' | openssl dgst -sha1
. - اضبط كلمات المرور على اسم المستخدم في
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
(الذي تم إنشاؤه في القسم السابق). - تنفيذ الضبط على Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- أعِد تشغيل "كاساندرا":
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- كرر هذه العملية على جميع عُقد Cassandra الأخرى.
تفعيل JMX باستخدام طبقة المقابس الآمنة (SSL) لتطبيق Cassandra
يؤدي تفعيل JMX مع طبقة المقابس الآمنة (SSL) إلى توفير مزيد من الأمان والتشفير للاتصالات التي تستند إلى JMX مع "كاساندرا". لتمكين JMX مع طبقة المقابس الآمنة (SSL)، تحتاج إلى تقديم مفتاح وشهادة إلى كاساندرا لقبول اتصالات JMX المستندة إلى طبقة المقابس الآمنة. ستحتاج أيضًا إلى تهيئة أداة العقدة (وأي أدوات أخرى تتواصل مع كاساندرا عبر JMX) لطبقة المقابس الآمنة.
تتوافق JMX مع طبقة المقابس الآمنة (SSL) مع كل من كلمات مرور JMX النصية العادية وكلمات مرور JMX المشفّرة.
لتمكين JMX مع طبقة المقابس الآمنة (SSL) لـ Cassandra، استخدم الإجراء التالي:
- فعِّل JMX. فعِّل تشفير كلمة المرور إذا لزم الأمر.
- تفعيل مصادقة JMX لـ Cassandra
كما هو موضح أعلاه. تأكَّد من أنّ أداة العقدة تعمل مع اسم المستخدم وكلمة المرور اللذين تم ضبطهما.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
تحضير ملف تخزين المفاتيح وملف Truststore.
يجب أن يحتوي ملف تخزين المفاتيح على مفتاح وشهادة، ويتم استخدامهما لإعداد خادم Cassandra. إذا كان ملف تخزين المفاتيح يحتوي على عدة أزواج من المفاتيح، ستستخدم "كاساندرا" أول زوج مفاتيح لتفعيل طبقة المقابس الآمنة.
تجدر الإشارة إلى أنّ كلمتَي مرور ملف تخزين المفاتيح يجب أن تكونا متطابقتان (الخيار التلقائي عندما تنشئ المفتاح باستخدام أداة Keytools).
- يجب أن يحتوي Truststore على الشهادة فقط ويستخدمه العملاء (الأوامر المستندة إلى خدمة برمجة التطبيقات أو أداة العقدة) للاتصال عبر JMX.
بعد التحقّق من المتطلبات أعلاه:
- ضَع ملف تخزين المفاتيح في
/opt/apigee/customer/application/apigee-cassandra/
. - يُرجى التأكّد من أنّ ملف تخزين المفاتيح قابل للقراءة بواسطة مستخدم Apigee فقط من خلال إدخال
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
.chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- اضبط Cassandra لـ JMX باستخدام طبقة المقابس الآمنة (SSL) من خلال تنفيذ الخطوات التالية:
- إيقاف عقدة Cassandra بإدخال
apigee-service apigee-cassandra stop
- فعِّل طبقة المقابس الآمنة (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
- غيِّر مالك الملف إلى apigee:apigee، كما يوضِّح المثال التالي:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- تنفيذ الضبط على Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- أعِد تشغيل "كاساندرا":
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- كرر هذه العملية على جميع عُقد Cassandra الأخرى.
- ابدأ عقدة Cassandra بإدخال
apigee-service apigee-cassandra start
.
- إيقاف عقدة Cassandra بإدخال
- اضبط أوامر
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 (وسيطات طبقة المقابس الآمنة المخزَّنة في الملف)
- الخيار 2 (وسيطات طبقة المقابس الآمنة المخزَّنة في متغيرات البيئة)
- الخيار 3 (تم تمرير وسيطات طبقة المقابس الآمنة مباشرةً إلى
apigee-service
)
الخيار 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
قم بإعداد أداة العقدة. تتطلب أداة Nodetools تمرير معلمات JMX إليها. هناك طريقتان يمكنك من خلالهما ضبط أداة العقدة ليتم تشغيلها باستخدام حزمة JMX متوافقة مع طبقة المقابس الآمنة، كما هو موضّح في خيارات الضبط أدناه:
تختلف الخيارات في طريقة تمرير الإعدادات ذات الصلة بطبقة المقابس الآمنة إلى طبقة المقابس الآمنة. وفي كلتا الحالتين، يجب أن يحصل المستخدم الذي يشغّل أداة العقدة على أذونات "قراءة" في ملف 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
باستخدام الخيار--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)
إذا كنت بحاجة إلى التراجع عن عمليات ضبط طبقة المقابس الآمنة الموضّحة في الإجراء أعلاه، اتّبِع الخطوات التالية:
- يمكنك إيقاف
apigee-cassandra
من خلال الدخول إلىapigee-service apigee-cassandra stop
. - أزِل السطر
conf_cassandra-env_com.sun.management.jmxremote.ssl=true
من الملف/opt/apigee/customer/application/cassandra.properties
. - يُرجى كتابة السطور التالية في
/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”
- ابدأ
apigee-cassandra
بإدخال - أزِل متغير البيئة
CASS_JMX_SSL
في حال ضبطه.unset CASS_JMX_SSL
- تأكَّد من أنّ الطلبات المستندة إلى
apigee-service
، مثلring
وstop
وbackup
وغيرها، تعمل بشكل صحيح. - إيقاف استخدام مفتاح التحكّم "
--ssl
" مع أداة العقدة
apigee-service apigee-cassandra start
إيقاف مصادقة JMX لـ Cassandra
لإيقاف مصادقة JMX لـ Cassandra:
- تعديل
/opt/apigee/customer/application/cassandra.properties
- أزِل السطر التالي في الملف:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- تنفيذ الضبط على Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- أعِد تشغيل "كاساندرا":
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- كرر هذه العملية على جميع عُقد 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 |
---|---|
العمود "Families" (العائلة/apprepo/البيئات) العمود "Familys" (تطبيق العائلة)/المؤسسات ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies العائلات العمودية/التدقيق/التدقيق العمودي/التدقيق/التدقيق |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
استخدام أداة العقدة لإدارة عُقد المجموعة
إن أداةNodetools هي واجهة سطر أوامر لـ "كاساندرا" تدير
عُقد المجموعة. يمكن العثور على الأداة على /opt/apigee/apigee-cassandra/bin
.
يمكن إجراء الطلبات التالية على جميع عُقد Cassandra العنقودية:
- معلومات عامة حول الحلقة (يمكن أيضًا أن تكون قيمة عقدة 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
- معلومات عامة عن العُقد (طلب لكل عقدة)
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
- حالة خادم التوفير (واجهة برمجة تطبيقات عميل العرض)
nodetool [-u username -pw password] -h localhost statusthrift
يبدو ناتج الأمر أعلاه على النحو التالي:
running
- حالة عمليات بث البيانات: مراقبة حركة الزيارات لعُقد كاساندرا:
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
لمزيد من المعلومات عن أداة العقدة، راجِع المقالة لمحة عن الأداة المساعدة لأداة العقدة.
موارد "كاساندرا"
يمكنك الرجوع إلى عنوان 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 > ظاهري مضيفات > قوائم الانتظار. يمكنك اختيار قائمة انتظار لعرض تفاصيلها في الجزء الرئيسي من واجهة المستخدم. في طريقة عرض التفاصيل، يمكنك الاطّلاع على السمات والإحصاءات لقائمة الانتظار، بما في ذلك معلومات حول الرسائل التي تم تسليمها وإدراجها في قائمة الانتظار ومعدّلات الرسائل وما إلى ذلك.
عرض ملفات السجلّ وتنزيلها
في لوحة التنقّل اليمنى، انتقِل إلى Java-Broker > Middleloggers > logfile. في طريقة عرض تفاصيل واجهة المستخدم الرئيسية، يمكنك الاطّلاع على تفاصيل ملف السجلّ وتنزيل ملفات السجلّ.
استخدام Qpid Management API
يمكنك استخدام Apache Qpid Broker-J REST API لتنفيذ مهام الإدارة تلقائيًا ومراقبة الوسيط. للحصول على التفاصيل، راجِع مستندات واجهة برمجة تطبيقات Apache Qpid Broker REST.
يمكنك أيضًا استخدام أدوات سطر الأوامر لمراقبة الوسيط. مثال:
curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"
Apache ZooKeeper
التحقّق من حالة ZooKeeper
- تأكَّد من أنّ عملية ZooKeeper قيد التشغيل. تكتب أداة ZooKeeper ملف PID إلى
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - اختبِر منافذ ZooKeeper للتأكّد من أنّه يمكنك إنشاء اتصال TCP بالمنفذَين 2181 و3888 على كل خادم من خوادم ZooKeeper.
- تأكد من أنه يمكنك قراءة القيم من قاعدة بيانات ZooKeeper. يمكنك الربط باستخدام مكتبة برامج ZooKeeper (أو
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) وقراءة قيمة من قاعدة البيانات. - التحقّق من الحالة:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
استخدام كلمات ZooKeeper المكوَّنة من أربعة أحرف
يمكن مراقبة أداة ZooKeeper من خلال مجموعة صغيرة من الأوامر (تتألف من أربع كلمات) يتم إرسالها إلى المنفذ 2181 باستخدام netcat (nc) أو telnet.
لمزيد من المعلومات حول أوامر ZooKeeper، راجع: مرجع أوامر Apache ZooKeeper.
مثال:
srvr
: يسرد التفاصيل الكاملة للخادم.stat
: يسرد تفاصيل موجزة للخادم والبرامج المرتبطة به.
يمكن إصدار الأوامر التالية إلى منفذ ZooKeeper:
- شغل قاعدة الأوامر المكونة من أربعة أحرف لاختبار ما إذا كان الخادم يعمل في حالة ليست خطأ. تعرض الاستجابة الناجحة "imok".
echo ruok | nc host 2181
المرتجعات:
imok
- شغِّل الأمر
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
- إذا لم تكن الدالة 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 لمعرفة ما إذا كان يتم عرض طلبات محددة بشكلٍ صحيح أم لا. بمعنى آخر، عليك البحث عن عملية بحث معيّنة تعرض النتيجة الصحيحة.
- استخدِم
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
- تحقَّق مما إذا كان خادم الإدارة لا يزال متصلاً ببروتوكول LDAP باستخدام الأمر التالي:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
المرتجعات:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
يمكنك أيضًا مراقبة ذاكرات التخزين المؤقت لبرنامج OpenLDAP، ما يساعد في تقليل عدد عمليات الوصول إلى الأقراص وبالتالي تحسين أداء النظام. يمكن أن تؤثر مراقبة حجم ذاكرة التخزين المؤقت ثم ضبطه في خادم OpenLDAP بشكل كبير في أداء خادم الدليل. يمكنك عرض ملفات السجلّ (opt/apigee/var/log
) للحصول على معلومات حول ذاكرة التخزين المؤقت.