این سند تکنیکهای نظارت بر مؤلفههای پشتیبانی شده توسط استقرار Apigee Edge برای Private Cloud را توضیح میدهد.
نمای کلی
Edge از چندین راه برای دریافت جزئیات خدمات و همچنین بررسی وضعیت آنها پشتیبانی می کند. جدول زیر انواع بررسی هایی را که می توانید روی هر سرویس واجد شرایط انجام دهید فهرست می کند:
Mgmt API | |||||||
جزء | استفاده از حافظه [JMX * ] | بررسی خدمات | وضعیت کاربر/سازمان/ استقرار | axstatus | بررسی پایگاه داده | وضعیت apigee-service | apigee-monit ** |
سرور مدیریت | |||||||
پردازشگر پیام | |||||||
روتر | |||||||
Qpid | |||||||
Postgres | |||||||
اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | |
* قبل از اینکه بتوانید از JMX استفاده کنید، باید آن را فعال کنید، همانطور که در Enable JMX توضیح داده شده است. ** سرویس |
مانیتورینگ پورت ها و فایل های پیکربندی
هر جزء از برنامههای افزودنی مدیریت جاوا (JMX) و تماسهای نظارتی مدیریت API در پورتهای مختلف پشتیبانی میکند. جدول زیر پورتهای JMX و مدیریت API را برای هر نوع سرور و مکانهای فایل پیکربندی فهرست میکند:
جزء | پورت JMX | پورت مدیریت 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 از احراز هویت مبتنی بر رمز عبور با استفاده از جزئیات ذخیره شده در فایل ها پشتیبانی می کند. برای امنیت بیشتر میتوانید گذرواژهها را بهعنوان Hash ذخیره کنید.
- برای فعال کردن احراز هویت JMX در یک جزء edge-*، فایل پیکربندی مناسب را ویرایش کنید (به مرجع فایل پیکربندی مراجعه کنید). اگر فایل پیکربندی وجود ندارد، آن را ایجاد کنید:
فایل پیکربندی را ذخیره کنید و مطمئن شوید که متعلق بهconf_system_jmxremote_enable=true conf_system_jmxremote_authenticate=true conf_system_jmxremote_encrypted_auth=true conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
apigee:apigee
است. - یک هش رمز عبور SHA256 ایجاد کنید:
echo -n '
' | openssl dgst -sha256 - یک فایل
jmxremote.password
با اعتبار کاربری JMX ایجاد کنید:- فایل های زیر را از دایرکتوری
$JAVA_HOME
خود در دایرکتوری/opt/apigee/customer/application/<component>/
کپی کنید:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- فایل را ویرایش کنید و نام کاربری و رمز عبور JMX خود را با استفاده از نحو زیر اضافه کنید:
USERNAME <HASH-PASSWORD>
- مطمئن شوید که فایل متعلق به
apigee
است و حالت فایل 400 است:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- فایل های زیر را از دایرکتوری
- یک فایل
jmxremote.access
با مجوزهای کاربر JMX ایجاد کنید:- فایل های زیر را از دایرکتوری $JAVA_HOME خود در دایرکتوری
/opt/apigee/customer/application/<component>/
کپی کنید.cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
- فایل را ویرایش کنید و نام کاربری JMX خود را به دنبال آن یک مجوز اضافه کنید (READONLY/READWRITE)
USERNAME READONLY
- مطمئن شوید که فایل متعلق به
apigee
است و حالت فایل 400 است:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- فایل های زیر را از دایرکتوری $JAVA_HOME خود در دایرکتوری
- کامپوننت Edge مناسب را مجددا راه اندازی کنید:
apigee-service edge-management-server restart
برای غیرفعال کردن احراز هویت JMX، یا ویژگی conf_system_jmxremote_authenticate
را حذف کنید یا مقدار را به false
تغییر دهید و مؤلفه Edge مناسب را مجدداً راه اندازی کنید.
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 همان چیزی است که در https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole توضیح داده شده است.
می توان یک خط اضافه کرد که «اگر SSL برای JMX فعال باشد، jconsole باید با رمز عبور Truststore و Truststore راه اندازی شود». مرجع: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlمانیتور با JConsole
از JConsole (ابزار سازگار با JMX) برای مدیریت و نظارت بر بررسی سلامت و پردازش آمار استفاده کنید. با JConsole، می توانید آمار JMX را که توسط سرورهای خود در معرض نمایش قرار می گیرد مصرف کنید و آنها را در یک رابط گرافیکی نمایش دهید. برای اطلاعات بیشتر، استفاده از JConsole را ببینید.
اگر SSL برای JMX فعال است، باید JConsole را با رمز عبور Truststore و Truststore راه اندازی کنید. استفاده از 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 و مدیریت API مراجعه کنید.
جدول زیر آمار عمومی JMX را نشان می دهد:
JMX MBeans | ویژگی های JMX |
---|---|
حافظه | HeapMemoryUsage |
NonHeapMemoryUsage | |
استفاده | |
مرجع فایل پیکربندی
بخشهای زیر تغییراتی را که ممکن است لازم باشد در فایلهای پیکربندی مؤلفه Edge برای پیکربندیهای مربوط به JMX انجام دهید، توضیح میدهد. برای اطلاعات بیشتر به مانیتورینگ پورت ها و فایل های پیکربندی مراجعه کنید.
پیکربندی JMX باید به فایل پیکربندی کامپوننت مناسب اضافه شود
- عامل JMX را در کامپوننت لبه فعال کنید. به طور پیش فرض نادرست است.
conf_system_jmxremote_enable=true
تنظیمات برای احراز هویت مبتنی بر رمز عبور
- احراز هویت مبتنی بر رمز عبور را فعال کنید. به طور پیش فرض نادرست است.
conf_system_jmxremote_authenticate=true
- مسیر دسترسی به فایل فقط باید متعلق به کاربر Apigee باشد و قابل خواندن باشد.
conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
- مسیر فایل رمز عبور فقط باید متعلق به کاربر Apigee باشد و قابل خواندن باشد.
conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
- ذخیره رمز عبور در قالب رمزگذاری شده را فعال کنید. به طور پیش فرض نادرست است.
conf_system_jmxremote_encrypted_auth=true
تنظیمات برای JMX مبتنی بر SSL
- SSL را برای ارتباطات JMX فعال کنید. به طور پیش فرض نادرست است.
conf_system_jmxremote_ssl=true
- مسیر به فروشگاه کلید. فقط باید متعلق به کاربر Apigee باشد و قابل خواندن باشد.
conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
- رمز ذخیره کلید:
conf_system_javax_net_ssl_keystorepassword=changeme
تنظیمات اختیاری JMX
مقادیر لیست شده مقادیر پیش فرض هستند و قابل تغییر هستند.
- پورت JMX مقادیر پیش فرض در جدول زیر فهرست شده است.
conf_system_jmxremote_port=
- پورت JMX RMI به طور پیش فرض، فرآیند جاوا یک پورت تصادفی را انتخاب می کند.
conf_system_jmxremote_rmi_port=
- نام میزبان برای خرد راه دور. آدرس IP پیش فرض لوکال هاست
conf_system_java_rmi_server_hostname=
- از رجیستری JMX با SSL محافظت کنید. پیش فرض نادرست. فقط در صورتی قابل اجراست که SSL فعال باشد.
conf_system_jmxremote_registry_ssl=false
با مدیریت API نظارت کنید
Edge شامل چندین API است که میتوانید از آنها برای انجام بررسی خدمات روی سرورهای خود و همچنین بررسی کاربران، سازمانها و استقرارهای خود استفاده کنید. این بخش این API ها را توضیح می دهد.
انجام بررسی های خدماتی
مدیریت API چندین نقطه پایانی برای نظارت و تشخیص مشکلات مربوط به خدمات شما فراهم می کند. این نقاط پایانی عبارتند از:
نقطه پایانی | توضیحات |
---|---|
/servers/self/up | بررسی می کند که آیا یک سرویس در حال اجرا است یا خیر. این تماس API نیازی به احراز هویت شما ندارد. اگر سرویس در حال اجرا باشد، این نقطه پایانی پاسخ زیر را برمیگرداند: <ServerField> <Up>true</Up> </ServerField> اگر سرویس اجرا نشود، پاسخی مشابه زیر دریافت خواهید کرد (بسته به اینکه کدام سرویس است و چگونه آن را بررسی کرده اید): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self | اطلاعات مربوط به سرویس را برمی گرداند، از جمله:
این تماس API از شما میخواهد که با اعتبار مدیریت 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 پورت مدیریت API برای سروری است که می خواهید بررسی کنید. این پورت برای هر نوع کامپوننت متفاوت است. به عنوان مثال، پورت مدیریت API مدیریت سرور 8080 است. برای لیستی از شماره پورت های مدیریت API برای استفاده، به JMX و پورت های نظارت 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"
وضعیت کاربر، سازمان و استقرار را نظارت کنید
می توانید از مدیریت 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
بررسی کنید
هنگام ورود به سروری که سرویس را اجرا می کند، می توانید با استفاده از دستور apigee-service
سرویس های Edge خود را عیب یابی کنید.
برای بررسی وضعیت یک سرویس با apigee-service
:
- وارد سرور شوید و دستور زیر را اجرا کنید:
/opt/apigee/apigee-service/bin/apigee-service service_name status
جایی که service_name یکی از موارد زیر است:
- سرور مدیریت:
edge-management-server
- Message Processor:
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
که قبلاً استفاده می کردید یا با استفاده از مدیریت API توضیح داده شده در Monitor with Management API ، بررسی کنید که آیا کار می کند.به عنوان مثال:
curl -v http://localhost:port_number/v1/servers/self/up
جایی که port_number پورت مدیریت API برای سرویس است.
این مثال فرض می کند که شما وارد سرور شده اید و می توانید از "localhost" به عنوان نام میزبان استفاده کنید. برای بررسی وضعیت از راه دور با مدیریت API، باید آدرس IP سرور را مشخص کنید و نام کاربری و رمز عبور مدیر سیستم را در تماس API خود وارد کنید.
نظارت Postgres
Postgres از چندین ابزار کمکی پشتیبانی می کند که می توانید از آنها برای بررسی وضعیت آن استفاده کنید. این ابزارها در بخش های بعدی توضیح داده شده اند.
سازمان ها و محیط ها را در Postgres بررسی کنید
با صدور دستور curl
زیر می توانید نام سازمان و محیطی را که در سرور Postgres نصب شده اند بررسی کنید:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
سیستم باید نام سازمان و محیط را نمایش دهد.
بررسی وضعیت تجزیه و تحلیل
با صدور دستور curl
زیر می توانید وضعیت سرورهای تحلیلی Postgres و Qpid را تأیید کنید:
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_64
RPM را نصب کنید.
خروجی 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
زیر، بررسی های API را در دستگاه Postgres انجام دهید:
curl -v http://postgres_IP:8084/v1/servers/self/health
هنگامی که فرآیند postgres فعال است، این دستور وضعیت 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
آپاچی کاساندرا
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
- کاساندرا را دوباره راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.
رمزگذاری رمز JMX را فعال کنید
برای فعال کردن رمزگذاری رمز JMX، مراحل زیر را انجام دهید:
- فایل
source/conf/casssandra-env.sh
را باز کنید. - فایل
cassandra.properties
را ایجاد و ویرایش کنید:- فایل
/opt/apigee/customer/application/cassandra.properties
را ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید. - موارد زیر را به فایل اضافه کنید:
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- فایل cassandra.properties را ذخیره کنید.
- همانطور که در مثال زیر نشان داده شده است، مالک فایل را به apigee:apigee تغییر دهید:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- فایل
- در خط فرمان، هش(های) SHA1 رمز(های) مورد نظر را با وارد کردن
echo -n 'Secret' | openssl dgst -sha1
- گذرواژه(ها) را در برابر نام کاربری در
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
(ایجاد شده در بخش قبل) تنظیم کنید. - پیکربندی را روی Cassandra اجرا کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- کاساندرا را دوباره راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.
JMX را با SSL برای Cassandra فعال کنید
فعال کردن JMX با SSL امنیت و رمزگذاری بیشتری را برای ارتباط مبتنی بر JMX با کاساندرا فراهم می کند. برای فعال کردن JMX با SSL، باید یک کلید و یک گواهی به Cassandra ارائه دهید تا اتصالات JMX مبتنی بر SSL را بپذیرد. همچنین باید 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
Keystore و Truststore را آماده کنید.
Keystore باید حاوی یک کلید و گواهی باشد و برای پیکربندی سرور Cassandra استفاده می شود. اگر Keystore دارای چندین جفت کلید باشد، Cassandra از اولین جفت کلید برای فعال کردن SSL استفاده می کند.
توجه داشته باشید که پسوردهای keystore و key باید یکسان باشند (پیشفرض زمانی که کلید را با استفاده از keytool ایجاد میکنید).
- Truststore باید فقط حاوی گواهی باشد و توسط کلاینتها (فرمانهای مبتنی بر سرویس apigee یا nodetool) برای اتصال از طریق JMX استفاده میشود.
پس از بررسی شرایط فوق:
- فایل keystore را در
/opt/apigee/customer/application/apigee-cassandra/
قرار دهید. - مطمئن شوید که فایل keystore فقط با وارد کردن توسط کاربر 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 پیکربندی کنید:
- با وارد کردن، گره کاساندرا را متوقف کنید
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 ## On FIPS enabled systems, when you are using non standard keystore, set the following: ## These can be skipped otherwise ## Possible values are JKS, PKCS12, BCFKS conf_cassandra_env_javax.net.ssl.keyStoreType=PKCS12 conf_cassandra_env_javax.net.ssl.keyStoreAlias=cassjmx-tls-alias
- همانطور که در مثال زیر نشان داده شده است، مالک فایل را به apigee:apigee تغییر دهید:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- پیکربندی را روی Cassandra اجرا کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- کاساندرا را دوباره راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.
- گره کاساندرا را با وارد کردن شروع کنید
apigee-service apigee-cassandra start
- با وارد کردن، گره کاساندرا را متوقف کنید
- دستورات
apigee-service
Cassandra را پیکربندی کنید. هنگام اجرای دستوراتapigee-service
باید متغیرهای محیطی خاصی از جمله موارد زیر را تنظیم کنید:apigee-service apigee-cassandra stop apigee-service apigee-cassandra wait_for_ready apigee-service apigee-cassandra ring apigee-service apigee-cassandra backup
چندین گزینه برای پیکربندی
apigee-service
برای احراز هویت JMX و SSL وجود دارد. گزینه ای را بر اساس قابلیت استفاده و شیوه های امنیتی خود انتخاب کنید.- گزینه 1 (آگومان های SSL ذخیره شده در فایل)
- گزینه 2 (آگومان های SSL ذخیره شده در متغیرهای محیطی)
- گزینه 3 (آگومان های SSL مستقیماً به
apigee-service
منتقل می شوند)
گزینه 1 (آگومان های 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 ## If you are using a non standard truststore, set below, otherwise skip ## Possible values are JKS, PKCS12, BCFKS -Djavax.net.ssl.trustStoreType=PKCS12
مطمئن شوید که فایل Trustore توسط کاربر Apigee قابل خواندن است.
دستور
apigee-service
زیر را اجرا کنید. اگر بدون خطا اجرا شود، تنظیمات شما درست است.apigee-service apigee-cassandra ring
گزینه 2 (آگومان های 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
گزینه 3 (آگومان های 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، به مستندات DataStax مراجعه کنید.
گزینه پیکربندی 1
یک فایل در دایرکتوری اصلی کاربر در حال اجرا nodetool ایجاد کنید.
$HOME/.cassandra/nodetool-ssl.properties
خطوط زیر را به فایل اضافه کنید:
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true ## If you are using a non standard truststore, set below, otherwise skip ## Possible values are JKS, PKCS12, BCFKS -Djavax.net.ssl.trustStoreType=PKCS12
مسیر Truststore مشخصشده در بالا باید توسط هر کاربری که در حال اجراست، قابل دسترسی باشد.
nodetool
با گزینه--ssl
اجرا کنید./opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
گزینه پیکربندی 2
nodetool
به عنوان یک فرمان با پارامترهای اضافی که در زیر ذکر شده است اجرا کنید./opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -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
- کاساندرا را دوباره راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.
از JConsole استفاده کنید: آمار وظایف را نظارت کنید
از JConsole و URL سرویس زیر برای نظارت بر ویژگی های JMX (MBeans) ارائه شده از طریق JMX استفاده کنید:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
جایی که IP_address IP سرور Cassandra است.
آمار کاساندرا JMX
JMX MBeans | ویژگی های JMX |
---|---|
ColumnFamilys/apprepo/محیط ها ColumnFamilyes/apprepo/سازمان ها ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ستون خانواده ها/ممیزی/ممیزی ها 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 برقرار کرد:
- اطلاعات حلقه عمومی (همچنین برای گره کاساندرا منفرد امکان پذیر است): برای همه گره ها به دنبال "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
- وضعیت سرور صرفه جویی (API سرویس گیرنده)
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 مراجعه کنید.
منبع کاساندرا
به نشانی اینترنتی زیر مراجعه کنید: http://www.datastax.com/docs/1.0/operations/monitoring .
نظارت بر Apache Qpid Broker-J
می توانید Qpid Broker-J را از کنسول مدیریت Qpid نظارت کنید. این بخش نحوه دسترسی به کنسول و استفاده از آن برای انجام عملکردهای اصلی نظارت را توضیح می دهد. برای اطلاعات بیشتر در مورد استفاده از کنسول مدیریت، کنسول مدیریت وب را در مستندات Apache Qpid ببینید.
به کنسول مدیریت دسترسی پیدا کنید
پورت پیشفرض کنسول مدیریت 8090 است. برای دسترسی به کنسول در این درگاه پیشفرض، مرورگر وب خود را به این آدرس ببرید:
http://QPID_NODE_IP:8090
برای ورود به کنسول، از اعتبارنامه های پیش فرض تنظیم شده توسط Apigee یا مواردی که در فایل پیکربندی Edge تنظیم شده اند استفاده کنید. برای جزئیات، به مرجع فایل پیکربندی Edge مراجعه کنید.
صف ها و پیام ها را رصد کنید
در پانل ناوبری سمت چپ، به Java-Broker > virtualhosts > queues بروید. یک صف را برای مشاهده جزئیات آن در قسمت اصلی UI انتخاب کنید. در نمای جزئیات، میتوانید ویژگیهای صف و آمار، از جمله اطلاعات پیامهای تحویلشده، در نوبت، نرخ پیامها و غیره را مشاهده کنید.
مشاهده و دانلود فایل های گزارش
در پانل ناوبری سمت چپ، به Java-Broker > brokerloggers > logfile بروید. در نمای اصلی جزئیات رابط کاربری، میتوانید جزئیات فایل لاگ را مشاهده کنید و فایلهای گزارش را دانلود کنید.
با استفاده از Qpid Management API
می توانید از 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 و APIهای مدیریت Qpid فعال کنید. برای ارائه کلید و گواهی از دستورالعمل های زیر پیروی کنید.
Qpid گزینه ای برای File Keystore فراهم می کند که در Apigee فعال است. این نوع قالب استاندارد JKS keystore را میپذیرد که توسط جاوا و ابزار جاوا مانند keytool قابل درک است. همچنین می تواند یک فروشگاه کلید PKCS12 را بپذیرد که می تواند با استفاده از ابزارهایی مانند OpenSSL ایجاد شود.
آماده سازی فروشگاه کلید
برای تولید کلیدهای ذخیره سازی، به Java Keytool Documentation مراجعه کنید.
برای تولید کلیدهای 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 به پورت های 2181 و 3888 در هر سرور 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 به پورت 2181 ارسال می شود، نظارت کرد.
برای اطلاعات بیشتر در مورد دستورات ZooKeeper، رجوع کنید به: مرجع فرمان Apache ZooKeeper .
به عنوان مثال:
-
srvr
: جزئیات کامل سرور را فهرست می کند. -
stat
: جزئیات مختصری را برای سرور و مشتریان متصل فهرست می کند.
دستورات زیر را می توان برای پورت ZooKeeper صادر کرد:
- دستور چهار حرفی ruok را اجرا کنید تا بررسی کنید آیا سرور در حالت بدون خطا کار می کند یا خیر. یک پاسخ موفق "imok" را برمی گرداند.
echo ruok | nc host 2181
برمی گرداند:
imok
- دستور چهار حرفی
stat
را اجرا کنید تا عملکرد سرور و آمار مشتریان متصل را فهرست کنید:echo stat | nc host 2181
برمی گرداند:
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT Clients: /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0) /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433) /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347) /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692) Latency min/avg/max: 0/0/128 Received: 26144 Sent: 26160 Connections: 4 Outstanding: 0 Zxid: 0x2000002c2 Mode: follower Node count: 283
- اگر netcat (nc) در دسترس نیست، می توانید از پایتون به عنوان جایگزین استفاده کنید. فایلی به نام
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
) برای پرس و جوی ورودی ادمین سیستم استفاده کنید. این ورودی برای احراز هویت تمام تماس های API استفاده می شود.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
) را مشاهده کنید تا اطلاعات مربوط به کش را به دست آورید.