این سند تکنیکهای نظارت بر مؤلفههای پشتیبانیشده توسط استقرار درونمحل Apigee Edge برای Private Cloud را شرح میدهد.
نمای کلی
Edge از چند روش برای دریافت جزئیات درباره سرویسها و همچنین بررسی وضعیت آنها پشتیبانی میکند. جدول زیر انواع بررسیهایی را که میتوانید در هر سرویس واجدشرایط انجام دهید فهرست میکند:
| Mgmt API | |||||||
| مؤلفه | استفاده از حافظه [JMX*] | بررسی سرویس | وضعیت کاربر/سازمان/ استقرار | axstatus | بررسی پایگاه داده | وضعیت apigee-service |
apigee-monit** |
| سرور مدیریت | |||||||
| پردازشگر پیام | |||||||
| رهیاب | |||||||
| Qpid | |||||||
| Postgres | |||||||
| اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | |
|
* قبلاز اینکه بتوانید از JMX استفاده کنید، باید آن را فعال کنید، همانطور که در فعال کردن JMX شرح داده شده است. ** سرویس |
|||||||
درحال پایش درگاهها و فایلهای پیکربندی
هر مؤلفه از «افزونههای مدیریت جاوا» (JMX) و تماسهای پایش «میانای برنامهسازی کاربردی مدیریت» در درگاههای مختلف پشتیبانی میکند. جدول زیر درگاههای 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، مراحل زیر را انجام دهید. توجه: در سیستمهای تولید، هم اصالتسنجی رمزگذاریشده و هم 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 مناسب را بازراهاندازی کنید.
SSL در 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بالا قرار دهید. مطمئن شوید فایل keystore توسطapigee:apigeeقابلخواندن باشد. - عنصر Edge مناسب را بازراهاندازی کنید:
apigee-service edge-management-server restart
برای غیرفعال کردن JMX مبتنی بر SSL، یا ویژگی conf_system_jmxremote_ssl را بردارید
یا مقدار را به false تغییر دهید. مؤلفه Edge مناسب را بازراهاندازی کنید.
نظارت با JConsole
از JConsole (ابزار سازگار با JMX) برای مدیریت و نظارت بر بررسی سلامت و آمار پردازش استفاده کنید. با JConsole، میتوانید آمار JMX را که سرورهایتان ارائه میدهند مصرف کنید و آنها را در یک میانای گرافیکی نمایش دهید. برای اطلاعات بیشتر، استفاده از JConsole را ببینید.
اگر SSL برای JMX فعال باشد، باید JConsole را با truststore و گذرواژه truststore شروع کنید. استفاده از JConsole را ببینید.
JConsole از نشانی وب سرویس زیر برای پایش مشخصههای 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
توجه داشته باشید که این مثال درگاه ۱۰۹۹ را مشخص میکند که درگاه JMX سرور مدیریت است. برای درگاههای دیگر، درگاههای نظارت JMX و Management API را ببینید.
جدول زیر آمار عمومی JMX را نشان میدهد:
| JMX MBeans | مشخصههای JMX |
|---|---|
|
حافظه |
HeapMemoryUsage |
|
NonHeapMemoryUsage |
|
|
کاربرد |
|
مرجع فایل پیکربندی
بخشهای زیر تغییراتی را که ممکن است لازم باشد در فایلهای پیکربندی عنصر Edge برای پیکربندیهای مربوط به JMX ایجاد کنید شرح میدهد. برای اطلاعات بیشتر، پایش درگاهها و فایلهای پیکربندی را ببینید.
پیکربندی JMX برای افزودن به فایل پیکربندی مؤلفه مناسب
- عامل JMX را در مؤلفه edge فعال کنید. بهطور پیشفرض نادرست است.
conf_system_jmxremote_enable=true
پیکربندیهای اصالتسنجی گذرواژهمبنا
- اصالتسنجی مبتنی بر گذرواژه را فعال کنید. بهطور پیشفرض نادرست است.
conf_system_jmxremote_authenticate=true
- مسیر دسترسی به فایل. باید فقط تحت مالکیت و قابلخواندن توسط کاربر Apigee باشد.
conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
- مسیر فایل گذرواژه. باید فقط تحت مالکیت و قابلخواندن توسط کاربر Apigee باشد.
conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
- ذخیره کردن گذرواژه در قالب رمزگذاریشده را فعال کنید. بهطور پیشفرض نادرست است.
conf_system_jmxremote_encrypted_auth=true
پیکربندیهای JMX مبتنی بر SSL
- SSL را برای ارتباط JMX فعال کنید. بهطور پیشفرض نادرست است.
conf_system_jmxremote_ssl=true
- مسیر keystore. باید فقط تحت مالکیت و قابلخواندن توسط کاربر Apigee باشد.
conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
- گذرواژه 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 شامل چندین API است که میتوانید از آنها برای انجام بررسیهای سرویس در سرورهایتان و همچنین بررسی کاربران، سازمانها، و استقرارها استفاده کنید. این بخش این میاناهای برنامهسازی کاربردی را شرح میدهد.
انجام بررسیهای سرویس
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 API که باید استفاده شود، به درگاههای پایش JMX و Management API مراجعه کنید
برای تغییر قالب پاسخ، میتوانید سرایند Accept را بهعنوان
«application/json» یا «application/xml» مشخص کنید.
مثال زیر وضعیت «مسیریاب» را در localhost (درگاه ۸۰۸۱) دریافت میکند:
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 یا ۸۰۸۰ برای «سرور مدیریت» است یا ۸۰۸۲ برای «پردازشگر پیام».
برای این تماس باید با نام کاربری و گذرواژه مدیریت سیستم اصالتسنجی کنید.
سرور باید وضعیت «پیادهسازیشده» را برای همه تماسها برگرداند. اگر این مراحل ناموفق بود، کارهای زیر را انجام دهید:
- گزارشهای سرور را برای پیدا کردن خطاها بررسی کنید. گزارشها در اینجا قرار دارد:
- سرور مدیریت:
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 درگاه «میانای برنامهسازی کاربردی مدیریت» برای سرویس است.
این مثال فرض میکند که شما به سیستم سرور وارد شدهاید و میتوانید از «localhost» بهعنوان نام میزبان استفاده کنید. برای بررسی وضعیت ازراهدور با Management API، باید نشانی IP سرور را مشخص کنید و نام کاربری و گذرواژه سرپرست سامانه را در فراخوانی API خود بگنجانید.
پایش Postgres
Postgres از چندین ابزار پشتیبانی میکند که میتوانید از آنها برای بررسی وضعیت آن استفاده کنید. این ابزارهای کمکی در بخشهای زیر شرح داده شدهاند.
بررسی سازمانها و محیطها در Postgres
با صدور دستور curl زیر میتوانید نامهای سازمان و محیطی را که در «سرور Postgres» آمادهسازی شدهاند بررسی کنید:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
سیستم باید نام سازمان و محیط را نمایش دهد.
درستیسنجی وضعیت Analytics
با صدور دستور زیر میتوانید وضعیت سرورهای تجزیهوتحلیل 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
برونداد پیشفرض تماسهای API بااستفاده از 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
دستور زیر، بررسیهای میانای برنامهسازی کاربردی را در دستگاه Postgres انجام دهید:
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» است و حالت فایل ۴۰۰ است:
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» است و حالت فایل ۴۰۰ است:
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
- فایل
- در خط فرمان، با وارد کردن
echo -n 'Secret' | openssl dgst -sha1، مقدار درهمسازی 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 با SSL امنیت و رمزگذاری بیشتری برای ارتباطات مبتنی بر JMX با Cassandra فراهم میکند. برای فعال کردن JMX با SSL، باید یک کلید و یک گواهی به Cassandra ارائه دهید تا اتصالات JMX مبتنی بر SSL را بپذیرد. همچنین باید nodetool (و هر ابزار دیگری که ازطریق JMX با Cassandra ارتباط برقرار میکند) را برای SSL پیکربندی کنید.
JMX فعالشده با SSL از گذرواژههای JMX رمزگذاریشده و بدون رمزگذاری پشتیبانی میکند.
برای فعال کردن JMX با SSL برای Cassandra، از روش زیر استفاده کنید:
- JMX را فعال کنید. درصورت نیاز، رمزگذاری گذرواژه را فعال کنید.
- اصالتسنجی JMX را برای Cassandra فعال کنید.
طبق توضیحات بالا. مطمئن شوید که nodetool با نام کاربری و گذرواژه پیکربندیشده کار میکند.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
آمادهسازی keystore و truststore.
محل ذخیره کلید باید حاوی کلید و گواهینامه باشد، و برای پیکربندی سرور Cassandra استفاده میشود. اگر keystore شامل چندین جفت کلید باشد، Cassandra از اولین جفت کلید برای فعال کردن SSL استفاده میکند.
توجه داشته باشید که گذرواژههای keystore و کلید باید یکسان باشند (پیشفرض هنگام تولید کلید بااستفاده از keytool).
- Truststore باید فقط حاوی گواهینامه باشد و کارخواهها (فرمانهای مبتنی بر apigee-service یا nodetool) از آن برای اتصال ازطریق JMX استفاده میکنند.
پساز تأیید الزامات بالا:
- فایل keystore را در
/opt/apigee/customer/application/apigee-cassandra/قرار دهید. - مطمئن شوید فایل انبار کلید فقط توسط کاربر Apigee قابلخواندن است. برای این کار، موارد زیر را وارد کنید
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- با انجام مراحل زیر، Cassandra را برای JMX با SSL پیکربندی کنید:
- با وارد کردن دستور زیر، گره Cassandra را متوقف کنید
apigee-service apigee-cassandra stop
- با باز کردن فایل
/opt/apigee/customer/application/cassandra.propertiesو افزودن خطوط زیر، SSL را در Cassandra فعال کنید: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-serviceCassandra را پیکربندی کنید. هنگام اجرای فرمانهای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 وجود دارد. گزینهای را براساس قابلیت استفاده و شیوههای امنیتیتان انتخاب کنید.- گزینه ۱ (متغیرهای مستقل SSL ذخیرهشده در فایل)
- گزینه ۲ (آرگومانهای SSL ذخیرهشده در متغیرهای محیط)
- گزینه ۳ (متغیرهای مستقل SSL مستقیماً به
apigee-serviceمنتقل میشود)
گزینه ۱ (آرگومانهای SSL ذخیرهشده در فایل)
متغیرهای محیطی زیر را تنظیم کنید:
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y
فایلی در دایرکتوری صفحه اصلی کاربر Apigee (
/opt/apigee) ایجاد کنید.$HOME/.cassandra/nodetool-ssl.properties
فایل را ویرایش کنید و خطوط زیر را اضافه کنید:
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.net.ssl.trustStoreType=PKCS12
مطمئن شوید فایل trustore توسط کاربر Apigee قابلخواندن باشد.
فرمان
apigee-serviceزیر را اجرا کنید. اگر بدون خطا اجرا شود، پیکربندیهایتان درست است.apigee-service apigee-cassandra ring
گزینه ۲ (آرگومانهای SSL ذخیرهشده در متغیرهای محیط)
متغیرهای محیطی زیر را تنظیم کنید:
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y # 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
گزینه ۳ (متغیرهای مستقل SSL مستقیماً به
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 فعالشده با SSL وجود دارد، همانطور که در گزینههای پیکربندی زیر توضیح داده شده است:
گزینهها در نحوه انتقال پیکربندیهای مربوط به SSL به nodetool متفاوت هستند. در هر دو مورد، کاربری که nodetool را اجرا میکند باید اجازه READ (خواندن) برای فایل truststore داشته باشد. گزینه مناسب را براساس قابلیت استفاده و شیوههای امنیتیتان انتخاب کنید.
برای کسب اطلاعات بیشتر درباره پارامترهای nodetool، به اسناد Apache Cassandra nodetool مراجعه کنید.
گزینه پیکربندی ۱
فایلی در پوشه اصلی کاربری که 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
هر کاربری که nodetool را اجرا میکند باید به مسیر truststore مشخصشده در بالا دسترسی داشته باشد.
nodetoolرا با گزینه--sslاجرا کنید./opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
گزینه پیکربندی ۲
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
اگر لازم است پیکربندیهای 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
- پیکربندی را در 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 و نشانی وب سرویس زیر برای نظارت بر مشخصههای 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 (ارائه API مشتری)
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
به نشانی وب زیر مراجعه کنید: پایش Cassandra.
پایش کارگزار Apache Qpid Broker-J
میتوانید Qpid Broker-J را از کنسول مدیریت Qpid پایش کنید. این بخش توضیح میدهد چگونه به کنسول دسترسی پیدا کنید و از آن برای انجام عملکردهای نظارت پایه استفاده کنید. برای اطلاعات دقیقتر درباره استفاده از کنسول مدیریت، به کنسول مدیریت وب در اسناد Apache Qpid مراجعه کنید.
دسترسی به کنسول مدیریت
درگاه پیشفرض کنسول مدیریت ۸۰۹۰ است. برای دسترسی به کنسول در این درگاه پیشفرض، مرورگر وب خود را به این نشانی هدایت کنید:
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 و Management APIهای Qpid فعال کنید. برای ارائه کلید و گواهی، دستورالعملهای زیر را دنبال کنید.
Qpid گزینهای برای «انبار کلید فایل» ارائه میدهد که در Apigee فعال است. این نوع قالب استاندارد JKS keystore را که توسط Java و ابزارهای Java مانند keytool قابل درک است میپذیرد. همچنین میتواند یک مخزن کلید PKCS12 را بپذیرد که میتواند بااستفاده از ابزارهایی مانند OpenSSL تولید شود.
آمادهسازی انبار کلید
برای تولید کردن انبار کلید، به اسناد Java Keytool مراجعه کنید.
برای تولید مخزن کلید PKCS12، به اسناد OpenSSL مراجعه کنید.
پساز درستیسنجی الزامات
- فایل keystore را در
/opt/apigee/customer/application/apigee-qpiddقرار دهید. - مطمئن شوید که فایل keystore فقط توسط کاربر Apigee قابلخواندن است:
chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
فعال کردن SSL در 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
برگرداندن پیکربندی SSL
خصوصیتها را از فایل /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 به درگاههای ۲۱۸۱ و ۳۸۸۸ در هر سرور ZooKeeper برقرار کنید.
- مطمئن شوید که میتوانید مقادیر را از پایگاه داده ZooKeeper بخوانید. بااستفاده از کتابخانه مشتری ZooKeeper (یا
/opt/apigee/apigee-zookeeper/bin/zkCli.sh) متصل شوید و مقداری را از پایگاه داده بخوانید. - بررسی وضعیت:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
استفاده از کلمات چهارحرفی ZooKeeper
ZooKeeper را میتوان ازطریق مجموعه کوچکی از فرمانها (کلمات چهارحرفی) که بااستفاده از 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
آزمایش سطح الدپ
میتوانید SymasLDAP را پایش کنید تا ببینید آیا درخواستهای خاص بهدرستی ارائه میشوند یا نه. بهعبارت دیگر، جستجوی خاصی را بررسی کنید که نتیجه درست را برگرداند.
- از
ldapsearch(yum install symasldap-clients) برای پرسمان ورودی سرپرست سیستم استفاده کنید. از این ورودی برای اصالتسنجی همه تماسهای API استفاده میشود./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) را برای دریافت اطلاعات درباره حافظه نهان مشاهده کنید.