Edge for Private Cloud نسخه 4.18.05
این سند تکنیک های نظارت بر اجزای پشتیبانی شده توسط استقرار در محل Apigee Edge را شرح می دهد.
نمای کلی
Edge از چندین راه برای دریافت جزئیات خدمات و همچنین بررسی وضعیت آنها پشتیبانی می کند. جدول زیر انواع بررسی هایی را که می توانید روی هر سرویس واجد شرایط انجام دهید فهرست می کند:
خدمات | JMX: * استفاده از حافظه | Mgmt API: بررسی خدمات | Mgmt API: وضعیت کاربر/سازمان/ استقرار | Mgmt API: axstatus | بررسی پایگاه داده | وضعیت apigee-service |
---|---|---|---|---|---|---|
سرور مدیریت | ||||||
پردازشگر پیام | ||||||
Postgres | ||||||
Qpid | ||||||
روتر | ||||||
اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | اطلاعات بیشتر | |
* قبل از اینکه بتوانید از JMX استفاده کنید، باید آن را فعال کنید، همانطور که در Enable JMX توضیح داده شده است. |
پورت های نظارت JMX و مدیریت API
هر کامپوننت از JMX و مدیریت API تماس های نظارت بر پورت های مختلف پشتیبانی می کند. جدول زیر پورت های JMX و مدیریت API را برای هر نوع سرور فهرست می کند:
جزء | پورت JMX | پورت مدیریت API |
---|---|---|
سرور مدیریت | 1099 | 8080 |
روتر | 1100 | 8081 |
پردازشگر پیام | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
از JMX استفاده کنید
فرآیندهای نظارت برای سرور مدیریت، پردازشگر پیام، Qpid و Postgres همگی از JMX استفاده می کنند. با این حال، JMX به طور پیش فرض فقط برای Cassandra فعال است و به طور پیش فرض برای سایر اجزای Edge غیرفعال است. بنابراین، قبل از اینکه بتوانید آنها را نظارت کنید، باید JMX را به صورت جداگانه برای هر مؤلفه فعال کنید.
احراز هویت JMX به طور پیش فرض فعال نیست. شما می توانید احراز هویت 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 و مدیریت 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 به طور پیش فرض فعال نیست. همانطور که در Enable JMX authentication توضیح داده شده است، می توانید احراز هویت JMX را برای همه مؤلفه ها به جز Cassandra فعال کنید.
احراز هویت JMX را فعال کنید
احراز هویت JMX به طور پیش فرض فعال نیست. شما می توانید احراز هویت 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 در خط فرمان، از گزینه "-en" استفاده کنید، همانطور که مثال زیر نشان می دهد:
/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 و مدیریت API مراجعه کنید.
جدول زیر آمار عمومی JMX را نشان می دهد:
JMX MBeans | ویژگی های JMX |
---|---|
حافظه | HeapMemoryUsage |
NonHeapMemoryUsage | |
استفاده | |
با مدیریت 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
آپاچی کاساندرا
از JConsole استفاده کنید: آمار وظایف را نظارت کنید
از JConsole و URL سرویس زیر برای نظارت بر ویژگی های JMX (MBeans) ارائه شده از طریق JMX استفاده کنید:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
جایی که IP_address IP سرور Cassandra است.
JMX به طور پیش فرض برای Cassandra فعال است و دسترسی از راه دور JMX به 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 -h localhost ring
خروجی دستور بالا مانند شکل زیر است:
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 -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 -h localhost statusthrift
خروجی دستور بالا به شکل زیر است:
running
- وضعیت عملیات جریان داده : ترافیک گرههای کاساندرا را مشاهده کنید:
nodetool -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 مراجعه کنید.
نظارت کاساندرا (UI)
به URL opscenter datastax مراجعه کنید: http://www.datastax.com/products/opscenter .
منبع کاساندرا
به نشانی اینترنتی زیر مراجعه کنید: 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 را می توان از طریق مجموعه کوچکی از دستورات (کلمات چهار حرفی) که با استفاده از 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
) را مشاهده کنید تا اطلاعات مربوط به کش را به دست آورید.