Edge for Private Cloud نسخه ۴.۱۶.۰۵
این سند تکنیکهای نظارت بر مؤلفههای پشتیبانیشده توسط استقرار داخلی Apigee Edge را شرح میدهد.
فعال کردن اصالتسنجی JMX و تنظیم گذرواژه JMX
فرایند نظارت برای «سرور مدیریت»، «پردازشگر پیام»، Qpid، و Postgres همگی از JMX استفاده میکنند. JMX بهطور پیشفرض فعال است و دسترسی JMX ازراهدور به گذرواژه نیاز ندارد.
برای فعال کردن اصالتسنجی JMX، هر مؤلفه دارای یک کنش change_jmx_auth است که از آن برای فعال/غیرفعال کردن اصالتسنجی و تنظیم اعتبارنامههای JMX استفاده میکنید.
برای فعال کردن اصالتسنجی JMX، از فرمان زیر استفاده کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile
مکان:
- comp یکی از این موارد است: edge-management-server، edge-message-processor، edge-router، edge-qpid-server، یا edge-postgres-server.
- گزینهها عبارتاند از:
- -u: نام کاربری
- -p: گذرواژه
- -e: y (فعال کردن) یا n (غیرفعال کردن)
- فایل پیکربندی شامل موارد زیر است:
- JMX_USERNAME=username
- JMX_ENABLED=y/n
- JMX_PASSWORD=password (اگر تنظیم نشده باشد یا با -p ارسال نشده باشد، از شما درخواست میشود)
برای مثال، برای استفاده از گزینهها در خط فرمان:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
اگر فایل پیکربندی دارید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f configFile
اگر Edge را در چندین گره اجرا میکنید، این فرمان را در همه گرهها اجرا کنید و نام کاربری و گذرواژه یکسانی را مشخص کنید.
برای غیرفعال کردن اصالتسنجی JMX در آینده، از این فرمان استفاده کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
سرور مدیریت
استفاده از JConsole برای پایش بررسی سلامت سیستم و پردازش اطلاعات
از JConsole (ابزار سازگار با JMX) برای مدیریت و نظارت بر بررسی سلامت و آمار پردازش استفاده کنید. بااستفاده از JConsole، میتوانید آمار JMX را که توسط «سرور مدیریت» (یا هر سرور دیگری) ارائه میشود مصرف کنید و آنها را در یک میانای گرافیکی نمایش دهید. برای اطلاعات بیشتر درباره استفاده از JConsole، به http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html مراجعه کنید.
از JConsole و نشانی وب سرویس زیر برای نظارت بر ویژگیهای JMX (MBeans) ارائهشده ازطریق JMX استفاده کنید.
service:jmx:rmi:///jndi/rmi://<ip address>:<port>/platform
که در آن <ip address> نشانی IP مربوط به «سرور مدیریت» (یا سرور مربوطه) است. بهطور پیشفرض، درگاه «سرور مدیریت» ۱۰۹۹ است.
جدول زیر آمار عمومی JMX را نشان میدهد:
|
JMX MBeans |
مشخصههای JMX |
|---|---|
|
حافظه |
HeapMemoryUsage |
|
NonHeapMemoryUsage |
|
|
کاربرد |
|
|
توجه: مقادیر مشخصه در چهار مقدار نمایش داده خواهد شد: متعهد، اولیه، حداکثر، و استفادهشده. |
|
استفاده از بررسیهای Edge Application API
میتوانید با فراخوانی فرمان CURL زیر، بررسی میانای برنامهسازی کاربردی را در «سرور مدیریت» (یا هر سرور دیگری) انجام دهید:
curl http://<host>:8080/v1/servers/self/up
که در آن، <host> نشانی IP مربوط به Management Server است.
این فراخوانی «درست» و «نادرست» را برمیگرداند. اگر درست باشد، یعنی گره فعال است و سرویس Java درحال اجرا است.
اگر پاسخ HTTP 200 (OK) دریافت نکردید، Edge نمیتواند به درخواستهای درگاه ۸۰۸۰ پاسخ دهد.
عیبیابی
- به سرور وارد شوید و فرمان زیر را اجرا کنید:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server status - If the service is not running start the service:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server start
استفاده از Edge برنامه – بررسیهای کاربران، سازمان، و استقرار
Management Server نقش حیاتی در نگهداشتن همه بستههای دیگر در هر نصب داخلی دارد. با صدور فرمانهای زیر میتوانید وضعیت کاربر، سازمان، و استقرار را در سرور مدیریت بررسی کنید:
curl -u userEmail:password http://localhost:8080/v1/users curl -u userEmail:password http://localhost:8080/v1/organizations curl -u userEmail:password http://localhost:8080/v1/organizations/orgname/deployments
سیستم باید وضعیت «مستقرشده» را برای همه تماسها نمایش دهد. اگر این مراحل ناموفق بود، کارهای زیر را انجام دهید:
- گزارشهای «سرور مدیریت» (در <inst_root>/apigee/var/log/edge-management-server) را ازنظر وجود خطا بررسی کنید.
- با «سرور مدیریت» تماس بگیرید تا بررسی کنید درست کار میکند یا نه.
- سرور را از ELB بردارید و سپس «سرور مدیریت» را بازراهاندازی کنید.
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart
رهیاب
میتوانید با فراخوانی فرمان CURL زیر، بررسی میانای برنامهسازی کاربردی را در «رهیاب» (یا هر سرور دیگری) انجام دهید:
curl http://<host>:8081/v1/servers/self/up
که در آن، host نشانی IP «رهیاب» است.
این فراخوانی «درست» و «نادرست» را برمیگرداند. اگر درست باشد، یعنی گره فعال است و سرویس Java درحال اجرا است.
اگر پاسخ HTTP 200 (OK) دریافت نکردید، Edge نمیتواند به درخواستهای درگاه ۸۰۸۱ پاسخ دهد.
عیبیابی
- به سیستم سرور وارد شوید و فرمانهای زیر را اجرا کنید:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-router status - اگر سرویس درحال اجرا نیست، سرویس را شروع کنید
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start - اگر سرویس درحال اجرا است، عملکرد آن را آزمایش کنید. با بررسی memberCount درمقابل reachableCount، وضعیت خوشه را پایش میکنید و به همه نمونهها با «memberCount != reachableCount» هشدار میدهید
curl -v -u <userEmail>:<password> http://localhost:port/v1/cluster
که در آن درگاه – ۸۰۸۱ برای «مسیریاب» و ۸۰۸۲ برای «پردازشگر پیام» است. خروجی فرمان CURL بالا در زیر نشان داده شده است:
{
"memberCount" : 12,
"pod" : "rea1gw001",
"reachableCount" : 12,
"region" : "us-east-1",
"types" : [ "management-server" ]
* Connection #0 to host ms05apigee left intact
* Closing connection #0
} - اگر کار نمیکند، فرمان زیر را اجرا کنید تا خرابی را بررسی کنید یا
عضو متخلف را پیدا کنید.
curl http://localhost:port/v1/cluster/members
Where port – 8081 for Router and 8082 for Message Processor. برونداد فرمان CURL بالا به این صورت خواهد بود:
{
"lastChange" : 0,
"latency" : 0,
"state" : "CONNECTED",
"uuid" : "9c4c8bde-0015-4dc5-82d2-59fb326c4074"
}, {
"address" : "/192.168.5.209:4526",
"clusterType" : "router,message-processor",
"lastChange" : 1350658037228,
"latency" : 3,
"pod" : "rea1gw001",
"region" : "us-east-1",
"serverType" : "message-processor",
"state" : "CONNECTED",
"uuid" : "f1c663a1-2bb8-469f-b5fd-69a5c5aa91c5"
}, {
"address" : "/192.168.5.29:4526",
"clusterType" : "router,message-processor",
"lastChange" : 1350623005057,
"latency" : 1,
"pod" : "rea1gw001",
"region" : "us-east-1",
"serverType" : "message-processor",
"state" : " DISCONNECTED ",
"uuid" : "4cfe932b-f644-4581-b1ae-df338af9c7ce"
}, {
"address" : "/192.168.4.182:4526",
"clusterType" : "router,message-processor",
"lastChange" : 1350657730535,
"latency" : 1,
"pod" : "rea1gw001",
"region" : "us-east-1",
"serverType" : "message-processor",
"state" : "CONNECTED",
"uuid" : "cba063d5-b8a4-409f-9e0b-f5d403e02091"
} - توجه داشته باشید که نشانی IP ۱۹۲.۱۶۸.۵.۲۹ قطع شده است. سرور را بازراهاندازی کنید
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
توجه: اگر «رهیاب» در وضعیت قطع اتصال است، رهیاب را از ELB بردارید و سپس آن را بازراهاندازی کنید. - پساز بازراهاندازی، بررسی کنید که کار میکند
curl -v http://localhost:port/v1/cluster
که در آن port برای «رهیاب» 8081 و برای «پردازشگر پیام» 8082 است.
پردازشگر پیام
استفاده از JConsole برای پایش بررسی سلامت سیستم و پردازش اطلاعات
همان مراحل شرحدادهشده در بالا را برای «سرور مدیریت» دنبال کنید.
توجه: مطمئن شوید که از درگاه ۱۱۰۱ استفاده میکنید.
استفاده از بررسیهای Edge Application API
همان مراحل شرحدادهشده در بالا را برای رهیاب دنبال کنید.
توجه: مطمئن شوید که از درگاه ۸۰۸۲ استفاده میکنید.
استفاده از بررسیهای جریان پیام JMX
همان مراحل شرحدادهشده در بالا را برای «سرور مدیریت» دنبال کنید.
توجه: مطمئن شوید که از درگاه ۱۱۰۱ استفاده میکنید.
سرور Qpid
استفاده از JConsole برای پایش بررسی سلامت سیستم و پردازش اطلاعات
همان مراحل شرحدادهشده در بالا را برای «سرور مدیریت» دنبال کنید.
توجه: مطمئن شوید که از درگاه ۱۱۰۲ استفاده میکنید.
استفاده از بررسیهای Edge Application API
همان مراحل شرحدادهشده در بالا را برای «سرور مدیریت» دنبال کنید.
توجه: مطمئن شوید که از درگاه ۸۰۸۳ استفاده میکنید. فرمان CURL زیر نیز برای سرور Qpid پشتیبانی میشود:
curl http://<qpid_IP>:8083/v1/servers/self
سرور Postgres
استفاده از JConsole برای پایش بررسی سلامت سیستم و پردازش اطلاعات
همان مراحل شرحدادهشده در بالا را برای «سرور مدیریت» دنبال کنید.
توجه: مطمئن شوید که از درگاه ۱۱۰۳ استفاده میکنید.
استفاده از بررسیهای Edge Application API
همان مراحل شرحدادهشده در بالا را برای «سرور مدیریت» دنبال کنید.
توجه: مطمئن شوید که از درگاه ۸۰۸۴ استفاده میکنید. فرمان CURL زیر نیز برای Postgres Server پشتیبانی میشود:
curl http://<postgres_IP>:8084/v1/servers/self
استفاده از Edge بررسیهای محیط و سازمان برنامه
با صدور فرمانهای CURL زیر میتوانید نام سازمان و محیطی را که در Postgres Server وارد شده است بررسی کنید:
curl http:// <postgres_IP>:8084/v1/servers/self/organizations
توجه: مطمئن شوید که از درگاه ۸۰۸۴ استفاده میکنید.
سیستم باید نام سازمان و محیط را نمایش دهد.
Using Edge Application axstatus check
با صدور فرمان CURL زیر میتوانید وضعیت سرورهای تجزیهوتحلیل را تأیید کنید.
curl -u userEmail:password http://<host>:<port>/v1/organizations/<orgname>/environments/<envname>/provisioning/axstatus
سیستم باید وضعیت «موفقیت» را برای همه سرورهای تجزیهوتحلیل نمایش دهد. خروجی فرمان CURL بالا در زیر نشان داده شده است:
{
"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
استفاده از اسکریپت 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
خروجی پیشفرض فراخوانیهای میانای برنامهسازی کاربردی بااستفاده از دستورگان 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%' - Onboarded organizations/environments – checks the number of organization and
environment onboarded in a Postgres node:
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
توجه: اگر برای استفاده از فرمانهای بالا به راهنمایی نیاز دارید، لطفاً به http://bucardo.org/check_postgres/check_postgres.pl.html مراجعه کنید.
بررسیهای پایگاه داده
میتوانید درستیسنجی کنید که جدولهای مناسب در پایگاه داده PostgreSQL ایجاد شده باشند. ورود به سیستم پایگاه داده PostgreSQL بااستفاده از:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
و سپس این دستور را اجرا کنید:
\d analytics."<org>.<env>.fact"
بررسی وضعیت سلامت فرایند postgres
میتوانید با فراخوانی فرمان CURL زیر، بررسی API را در ماشین postgres انجام دهید:
http://<postgres_IP>:8084/v1/servers/self/health/
توجه: مطمئن شوید که از درگاه ۸۰۸۴ استفاده میکنید.
وقتی فرایند postgres فعال باشد، وضعیت «فعال» را برمیگرداند. اگر فرایند 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
استفاده از JConsole – نظارت بر آمار تکلیف
از JConsole و نشانی وب سرویس زیر برای نظارت بر ویژگیهای JMX (MBeans) ارائهشده ازطریق JMX استفاده کنید.
service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi
که در آن <ip address> نشانی IP سرور Cassandra است.
JMX بهطور پیشفرض برای Cassandra فعال است و دسترسی JMX ازراهدور به Cassandra به گذرواژه نیاز ندارد.
برای فعال کردن اصالتسنجی JMX برای افزودن گذرواژه:
- /<inst_root>/apigee/customer/application/cassandra.properties را ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
- موارد زیر را به فایل اضافه کنید:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true - فایل را ذخیره کنید.
- فایلهای زیر را از فهرست راهنمای $JAVA_HOME به
/<inst_root>/apigee/data/apigee-cassandra/ کپی کنید:
cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access - jmxremote.password را ویرایش کنید و
نام کاربری و گذرواژه را به فایل اضافه کنید:
cassandra password
که در آن password گذرواژه JMX است. - jmxremote.access را ویرایش کنید و
نقش زیر را اضافه کنید:
cassandra readwrite - مطمئن شوید که فایلها متعلق به «apigee» هستند و حالت فایل ۴۰۰ است:
> chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
> chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.* - پیکربندی را در
Cassandra اجرا کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure - Cassandra را بازراهاندازی کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
برای غیرفعال کردن اصالتسنجی در آینده:
- فایل <inst_root>/apigee/customer/application/cassandra.properties را ویرایش کنید.
- خط زیر را در فایل بردارید:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true - پیکربندی را در Cassandra اجرا کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure - Cassandra را بازراهاندازی کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
آمار 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 است، برای مدیریت گرههای خوشه استفاده میشود. این ابزار را میتوانید در <inst_root>/apigee/apigee-cassandra/bin پیدا کنید.
برای اطلاعات بیشتر درباره ابزار nodetool، به http://www.datastax.com/docs/1.0/references/nodetool مراجعه کنید.
تماسهای زیر را میتوان در همه گرههای خوشه Cassandra برقرار کرد:
- اطلاعات کلی حلقه (برای گره Cassandra تکی نیز امکانپذیر است): بهدنبال
«Up» (فعال) و «Normal» (عادی) برای همه گرهها بگردید.
[host]# nodetool -h localhost ring
خروجی فرمان بالا بهصورت زیر است:
Address DC Rack Status State Load Owns Token
192.168.124.201 dc1 ra1 Up Normal 1.67 MB 33,33% 0
192.168.124.202 dc1 ra1 Up Normal 1.68 MB 33,33% 56713727820156410577229101238628035242
192.168.124.203 dc1 ra1 Up Normal 1.67 MB 33,33% 113427455640312821154458202477256070484 - اطلاعات کلی درباره گرهها (فراخوانی برای هر گره)
nodetool -h localhost info
خروجی فرمان بالا بهصورت زیر است:
Token : 0
Gossip active : true
Load : 1.67 MB
Generation No : 1361968765
Uptime (seconds) : 78108
Heap Memory (MB) : 46,80 / 772,00
Data Center : dc1
Rack : ra1
Exceptions : 0 - وضعیت سرور thrift (ارائه API کارخواه)
host]# nodetool -h localhost statusthrift
برونداد فرمان بالا وضعیت را بهصورت «درحال اجرا» نمایش میدهد. - وضعیت عملیات جاریسازی داده: ترافیک گرههای cassandra را مشاهده کنید
nodetool -h localhost netstats 192.168.124.203
خروجی فرمان بالا بهصورت زیر است:
Mode: NORMAL
Nothing streaming to /192.168.124.203
Nothing streaming from /192.168.124.203
Pool Name Active Pending Completed
Commands n/a 0 1688
Responses n/a 0 292277
Cassandra Monitoring (UI)
به نشانی وب datastax opscenter مراجعه کنید: http://www.datastax.com/products/opscenter.
Cassandra Resource
به نشانی وب زیر مراجعه کنید: http://www.datastax.com/docs/1.0/operations/monitoring.
Apache ZooKeeper
درحال بررسی وضعیت ZooKeeper
- مطمئن شوید فرایند ZooKeeper درحال اجرا باشد. ZooKeeper writes a PID file to <inst_root>/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
- درگاههای ZooKeeper را آزمایش کنید تا مطمئن شوید که میتوانید اتصال TCP به درگاههای ۲۱۸۱ و ۳۸۸۸ در هر سرور ZooKeeper برقرار کنید.
- مطمئن شوید که میتوانید مقادیر را از پایگاه داده ZooKeeper بخوانید. بااستفاده از کتابخانه کارخواه ZooKeeper (یا /<inst_root>/apigee/apigee-zookeeper/bin/zkCli.sh) متصل شوید و مقداری را از پایگاه داده بخوانید.
- وضعیت را بررسی کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
استفاده از ZooKeeper Four Letter Words
ZooKeeper را میتوان ازطریق مجموعه کوچکی از فرمانها (کلمات چهارحرفی) که بااستفاده از netcat (nc) یا telnet به درگاه ۲۱۸۱ ارسال میشوند نظارت کرد.
برای اطلاعات بیشتر درباره فرمانهای ZooKeeper، به این نشانی مراجعه کنید: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.
برای مثال:
- srvr: جزئیات کامل سرور را فهرست میکند.
- stat: جزئیات مختصری را برای سرور و کلاینتهای متصل فهرست میکند.
فرمانهای زیر را میتوان برای درگاه ZooKeeper صادر کرد:
- فرمان چهارحرفی ruok را اجرا کنید تا آزمایش کنید که آیا سرور در حالت بدون خطا اجرا میشود یا نه. پاسخ
موفقیتآمیز «imok» را برمیگرداند.
echo ruok | nc <host> 2181
برمیگرداند:
imok - فرمان چهارحرفی stat را اجرا کنید تا عملکرد سرور و آمار کارخواههای متصلشده را فهرست کند.
echo stat | nc <host> 2181
Returns:
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
Note: It is sometimes important to see whether a ZooKeeper is in Mode: leader, follower or observer. - اگر 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 زیر را اجرا کنید:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
OpenLDAP
آزمون سطح الدپ
میتوانید 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@apigee.com - بررسی کنید که آیا «سرور مدیریت» هنوز به مشکل LDAP متصل است یا نه:
curl -u <userEMail>:<password> http://localhost:8080/v1/users/<ADMIN>
برمیگرداند:
{
"emailId" : <ADMIN>,
"firstName" : "admin",
"lastName" : "admin"
}
همچنین میتوانید حافظههای پنهان OpenLDAP را پایش کنید که به کاهش تعداد دسترسیهای دیسک کمک میکند و درنتیجه عملکرد سیستم را بهبود میبخشد. نظارت و سپس تنظیم اندازه حافظه نهان در سرور OpenLDAP میتواند تأثیر زیادی بر عملکرد سرور دایرکتوری داشته باشد. میتوانید فایلهای گزارش (<inst_root>/apigee/var/log) را مشاهده کنید تا اطلاعاتی درباره حافظه پنهان بهدست آورید.