نحوه نظارت

Edge for Private Cloud نسخه 4.18.01

این سند تکنیک های نظارت بر اجزای پشتیبانی شده توسط استقرار در محل Apigee Edge را شرح می دهد.

فعال کردن JMX

JMX به طور پیش فرض برای Cassandra فعال است و به طور پیش فرض برای سایر اجزای Edge غیرفعال است. بنابراین باید JMX را به صورت جداگانه برای هر جزء فعال کنید.

هر کامپوننت از JMX در یک پورت متفاوت پشتیبانی می کند. جدول زیر پورت JMX و فایلی را که برای فعال کردن JMX در آن پورت تغییر می دهید، فهرست می کند:

جزء پورت JMX فایل
سرور مدیریت 1099 /opt/apigee/edge-management-server/bin/start
روتر 1100 /opt/apigee/edge-router/bin/start
پردازشگر پیام 1101 /opt/apigee/edge-message-processor/bin/start
Qpid 1102 /opt/apigee/edge-qpid-server/bin/start
Postgres 1103 /opt/apigee/edge-postgres-server/bin/start

به عنوان مثال، برای فعال کردن JMX در سرور مدیریت، /opt/apigee/edge-management-server/bin/start را در یک ویرایشگر باز کنید. شما باید خط زیر را مشاهده کنید که برای راه اندازی سرور مدیریت استفاده می شود:

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 $* $debug_options com.apigee.kernel.MicroKernel

این خط را برای اضافه کردن موارد زیر ویرایش کنید:

-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 

توجه داشته باشید که این خط شماره پورت JMX را 1099 برای مدیریت سرور مشخص می کند. شماره پورت را برای هر جزء مطابق جدول بالا تنظیم کنید. به عنوان مثال:

exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts 
-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 
-Djava.security.auth.login.config=$conf_path/jaas.config 
-Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir $* $debug_options com.apigee.kernel.MicroKernel

فایل را ذخیره کنید و سپس کامپوننت را مجددا راه اندازی کنید. به عنوان مثال برای راه اندازی مجدد سرور مدیریت:

> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

فعال کردن احراز هویت JMX و تنظیم رمز عبور JMX

فرآیند نظارت برای سرور مدیریت، پردازشگر پیام، Qpid و Postgres همگی از JMX استفاده می کنند. JMX به طور پیش فرض فعال است و دسترسی از راه دور JMX نیازی به رمز عبور ندارد.

برای فعال کردن احراز هویت JMX، هر جزء دارای یک عمل change_jmx_auth است که از آن برای فعال/غیرفعال کردن احراز هویت و تنظیم اعتبار JMX استفاده می‌کنید.

برای فعال کردن احراز هویت JMX، از دستور زیر استفاده کنید:

>  /opt/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile

کجا:

  • comp یا edge-management-server، edge-message-processor، edge-qpid-server یا edge-postgres-server است.
  • گزینه ها عبارتند از:
    • -u : نام کاربری
    • -p : رمز عبور
    • -e : y (فعال) یا n (dsiable)
  • فایل کانفیگ شامل:
    • JMX_USERNAME= نام کاربری
    • JMX_ENABLED=y/n
    • JMX_PASSWORD= رمز عبور (اگر تنظیم نشده باشد یا با -p ارسال نشود، از شما خواسته می شود)

به عنوان مثال، برای استفاده از گزینه ها در خط فرمان:

> /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 configFile

اگر Edge را روی چندین گره اجرا می کنید، این دستور را روی همه گره ها اجرا کنید و نام کاربری و رمز عبور یکسانی را مشخص کنید.

برای اینکه بعداً احراز هویت JMX را غیرفعال کنید، از دستور زیر استفاده کنید:

> /opt/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 و URL سرویس زیر برای نظارت بر ویژگی های JMX (MBeans) ارائه شده از طریق JMX استفاده کنید.

service:jmx:rmi:///jndi/rmi://<ip address>:<port>/jmxrmi

که در آن <ip address> آدرس IP سرور مدیریت (یا سرور مربوطه) است. به طور پیش فرض پورت برای سرور مدیریت 1099 است.

جدول زیر آمار عمومی JMX را نشان می دهد:

JMX MBeans

ویژگی های JMX

حافظه

HeapMemoryUsage

NonHeapMemoryUsage

استفاده

توجه: مقادیر مشخصه در چهار مقدار نشان داده می شود: تعهد، شروع، حداکثر و استفاده شده.

استفاده از بررسی های API برنامه Edge

با فراخوانی دستور CURL زیر می‌توانید API را روی سرور مدیریت (یا هر سرور دیگری) انجام دهید:

curl http://<host>:8080/v1/servers/self/up -H "Accept: application/json"

جایی که <host> آدرس IP سرور مدیریت است. می توانید نوع Accept را به عنوان application/json یا application/xml تعیین کنید.

این فراخوان "درست" و "نادرست" را برمی گرداند. اگر درست باشد، به این معنی است که گره فعال است و سرویس جاوا در حال اجرا است.

اگر پاسخ HTTP 200 (OK) دریافت نکنید، Edge نمی تواند به درخواست های پورت 8080 پاسخ دهد.

عیب یابی

  1. وارد سرور شوید و دستور زیر را اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server status
  2. اگر سرویس اجرا نمی شود، سرویس را راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server start

استفاده از Edge Application – بررسی های کاربران، سازمان و استقرار

سرور مدیریت نقشی حیاتی در نگه‌داشتن سایر بسته‌ها در کنار هم در هر نصب در محل ایفا می‌کند. با صدور دستورات زیر می توانید وضعیت کاربر، سازمان و استقرار در سرور مدیریت را بررسی کنید:

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

سیستم باید وضعیت "مستقر" را برای همه تماس ها نمایش دهد. اگر اینها شکست خوردند، موارد زیر را انجام دهید:

  1. گزارش‌های مدیریت سرور (در opt/apigee/var/log/edge-management-server ) را برای هر گونه خطا بررسی کنید.
  2. با مدیریت سرور تماس بگیرید تا بررسی کنید که آیا به درستی کار می کند یا خیر.
  3. سرور را از ELB حذف کرده و سپس مدیریت سرور را مجددا راه اندازی کنید.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

روتر

با فراخوانی دستور CURL زیر می توانید API را روی روتر (یا هر سروری) انجام دهید:

curl http://<host>:8081/v1/servers/self/up

جایی که میزبان آدرس IP روتر است.

این فراخوان "درست" و "نادرست" را برمی گرداند. اگر درست باشد، به این معنی است که گره فعال است و سرویس روتر در حال اجرا است.

اگر پاسخ HTTP 200 (OK) دریافت نکنید، Edge نمی تواند به درخواست های پورت 8081 پاسخ دهد.

عیب یابی

  1. وارد سرور شوید و دستورات زیر را اجرا کنید:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router
  2. اگر سرویس اجرا نمی شود، سرویس را شروع کنید
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start
  3. پس از راه اندازی مجدد بررسی کنید که آیا کار می کند
    curl -v http://localhost: port /v1/servers/self/up

    جایی که پورت برای روتر 8081 و برای پردازشگر پیام 8082 است.

استفاده از JConsole برای نظارت بر بررسی سلامت سیستم و پردازش اطلاعات

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : مطمئن شوید که از پورت - 1100 استفاده می کنید.

پردازشگر پیام

استفاده از JConsole برای نظارت بر بررسی سلامت سیستم و پردازش اطلاعات

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : اطمینان حاصل کنید که از پورت - 1101 استفاده می کنید.

استفاده از بررسی های API برنامه Edge

همان چیزی که در بالا توضیح داده شد را برای روتر دنبال کنید.

توجه : اطمینان حاصل کنید که از پورت - 8082 استفاده می کنید.

با استفاده از بررسی جریان پیام JMX

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : اطمینان حاصل کنید که از پورت - 1101 استفاده می کنید.

سرور Qpid

استفاده از JConsole برای نظارت بر بررسی سلامت سیستم و پردازش اطلاعات

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : مطمئن شوید که از پورت - 1102 استفاده می کنید.

استفاده از بررسی های API برنامه Edge

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : مطمئن شوید که از پورت - 8083 استفاده می کنید. دستور CURL زیر برای سرور Qpid نیز پشتیبانی می شود:

curl http://<qpid_IP>:8083/v1/servers/self

سرور Postgres

استفاده از JConsole برای نظارت بر بررسی سلامت سیستم و پردازش اطلاعات

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : مطمئن شوید که از پورت - 1103 استفاده می کنید.

استفاده از بررسی های API برنامه Edge

همان چیزی که در بالا توضیح داده شد را برای مدیریت سرور دنبال کنید.

توجه : مطمئن شوید که از پورت - 8084 استفاده می کنید. دستور CURL زیر برای سرور Postgres نیز پشتیبانی می شود:

curl http://<postgres_IP>:8084/v1/servers/self

استفاده از بررسی های سازماندهی و محیطی Edge Application

با صدور دستورات CURL زیر می‌توانید نام سازمان و محیطی را که روی سرور Postgres نصب شده است بررسی کنید:

curl http:// <postgres_IP>:8084/v1/servers/self/organizations

توجه : اطمینان حاصل کنید که از پورت - 8084 استفاده می کنید.

سیستم باید نام سازمان و محیط را نمایش دهد.

با استفاده از بررسی axstatus برنامه Edge

با صدور دستور CURL زیر می توانید وضعیت سرورهای تجزیه و تحلیل را بررسی کنید.

curl -u userEmail:password http://<host>:<port>/v1/organizations/<orgname>/environments/<envname>/provisioning/axstatus

سیستم باید وضعیت SUCCESS را برای همه سرورهای تجزیه و تحلیل نمایش دهد. خروجی دستور 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 نصب شود.

قبل از اجرای اسکریپت:

  1. مطمئن شوید که perl-Time-HiRes.x86_64 را نصب کرده‌اید، یک ماژول Perl که زنگ‌های هشدار، خواب، gettimeofday و تایمرهای بازه‌ای با وضوح بالا را اجرا می‌کند. برای مثال می توانید با استفاده از دستور زیر آن را نصب کنید:
    yum نصب perl-Time-HiRes.x86_64

خروجی پیش‌فرض تماس‌های API با استفاده از اسکریپت check_postgres.pl با Nagios سازگار است. پس از نصب اسکریپت، بررسی های زیر را انجام دهید:

  1. اندازه پایگاه داده - اندازه پایگاه داده را بررسی کنید:
    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'
  2. اتصال ورودی به پایگاه داده - تعداد اتصالات ورودی به پایگاه داده را بررسی می کند و با حداکثر اتصالات مجاز مقایسه می کند:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. در دسترس بودن و عملکرد پایگاه داده - بررسی می کند که آیا پایگاه داده در حال اجرا و در دسترس است:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. فضای دیسک - فضای دیسک را بررسی می کند:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. سازمان‌ها/محیط‌های داخلی - تعداد سازمان‌ها و محیط‌های موجود در یک گره Postgres را بررسی می‌کند:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) در نتیجه pg_tables که در آن schemaname='analytics' و tablename مانند '%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/

توجه : مطمئن شوید که از پورت 8084 استفاده می کنید.

هنگامی که فرآیند postgres فعال است، وضعیت "ACTIVE" را برمی گرداند. اگر فرآیند postgres راه‌اندازی نشده باشد، وضعیت "غیر فعال" را برمی‌گرداند.

منابع Postgres

آپاچی کاساندرا

با استفاده از JConsole - آمار وظایف را نظارت کنید

از JConsole و URL سرویس زیر برای نظارت بر ویژگی های JMX (MBeans) ارائه شده از طریق JMX استفاده کنید.

service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi

که در آن <ip address> IP سرور Cassandra است.

JMX به طور پیش فرض برای Cassandra فعال است و دسترسی از راه دور JMX به Cassandra نیازی به رمز عبور ندارد.

برای فعال کردن احراز هویت JMX برای افزودن رمز عبور:

  1. ویرایش /opt/apigee/customer/application/cassandra.properties . اگر فایل وجود ندارد، آن را ایجاد کنید.
  2. موارد زیر را به فایل اضافه کنید:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. فایل را ذخیره کنید.
  4. فایل زیر را از دایرکتوری $JAVA_HOME خود در /opt/apigee/data/apigee-cassandra/ کپی کنید:
    cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
  5. jmxremote.password را ویرایش کنید و نام کاربری و رمز عبور را به فایل اضافه کنید:
    رمز عبور کاساندرا

    که در آن رمز عبور رمز JMX است.
  6. ${JAVA_HOME}/lib/management/jmxremote.access را ویرایش کنید و نقش زیر را اضافه کنید:
    کاساندرا خواندن
  7. مطمئن شوید که فایل‌ها متعلق به "apigee" هستند و حالت فایل 400 است:
    > chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.*
    > chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.*
  8. در صورت عدم وجود فایل در محل زیر ایجاد کنید:
    /opt/apigee/customer/application/jmx_auth.sh
  9. خطوط زیر را به فایل jmx_auth.sh که ایجاد کردید اضافه کنید:
    export CASS_JMX_USERNAME=JMX_USERNAME
    export CASS_JMX_PASSWORD=JMX_PASSWORD
  10. دستور زیر را اجرا کنید:
    source /opt/apigee/customer/application/jmx_auth.sh
  11. پیکربندی را روی Cassandra اجرا کنید:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra پیکربندی
  12. کاساندرا را دوباره راه اندازی کنید:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  13. این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.

برای اینکه بعداً احراز هویت را غیرفعال کنید:

  1. Edit / opt/apigee/customer/application/cassandra.properties .
  2. خط زیر را از فایل حذف کنید:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. پیکربندی را روی Cassandra اجرا کنید:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra پیکربندی
  4. کاساندرا را دوباره راه اندازی کنید:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.

آمار کاساندرا 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 پیدا کرد.

برای اطلاعات بیشتر در مورد ابزار nodetool، به http://www.datastax.com/docs/1.0/references/nodetool مراجعه کنید.

فراخوانی های زیر را می توان در تمام گره های خوشه ای Cassandra برقرار کرد:

  1. اطلاعات حلقه عمومی (همچنین برای گره کاساندرا منفرد امکان پذیر است): برای همه گره ها به دنبال "Up" و "Normal" باشید.
    [host]# nodetool -u username -p password -h localhost ring

    خروجی دستور بالا مانند شکل زیر است:
    آدرس وضعیت رک DC Load Owns Token
    192.168.124.201 dc1 ra1 بالا عادی 1.67 مگابایت 33،33% 0
    192.168.124.202 dc1 ra1 بالا عادی 1.68 مگابایت 33،33% 56713727820156410577229101238628035242
    192.168.124.203 dc1 ra1 بالا عادی 1.67 مگابایت 33،33% 113427455640312821154458202477256070484
  2. اطلاعات عمومی در مورد گره ها (تماس در هر گره)
    nodetool -u username -p password -h info localhost

    خروجی دستور بالا مانند شکل زیر است:
    نشانه: 0
    شایعات فعال: درست است
    بارگذاری: 1.67 مگابایت
    شماره نسل : 1361968765
    Uptime (ثانیه): 78108
    حافظه Heap (MB): 46,80 / 772,00
    مرکز داده: dc1
    رک: ra1
    استثناء: 0
  3. وضعیت سرور صرفه جویی (API سرویس گیرنده)
    host]# nodetool -u username -p password -h localhost statusthrift

    خروجی دستور بالا وضعیت را به صورت "running" نمایش می دهد.
  4. وضعیت عملیات جریان داده : ترافیک گره‌های کاساندرا را مشاهده کنید
    nodetool -u username -p password -h localhost netstats 192.168.124.203

    خروجی دستور بالا مانند شکل زیر است:
    حالت: NORMAL
    هیچ چیزی به /192.168.124.203 جریان نمی یابد
    هیچ چیزی از /192.168.124.203 پخش نمی شود
    نام استخر فعال در انتظار تکمیل شد
    دستورات n/a 0 1688
    پاسخ ها شماره 0 292277

نظارت کاساندرا (UI)

به URL opscenter datastax مراجعه کنید: http://www.datastax.com/products/opscenter .

منبع کاساندرا

به نشانی اینترنتی زیر مراجعه کنید: http://www.datastax.com/docs/1.0/operations/monitoring .

Apache ZooKeeper

بررسی وضعیت ZooKeeper

  1. اطمینان حاصل کنید که فرآیند ZooKeeper در حال اجرا است. ZooKeeper یک فایل PID برای opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid می نویسد.
  2. پورت های ZooKeeper را آزمایش کنید تا اطمینان حاصل کنید که می توانید یک اتصال TCP به پورت های 2181 و 3888 در هر سرور ZooKeeper برقرار کنید.
  3. اطمینان حاصل کنید که می توانید مقادیر را از پایگاه داده ZooKeeper بخوانید. با استفاده از کتابخانه مشتری ZooKeeper (یا /opt/apigee/apigee-zookeeper/bin/zkCli.sh ) متصل شوید و مقداری را از پایگاه داده بخوانید.
  4. بررسی وضعیت:
    > /opt/apigee/apigee-service/bin/apigee-service وضعیت apigee-zookeeper

با استفاده از ZooKeeper چهار حرفی

ZooKeeper را می توان از طریق مجموعه کوچکی از دستورات (کلمات چهار حرفی) که با استفاده از netcat (nc) یا telnet به پورت 2181 ارسال می شود، نظارت کرد.

برای اطلاعات بیشتر در مورد دستورات ZooKeeper، مراجعه کنید: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands .

به عنوان مثال:

  • srvr : جزئیات کامل سرور را فهرست می کند.
  • stat : جزئیات مختصری را برای سرور و مشتریان متصل فهرست می کند.

دستورات زیر را می توان برای پورت ZooKeeper صادر کرد:

  1. دستور چهار حرفی ruok را اجرا کنید تا بررسی کنید آیا سرور در حالت بدون خطا کار می کند یا خیر. یک پاسخ موفق "imok" را برمی گرداند.
    اکو روک | nc <host> 2181

    برمی گرداند:
    imok
  2. دستور چهار حرفی، stat را اجرا کنید تا عملکرد سرور و آمار مشتریان متصل را فهرست کنید.
    اکو آمار | nc <host> 2181

    برمی گرداند:
    نسخه Zookeeper: 3.4.5-1392090، ساخته شده در 2012/09/30 17:52 GMT
    مشتریان:
    /0:0:0:0:0:0:0:1:33467[0](در صف = 0، recved = 1، ارسال شده = 0)
    /192.168.124.201:42388[1](queueed=0,recved=8433,sent=8433)
    /192.168.124.202:42185[1](queueed=0,recved=1339,sent=1347)
    /192.168.124.204:39296[1](queueed=0,recved=7688,sent=7692)
    تاخیر حداقل/میانگین/حداکثر: 0/0/128
    دریافت: 26144
    ارسال شده: 26160
    اتصالات: 4
    برجسته: 0
    Zxid: 0x2000002c2
    حالت: دنبال کننده
    تعداد گره: 283

    توجه : گاهی اوقات مهم است که ببینید آیا ZooKeeper در حالت است: رهبر، پیرو یا ناظر.
  3. اگر netcat (nc) در دسترس نیست، می توانید از پایتون به عنوان جایگزین استفاده کنید. فایلی به نام zookeeper.py ایجاد کنید که حاوی موارد زیر باشد:
    زمان واردات، سوکت،
    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

OpenLDAP

تست سطح LDAP

می‌توانید OpenLDAP را نظارت کنید تا ببینید آیا درخواست‌های خاص به درستی ارائه می‌شوند یا خیر. به عبارت دیگر، جستجوی خاصی را بررسی کنید که نتیجه درست را برمی‌گرداند.

  1. از 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 را وارد کنید:
    رمز عبور LDAP را وارد کنید:

    پس از وارد کردن رمز عبور، پاسخی را در فرم مشاهده می کنید:
    dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com
    objectClass: سازمانی Person
    objectClass: شخص
    objectClass: inetOrgPerson
    objectClass: بالا
    uid: مدیر
    cn: مدیر
    sn: مدیر
    userpassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ=
    =
    پست الکترونیکی: opdk@google.com
  2. بررسی کنید که آیا سرور مدیریت همچنان به مشکل LDAP متصل است یا خیر:
    curl -u <userEMail>:<گذرواژه> http://localhost:8080/v1/users/<ADMIN>

    برمی گرداند:
    {
    "emailId" : <ADMIN>،
    "firstName" : "admin",
    "LastName" : "Admin"
    }

شما همچنین می توانید کش های OpenLDAP را نظارت کنید که به کاهش تعداد دسترسی ها به دیسک و در نتیجه بهبود عملکرد سیستم کمک می کند. نظارت و سپس تنظیم اندازه کش در سرور OpenLDAP می تواند به شدت بر عملکرد سرور دایرکتوری تأثیر بگذارد. می‌توانید فایل‌های گزارش ( opt/apigee/var/log ) را مشاهده کنید تا اطلاعات مربوط به کش را به دست آورید.