Edge for Private Cloud الإصدار 4.19.01
يوضّح هذا المستند تقنيات المراقبة للمكوّنات المتوافقة مع عملية نشر Apigee Edge داخل المؤسسة.
نظرة عامة
يتيح متصفّح Edge استخدام عدة طرق للحصول على تفاصيل عن الخدمات والاطّلاع على حالاتها. يسرد الجدول التالي أنواع عمليات التحقّق التي يمكنك تنفيذها على كل خدمة مؤهَّلة:
واجهة برمجة تطبيقات الإدارة | |||||||
خدمة | استخدام الذاكرة [JMX*] | التحقّق من الخدمة | حالة النشر | axstatus | فحص قاعدة البيانات | حالة apigee-service |
apigee-monit ** |
خادم الإدارة | |||||||
معالج الرسائل | |||||||
بوستجريس | |||||||
معرّف Qpid | |||||||
جهاز التوجيه | |||||||
مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | مزيد من المعلومات | |
* قبل أن تتمكّن من استخدام JMX، يجب تفعيلها، كما هو موضّح في تفعيل JMX. ** تتحقّق خدمة |
منافذ مراقبة JMX وManagement API
يتيح كل مكوّن استخدام JMX وManagement API لرصد طلبات البيانات من خلال منافذ مختلفة. يسرد الجدول التالي منافذ JMX وManagement API لكل نوع من الخوادم:
المكوِّن | منفذ JMX | منفذ Management API |
---|---|---|
خادم الإدارة | 1099 | 8080 |
جهاز التوجيه | 1100 | 8081 |
معالج الرسائل | 1101 | 8082 |
معرّف Qpid | 1102 | 8083 |
بوستجريس | 1103 | 8084 |
استخدام JMX للمراقبة
وتستخدم عمليات المراقبة لكل من خادم الإدارة ومعالج الرسائل وQpid وPostgres معيار JMX. ومع ذلك، يتم تفعيل JMX بشكل تلقائي لـ Cassandra فقط، ويتم إيقافه تلقائيًا لجميع مكوّنات Edge الأخرى. لذلك، يجب تفعيل JMX بشكل فردي لكل مكوِّن قبل مراقبته.
مصادقة JMX غير مفعّلة تلقائيًا. يمكنك تفعيل مصادقة JMX لجميع المكونات. بالنسبة إلى Cassandra، اتّبِع التعليمات الواردة في تفعيل مصادقة JMX لـ Cassandra.
تفعيل JMX
يتم تفعيل JMX تلقائيًا في Cassandra فقط، ويتم إيقافه تلقائيًا لجميع مكونات Edge الأخرى. يوضّح هذا القسم كيفية تفعيل JMX لمكوّنات Edge الأخرى.
لتفعيل JMX:
- عدِّل ملف إعداد المكوِّن. يقع هذا الملف في
opt/apigee/edge-component_name/bin/start
. في بيئات الإنتاج، ستكون ملفات الإعداد هذه على أجهزة مختلفة.اختر من بين مواقع الملفات التالية على كل خادم:
- خادم الإدارة:
/opt/apigee/edge-management-server/bin/start
- معالج الرسائل:
/opt/apigee/edge-message-processor/bin/start
- Postgres:
/opt/apigee/edge-postgres-server/bin/start
- معرّف Qpid:
/opt/apigee/edge-qpid-server/bin/start
- جهاز التوجيه:
/opt/apigee/edge-router/bin/start
على سبيل المثال، ملف إعداد خادم الإدارة على خادمه هو
/opt/apigee/edge-management-server/bin/start
. - خادم الإدارة:
- أضِف خيارات
com.sun.management.jmxremote
التالية إلى السطرexec
الذي يبدأ المكوِّن:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
حيث يكون port_number هو منفذ JMX للخدمة. للحصول على رقم منفذ JMX للخدمة، يمكنك الاطّلاع على منافذ المراقبة في JMX وManagement API.
على سبيل المثال، لتفعيل JMX على خادم الإدارة، أضِف ما يلي إلى ملف إعداد خادم الإدارة:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \ -Djava.security.auth.login.config=$conf_path/jaas.config \ -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \ -Ddata.dir=$data_dir \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ $* $debug_options com.apigee.kernel.MicroKernel
يحدد هذا المثال المنفذ 1099 لخادم الإدارة. كما ذكرنا سابقًا، لكل خدمة رقم منفذ خاص بها.
يظهر السطر الذي تم تعديله في ملف الإعداد على النحو التالي:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
- احفظ ملف الإعداد.
- أعِد تشغيل المكوِّن باستخدام الأمر
restart
.على سبيل المثال، لإعادة تشغيل خادم الإدارة، نفِّذ الأمر التالي:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
مصادقة JMX غير مفعّلة تلقائيًا. يمكنك تفعيل مصادقة JMX لجميع المكوّنات، كما هو موضّح في تفعيل مصادقة JMX. لتفعيل مصادقة JMX لـ Cassandra، يمكنك الاطّلاع على تفعيل مصادقة JMX لـ Cassandra.
تفعيل مصادقة JMX
مصادقة JMX غير مفعّلة تلقائيًا. يمكنك تفعيل مصادقة JMX لجميع المكونات. بالنسبة إلى Cassandra، اتّبِع التعليمات الواردة في تفعيل مصادقة JMX لـ Cassandra.
لتفعيل مصادقة JMX، نفِّذ الإجراء change_jmx_auth
التالي على جميع العُقد:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
المكان:
- component هي إحدى السمات التالية:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- تحدّد السمة options ما يلي:
-u username
-p password
-e [y|n]
(تفعيل أو إيقاف)
- تحدد config_file موقع ملف الإعداد الذي تحدد فيه ما يلي:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(إذا لم يتم ضبط السياسة أو لم يتم تمريرها باستخدام-p
، سيُطلب منك ذلك)
يمكنك استخدام خيارات سطر الأوامر أو ملف الإعداد لتحديد اسم المستخدم وكلمة المرور وتفعيل/إيقاف الحالة. لم تحدّد مجموعة من الخيارات وملف إعداد معًا.
يتيح المثال التالي مصادقة JMX لخادم الإدارة باستخدام خيارات سطر الأوامر:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
يستخدم المثال التالي ملف إعداد بدلاً من خيارات سطر الأوامر:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
إذا كنت تشغّل Edge على عُقد متعددة، يمكنك تشغيل الأمر على جميع العُقد، مع تحديد اسم المستخدم وكلمة المرور نفسيهما.
لإيقاف مصادقة JMX في سطر الأوامر، استخدِم الخيار " -e n" على النحو الموضّح في المثال التالي:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
المراقبة باستخدام JConsole
استخدام JConsole (أداة متوافقة مع معيار JMX) لإدارة إحصاءات عمليات التحقق من الصحة ومعالجتها ومراقبتها. باستخدام JConsole، يمكنك الاطّلاع على إحصاءات JMX التي تعرضها الخوادم وعرضها في واجهة رسومية. لمزيد من المعلومات، يُرجى الاطّلاع على استخدام JConsole.
تستخدم JConsole عنوان URL التالي للخدمة لمراقبة سمات JMX (MBeans) المقدَّمة من خلال JMX:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
المكان:
- IP_address هو عنوان IP للخادم الذي تريد مراقبته.
- port_number هو رقم منفذ JMX للخادم الذي تريد مراقبته.
على سبيل المثال، لمراقبة خادم الإدارة، يمكنك إصدار أمر كما يلي (بافتراض أن عنوان IP للخادم هو 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
لاحظ أن هذا المثال يحدد المنفذ 1099، وهو منفذ JMX لخادم الإدارة. بالنسبة إلى المنافذ الأخرى، يمكنك الاطّلاع على منافذ مراقبة JMX وManagement API.
يعرض الجدول التالي إحصاءات JMX العامة:
مجموعات JMX MBeans | سمات JMX |
---|---|
Memory |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
الاستخدام |
|
المراقبة باستخدام 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 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 تُنفّذ موقتات عالية الدقة منبه ووقت النوم وتوقيت العمل وفترات زمنية. على سبيل المثال، يمكنك تثبيته باستخدام الأمر التالي:
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 مفعَّلة، سيتم عرض الحالة 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}/data/apigee-cassandra/jmxremote.password conf_cassandra-env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/data/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/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
- عدّل ملف
jmxremote.password
وأضف اسم المستخدم وكلمة المرور لـ JMX باستخدام البنية التالية:JMX_USERNAME JMX_PASSWORD
يكون JMX_USERNAME وJMX_PASSWORD هما اسم المستخدم وكلمة المرور اللذين ضبطتهما سابقًا في JMX.
- تأكَّد من أنّ الملف يملكه "apigee" ومن أنّ وضع الملف هو 400:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.password
- انسخ الملف التالي من دليل
- انسَخ ملف
jmxremote.access
وعدِّله:- انسخ الملف التالي من دليل
$JAVA_HOME
إلى/opt/apigee/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access
- يمكنك تعديل ملف jmxremote.access وإضافة الدور التالي:
JMX_USERNAME readwrite
- تأكَّد من أنّ الملف يملكه "apigee" ومن أنّ وضع الملف هو 400:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/data/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
". - يجب إلغاء تعليق الأسطر التالية في الملف:
-
JVM_OPTS="$JVM_OPTS -Djava.security.auth.login.config={T}conf_cassandra-env_java.security.auth.login.config{/T}"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.login.config=ApigeeSecureFileLoginModule"
-
- في سطر الأوامر، أنشِئ تجزئة SHA1 لكلمات المرور المطلوبة من خلال إدخال
echo -n 'Secret' | openssl dgst -sha1
. - ضبط كلمات المرور مقابل اسم المستخدم في
jmxremote.password
. - يمكنك تغيير الملف
cassandra-env.sh
مرة أخرى ليكون للقراءة فقط بعد التحديث.
إيقاف مصادقة 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 |
---|---|
الأعمدة العائلية/البيئة/البيئات عمود العائلات/تطبيق/مؤسسات ColumnFamilies/apprepo/apiproxy_revisions الأعمدة العائلية/apprepo/apiproxies العائلات العمودية/التدقيق/التدقيق الروابط العائلية/التدقيق/التدقيق |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
استخدام أداةNodetool لإدارة العُقد العنقودية
الأداة nodetool
هي واجهة سطر أوامر لـ Cassandra تدير
عُقد المجموعة. يمكن العثور على الأداة على /opt/apigee/apigee-cassandra/bin
.
يمكن إجراء عمليات الاستدعاء التالية على جميع العُقد العنقودية Cassandra:
- معلومات الرنين العامة (يمكن أيضًا استخدام عقدة 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
لمزيد من المعلومات عن nodetool
، يُرجى الاطّلاع على المقالة
لمحة عن الأداة المساعدةNodetool.
مصدر Cassandra
يُرجى الاطّلاع على عنوان URL التالي: http://www.datastax.com/docs/1.0/operations/monitoring.
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) متاحة، يمكنك استخدام لغة بايثون كبديل. أنشئ ملفًا
باسم
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
) للحصول على معلومات عن ذاكرة التخزين المؤقت.