يوضّح هذا المستند أساليب المراقبة للمكوّنات المتوافقة مع عملية نشر Apigee Edge for Private Cloud في الموقع.
نظرة عامة
يتيح Edge عدة طرق للحصول على تفاصيل حول الخدمات والتحقّق من حالاتها. يسرد الجدول التالي أنواع عمليات التحقّق التي يمكنك إجراؤها على كل خدمة مؤهَّلة:
| Mgmt API | |||||||
| المكوّن | استخدام الذاكرة [JMX*] | التحقّق من حالة الخدمة | حالة المستخدم/المؤسسة/ النشر | axstatus | التحقّق من قاعدة البيانات | حالة "apigee-service" |
apigee-monit** |
| خادم الإدارة | |||||||
| معالج الرسائل | |||||||
| جهاز التوجيه | |||||||
| Qpid | |||||||
| Postgres | |||||||
| مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | |
|
* قبل استخدام JMX، يجب تفعيلها كما هو موضّح في تفعيل JMX. ** تتحقّق خدمة |
|||||||
مراقبة المنافذ وملفات الإعداد
يتيح كل مكوّن استخدام 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 لضمان الأمان.
- عدِّل ملف الإعدادات المناسب (راجِع
مرجع ملف الإعدادات). أنشئ ملف الإعداد إذا لم يكن متوفّرًا.
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.access - عدِّل الملف وأضِف اسم مستخدم JMX متبوعًا بإذن (READONLY/READWRITE).
USERNAME READONLY
- تأكَّد من أنّ الملف مملوك لـ
apigeeوأنّ وضع الملف هو 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.access 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 المستند إلى SSL، عليك إزالة السمة conf_system_jmxremote_ssl أو تغيير القيمة إلى false. أعِد تشغيل مكوّن Edge المناسب.
المراقبة باستخدام JConsole
استخدِم JConsole (أداة متوافقة مع JMX) لإدارة ومراقبة فحص السلامة وإحصاءات العمليات. باستخدام JConsole، يمكنك استخدام إحصاءات JMX التي تعرضها خوادمك وعرضها في واجهة رسومية. لمزيد من المعلومات، يُرجى الاطّلاع على استخدام JConsole.
يجب بدء JConsole باستخدام مخزن الثقة وكلمة مرور مخزن الثقة في حال تفعيل طبقة المقابس الآمنة (SSL) لـ 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 على المكوّن الطرفي. القيمة التلقائية هي False.
conf_system_jmxremote_enable=true
إعدادات المصادقة المستندة إلى كلمة المرور
- تفعيل المصادقة المستندة إلى كلمة المرور تكون القيمة التلقائية مضبوطة على false.
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
- فعِّل خيار تخزين كلمة المرور بتنسيق مشفّر. تكون القيمة التلقائية مضبوطة على false.
conf_system_jmxremote_encrypted_auth=true
إعدادات JMX المستندة إلى طبقة المقابس الآمنة (SSL)
- فعِّل بروتوكول SSL للتواصل عبر JMX. تكون القيمة التلقائية مضبوطة على false.
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 القيمة التلقائية هي false. لا ينطبق إلا إذا تم تفعيل طبقة المقابس الآمنة (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 لخادم الإدارة هو 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:passwordcurl 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-serveredge-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 منفذ Management API للخدمة.
يفترض هذا المثال أنّك سجّلت الدخول إلى الخادم ويمكنك استخدام "localhost" كاسم المضيف. للتحقّق من الحالة عن بُعد باستخدام Management API، عليك تحديد عنوان IP للخادم وتضمين اسم المستخدم وكلمة المرور الخاصَّين بمشرف النظام في طلب البيانات من واجهة برمجة التطبيقات.
مراقبة Postgres
يتوافق Postgres مع العديد من الأدوات المساعدة التي يمكنك استخدامها للتحقّق من حالته. يتم وصف هذه الأدوات في الأقسام التالية.
التحقّق من المؤسسات والبيئات على Postgres
يمكنك البحث عن أسماء المؤسسات والبيئات التي تم إعدادها على خادم Postgres
من خلال تنفيذ الأمر curl التالي:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
من المفترض أن يعرض النظام اسم المؤسسة والبيئة.
التحقّق من حالة الإحصاءات
يمكنك التحقّق من حالة خوادم إحصاءات Postgres وQpid من خلال تنفيذ الأمر التالي
curl:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
يجب أن يعرض النظام حالة نجاح لجميع خوادم الإحصاءات، كما يوضّح المثال التالي:
{
"environments" : [ {
"components" : [ {
"message" : "success at Thu Feb 28 10:27:38 CET 2013",
"name" : "pg",
"status" : "SUCCESS",
"uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]"
}, {
"message" : "success at Thu Feb 28 10:29:03 CET 2013",
"name" : "qs",
"status" : "SUCCESS",
"uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]"
} ],
"message" : "",
"name" : "prod"
} ],
"organization" : "acme",
"status" : "SUCCESS"
}قاعدة بيانات PostgreSQL
يصف هذا القسم الأساليب التي يمكنك استخدامها خصيصًا لمراقبة قاعدة بيانات Postgres.
استخدام النص البرمجي check_postgres.pl
لمراقبة قاعدة بيانات PostgreSQL، يمكنك استخدام نص برمجي عادي للمراقبة،
check_postgres.pl. لمزيد من المعلومات، يُرجى الاطّلاع على http://bucardo.org/wiki/Check_postgres.
قبل تشغيل النص البرمجي:
- يجب تثبيت البرنامج النصي check_postgres.pl على كل عُقدة Postgres.
- تأكَّد من تثبيت
perl-Time-HiRes.x86_64، وهي وحدة Perl التي تنفّذ المنبّهات ذات الدقة العالية والسكون وgettimeofday وموقِّتات التمرين المتناوب. على سبيل المثال، يمكنك تثبيتها باستخدام الأمر التالي:
yum install perl-Time-HiRes.x86_64
- CentOS 7: قبل استخدام check_postgres.pl على CentOS v7، ثبِّت
perl-Data-Dumper.x86_64RPM.
check_postgres.pl output
يكون الناتج التلقائي لطلبات البيانات من واجهة برمجة التطبيقات باستخدام 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
يمكنك إجراء عمليات التحقّق من واجهة برمجة التطبيقات على جهاز 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
Apache Cassandra
يتم تفعيل JMX تلقائيًا في Cassandra، ولا يتطلّب الوصول عن بُعد إلى JMX في Cassandra إدخال كلمة مرور.
تفعيل مصادقة JMX لـ Cassandra
يمكنك تفعيل مصادقة JMX لـ Cassandra. بعد إجراء ذلك، سيُطلب منك بعد ذلك تمرير اسم مستخدم وكلمة مرور لجميع المكالمات إلى أداة nodetool.
لتفعيل مصادقة 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
- أعِد تشغيل 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(الذي تم إنشاؤه في في القسم السابق). - شغِّل configure على 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 مع طبقة المقابس الآمنة (SSL) إلى توفير أمان وتشفير إضافيَين للاتصال المستند إلى JMX مع Cassandra. لتفعيل JMX مع طبقة المقابس الآمنة، عليك تقديم مفتاح وشهادة إلى Cassandra لقبول اتصالات JMX المستندة إلى طبقة المقابس الآمنة. يجب أيضًا ضبط nodetool (وأي أدوات أخرى تتصل بـ Cassandra عبر JMX) لطبقة المقابس الآمنة (SSL).
يتوافق JMX المزوّد ببروتوكول طبقة المقابس الآمنة (SSL) مع كلمات مرور JMX المشفّرة والنص العادي.
لتفعيل JMX مع طبقة المقابس الآمنة (SSL) في Cassandra، اتّبِع الخطوات التالية:
- فعِّل JMX. فعِّل تشفير كلمة المرور إذا لزم الأمر.
- تفعيل مصادقة JMX لـ Cassandra
كما هو موضّح أعلاه. تأكَّد من أنّ nodetool يعمل مع اسم المستخدم وكلمة المرور اللذين تم ضبطهما.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
إعداد مخزن المفاتيح ومخزن الثقة
يجب أن يحتوي مخزن المفاتيح على مفتاح وشهادة، ويُستخدم لضبط خادم Cassandra. إذا كان مخزن المفاتيح يحتوي على عدة أزواج مفاتيح، تستخدم Cassandra أول زوج مفاتيح لتفعيل طبقة المقابس الآمنة.
يُرجى العِلم أنّ كلمات المرور لمخزن المفاتيح والمفتاح يجب أن تكون متطابقة (الخيار التلقائي عند إنشاء المفتاح باستخدام أداة keytool).
- يجب أن يحتوي Truststore على الشهادة فقط، ويستخدمه العملاء (الأوامر المستندة إلى apigee-service أو nodetool) للاتصال عبر 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 من خلال إدخال
- اضبط أوامر Cassandra في
apigee-service. يجب ضبط متغيّرات بيئة معيّنة أثناء تشغيل أوامر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 وSSL. حدِّد خيارًا استنادًا إلى سهولة الاستخدام وممارسات الأمان.- الخيار 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 -Djavax.net.ssl.trustStoreType=PKCS12
تأكَّد من أنّ ملف 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> # If you are using a non standard truststore type, export truststore type as well # Possible values are JKS, PKCS12, BCFKS export CASS_JMX_TRUSTSTORE_TYPE=PKCS12
نفِّذ الأمر
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> CASS_JMX_TRUSTSTORE_TYPE=PKCS12 /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
إعداد nodetool تتطلّب أداة Nodetool تمرير مَعلمات JMX إليها. هناك طريقتان يمكنك من خلالهما ضبط nodetool للتشغيل باستخدام JMX المفعّل عبر طبقة المقابس الآمنة، كما هو موضّح في خيارات الضبط أدناه:
تختلف الخيارات في طريقة تمرير الإعدادات ذات الصلة بطبقة المقابس الآمنة إلى أداة nodetool. وفي كلتا الحالتَين، يجب أن يكون لدى المستخدم الذي يشغّل nodetool أذونات بالقراءة على ملف truststore. حدِّد خيارًا مناسبًا استنادًا إلى سهولة الاستخدام وممارسات الأمان التي تتّبعها.
لمزيد من المعلومات عن مَعلمات nodetool، يُرجى الاطّلاع على مستندات Apache Cassandra nodetool.
خيار الإعداد 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 -Djavax.net.ssl.trustStoreType=PKCS12
يجب أن يكون مسار 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 -Djavax.net.ssl.trustStoreType=PKCS12 -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مع nodetool
apigee-service apigee-cassandra start
إيقاف مصادقة JMX لـ Cassandra
لإيقاف مصادقة JMX في Cassandra:
- تعديل "
/opt/apigee/customer/application/cassandra.properties". - أزِل السطر التالي في الملف:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- شغِّل configure على 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 |
|---|---|
|
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 |
استخدام أداة nodetool لإدارة عُقد المجموعة
أداة nodetool هي واجهة سطر أوامر لـ Cassandra تدير عُقد المجموعات. يمكنك العثور على الأداة في /opt/apigee/apigee-cassandra/bin.
يمكن إجراء الطلبات التالية على جميع عُقد مجموعة Cassandra:
- معلومات عامة عن الحلقة (يمكن أيضًا استخدامها لعقدة Cassandra واحدة): ابحث عن
"Up" (نشط) و "Normal" (عادي) لجميع العُقد.
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
- حالة خادم Thrift (واجهة برمجة تطبيقات العميل)
nodetool [-u username -pw password] -h localhost statusthrift
تظهر نتائج الأمر أعلاه على النحو التالي:
running
- حالة عمليات بث البيانات: راقِب عدد الزيارات لعُقد Cassandra:
nodetool [-u username -pw password] -h localhost netstats
ستظهر نتيجة الأمر أعلاه على النحو التالي:
Mode: NORMAL Not sending any streams. Read Repair Statistics: Attempted: 151612 Mismatch (Blocking): 0 Mismatch (Background): 0 Pool Name Active Pending Completed Dropped Commands n/a 0 0 0 Responses n/a 0 0 n/a
لمزيد من المعلومات حول استخدام أداة nodetool، راجِع مقالة لمحة عن أداة nodetool.
مورد Cassandra
يُرجى الرجوع إلى عنوان URL التالي: مراقبة Cassandra.
مراقبة Apache Qpid Broker-J
يمكنك مراقبة Qpid Broker-J من وحدة تحكّم إدارة Qpid. يوضّح هذا القسم كيفية الوصول إلى وحدة التحكّم واستخدامها لتنفيذ وظائف المراقبة الأساسية. للحصول على معلومات أكثر تفصيلاً حول استخدام وحدة التحكّم الإدارية، يُرجى الاطّلاع على وحدة التحكّم الإدارية على الويب في مستندات Apache Qpid.
الوصول إلى "وحدة التحكّم الإدارية"
منفذ وحدة التحكّم الإدارية التلقائي هو 8090. للوصول إلى وحدة التحكّم على هذا المنفذ التلقائي، وجّه متصفّح الويب إلى:
http://QPID_NODE_IP:8090
لتسجيل الدخول إلى وحدة التحكّم، استخدِم بيانات الاعتماد التلقائية التي ضبطتها Apigee أو بيانات الاعتماد التي تم ضبطها في ملف إعدادات Edge. لمعرفة التفاصيل، يُرجى الاطّلاع على مرجع ملف إعدادات Edge.
مراقبة قوائم الانتظار والرسائل
في لوحة التنقّل اليمنى، انتقِل إلى Java-Broker > virtualhosts > queues. اختَر قائمة انتظار لعرض تفاصيلها في الجزء الرئيسي من واجهة المستخدم. في عرض التفاصيل، يمكنك الاطّلاع على سمات وإحصاءات قائمة الانتظار، بما في ذلك معلومات عن الرسائل التي تم تسليمها، والرسائل المُضافة إلى قائمة الانتظار، ومعدلات الرسائل، وما إلى ذلك.
عرض ملفات السجلّ وتنزيلها
في لوحة التنقّل اليمنى، انتقِل إلى 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"
تفعيل المراقبة باستخدام SSL لـ Qpid
لتوفير أمان إضافي للمراقبة والإدارة، فعِّل طبقة المقابس الآمنة (SSL) على "بوابة إدارة Qpid" و"واجهات برمجة تطبيقات إدارة Qpid". اتّبِع الإرشادات أدناه لتقديم مفتاح وشهادة.
يوفّر Qpid خيارًا لـ File Keystore، وهو مفعَّل في Apigee. يقبل هذا النوع تنسيق ملف تخزين مفاتيح JKS العادي الذي تفهمه لغة Java وأدوات Java، مثل keytool. ويمكنه أيضًا قبول مخزن مفاتيح PKCS12، والذي يمكن إنشاؤه باستخدام أدوات مثل OpenSSL.
إعداد ملف تخزين المفاتيح
لإنشاء مخازن مفاتيح، يُرجى الاطّلاع على مستندات Java Keytool.
لإنشاء مخازن مفاتيح PKCS12، يُرجى الاطّلاع على مستندات OpenSSL.
بعد التحقّق من المتطلبات
- ضَع ملف تخزين المفاتيح في
/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
تفعيل طبقة المقابس الآمنة في 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 ## If you are using a PKCS12 keystore, specify the keystore type conf_qpidd_qpid.keystore.keyStoreType=PKCS12
- غيِّر مالك الملف إلى apigee:apigee:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
- اضبط Qpidd:
apigee-service apigee-qpidd configure
- إعادة تشغيل Qpidd:
apigee-service apigee-qpidd restart
- تحقَّق من الحالة باستخدام wait_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
- تحقَّق من الحالة باستخدام wait_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.8.5-19f1842d4b6ee1f82cc8b05284959b26c6ae507d, built on 2025-09-18 17:23 UTC 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
يمكنك مراقبة SymasLDAP لمعرفة ما إذا كان يتم عرض الطلبات المحدّدة بشكلٍ صحيح. بعبارة أخرى، ابحث عن طلب بحث محدّد يعرض النتيجة الصحيحة.
- استخدِم
ldapsearch(yum install symasldap-clients) للاستعلام عن إدخال مشرف النظام. يُستخدَم هذا الإدخال لمصادقة جميع طلبات البيانات من واجهة برمجة التطبيقات./opt/symas/bin/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" }
يمكنك أيضًا مراقبة ذاكرات التخزين المؤقت في SymasLDAP، ما يساعد في تقليل عدد عمليات الوصول إلى القرص وبالتالي تحسين أداء النظام. يمكن أن تؤثر مراقبة حجم ذاكرة التخزين المؤقت ثم ضبطها في خادم SymasLDAP بشكل كبير في أداء خادم الدليل. يمكنك الاطّلاع على ملفات السجلّ (opt/apigee/var/log) للحصول على معلومات حول ذاكرة التخزين المؤقت.