يوضّح هذا المستند أساليب مراقبة المكوّنات المتاحة من خلال نشر Apigee Edge for Private Cloud داخل المؤسسة.
نظرة عامة
تتيح شبكة Edge بعدة طرق للحصول على تفاصيل حول الخدمات والتحقّق من حالتها. يوضّح الجدول التالي أنواع عمليات التحقّق التي يمكنك إجراؤها على كل خدمة مؤهَّلة:
واجهة برمجة تطبيقات الإدارة | |||||||
المكوِّن | استخدام الذاكرة [JMX*] | التحقّق من الخدمة | حالة النشر/المستخدم/ المؤسسة | axstatus | فحص قاعدة البيانات | حالة apigee-service |
apigee-monit ** |
خادم الإدارة | |||||||
معالج الرسائل | |||||||
جهاز التوجيه | |||||||
Qpid | |||||||
بوستشرس | |||||||
مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | |
* قبل أن تتمكّن من استخدام JMX، يجب تفعيله كما هو موضّح في تفعيل JMX. ** تتحقّق خدمة |
مراقبة المنافذ وملفات الإعداد
يتوافق كل مكوّن مع إضافات إدارة 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 بدون مصادقة أو اتصال مستند إلى طبقة المقابس الآمنة، عليك تنفيذ الخطوات التالية. ملاحظة: في أنظمة الإنتاج، يجب تفعيل كلٍّ من المصادقة المشفَّرة وطبقة المقابس الآمنة لأغراض الأمان.
- عدِّل ملف الإعداد المناسب (راجِع
مرجع ملف الإعداد). أنشئ ملف الإعداد إذا لم يكن متوفّرًا.
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 المستند إلى طبقة المقابس الآمنة في مكوِّن 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 في حال تفعيل طبقة المقابس الآمنة لـ 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 المستند إلى طبقة المقابس الآمنة
- تفعيل طبقة المقابس الآمنة لاتصال 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 |
عرض معلومات عن الخدمة، بما في ذلك:
يتطلّب طلب البيانات من واجهة برمجة التطبيقات هذا المصادقة باستخدام بيانات اعتماد مشرف 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
- Postgres:
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 الموضّحة في المراقبة باستخدام 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 التي تستخدم المنبّهات ذات الدقة العالية والمحدّدة للنوم وgettimeofday والموقّتات بفواصل زمنية. على سبيل المثال، يمكنك تثبيته باستخدام الأمر التالي:
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 لـ Cassandra
يمكنك تفعيل مصادقة JMX لـ Cassandra. بعد إجراء ذلك، سيُطلب منك إدخال اسم مستخدم وكلمة مرور لجميع الاتصالات إلى أداة العقدة المساعدة.
لتفعيل مصادقة 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
" على "كاساندرا":/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- إعادة تشغيل Cassandra:
/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
- إعادة تشغيل Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- كرر هذه العملية على جميع عُقد Cassandra الأخرى.
تفعيل JMX مع طبقة المقابس الآمنة (SSL) لـ Cassandra
يؤدي تفعيل JMX مع طبقة المقابس الآمنة إلى توفير أمان وتشفير إضافي للاتصال المستند إلى JMX مع "كاساندرا". لتفعيل JMX مع طبقة المقابس الآمنة (SSL)، تحتاج إلى تقديم مفتاح وشهادة إلى "كاساندرا" لقبول اتصالات JMX المستندة إلى طبقة المقابس الآمنة. تحتاج أيضًا إلى تهيئةNodetool (وأي أدوات أخرى تتصل مع Cassandra عبر JMX) لطبقة المقابس الآمنة.
تتوافق JMX مع تفعيل طبقة المقابس الآمنة (SSL) مع كلمات مرور JMX بالنص العادي والمشفرة.
لتمكين JMX مع طبقة المقابس الآمنة (SSL) لـ Cassandra، استخدم الإجراء التالي:
- فعِّل JMX. فعِّل تشفير كلمة المرور إذا لزم الأمر.
- تفعيل مصادقة JMX على Cassandra
كما هو موضح أعلاه. تأكَّد من أنّ أداة العقدة تعمل مع اسم المستخدم وكلمة المرور اللذين تم ضبطهما.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
إعداد ملف تخزين المفاتيح وملف تخزين الثقة.
يجب أن يحتوي ملف تخزين المفاتيح على مفتاح وشهادة، ويتم استخدامه لإعداد خادم Cassandra. إذا كان ملف تخزين المفاتيح يحتوي على عدة أزواج مفاتيح، تستخدم "كاساندرا" أول زوج مفاتيح لتفعيل طبقة المقابس الآمنة.
يُرجى العِلم أنّ كلمتَي مرور ملف تخزين المفاتيح والمفتاح يجب أن تكون متطابقة (الإعداد التلقائي عند إنشاء المفتاح باستخدام أداة keytool).
- يجب أن يحتوي 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 باستخدام طبقة المقابس الآمنة، وذلك من خلال تنفيذ الخطوات التالية:
- إيقاف عقدة 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
- إعادة تشغيل Cassandra:
/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 (وسيطات طبقة المقابس الآمنة (SSL) المخزّنة في ملف)
- الخيار 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
تأكَّد من أنّ ملف الثقة قابل للقراءة من قِبل مستخدم 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
عليك إعداد أداة العقدة. تتطلب أداة 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
باستخدام الخيار--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)
إذا كنت بحاجة إلى العودة إلى إعدادات طبقة المقابس الآمنة (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
- إعادة تشغيل Cassandra:
/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 |
---|---|
العمود "العائلات"/apprepo/environments العمود "العائلات"/التطبيق/المؤسسات العمود Families/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies عمود العائلات/التدقيق/التدقيق العمود Families/audit/audits_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
استخدام أداة العقدة لإدارة العُقد العنقودية
أداة العقدة هي واجهة سطر أوامر لـ "كاساندرا" تدير عُقد المجموعة. يمكن العثور على الأداة على /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 > brokerloggers (الوسطاء) > Logfile. في عرض التفاصيل الرئيسي لواجهة المستخدم، يمكنك الاطّلاع على تفاصيل ملفات السجلّ وتنزيل ملفات السجلّ.
استخدام واجهة برمجة تطبيقات إدارة 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.
بعد التحقّق من المتطلبات
- يُرجى وضع ملف تخزين المفاتيح والشهادة في
/opt/apigee/customer/application/apigee-qpidd
. - تأكَّد من أنّه بإمكان مستخدم 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
- تغيير مالك الملف إلى apigee:apigee:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
- ضبط Qpidd:
apigee-service apigee-qpidd configure
- أعِد تشغيل Qpidd:
apigee-service apigee-qpidd restart
- التحقّق من الحالة باستخدام 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
- ضبط Qpidd:
apigee-service apigee-qpidd configure
- أعِد تشغيل Qpidd:
apigee-service apigee-qpidd restart
- التحقّق من الحالة باستخدام fit_for_ready:
apigee-service apigee-qpidd wait_for_ready
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:
- قم بتشغيل أمر الأوامر ruok المكوَّن من أربعة أحرف لاختبار ما إذا كان الخادم يعمل في حالة غير خطأ. وتعرض الإجابة الناجحة "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
) للحصول على معلومات حول ذاكرة التخزين المؤقت.