نحوه نظارت

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 نمی‌تواند به درخواست‌های درگاه ۸۰۸۰ پاسخ دهد.

عیب‌یابی

  1. به سرور وارد شوید و فرمان زیر را اجرا کنید:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server status
  2. 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

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

  1. گزارش‌های «سرور مدیریت» (در <inst_root>/apigee/var/log/edge-management-server) را ازنظر وجود خطا بررسی کنید.
  2. با «سرور مدیریت» تماس بگیرید تا بررسی کنید درست کار می‌کند یا نه.
  3. سرور را از 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 نمی‌تواند به درخواست‌های درگاه ۸۰۸۱ پاسخ دهد.

عیب‌یابی

  1. به سیستم سرور وارد شوید و فرمان‌های زیر را اجرا کنید:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router status
  2. اگر سرویس درحال اجرا نیست، سرویس را شروع کنید
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start
  3. اگر سرویس درحال اجرا است، عملکرد آن را آزمایش کنید. با بررسی 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
    }
  4. اگر کار نمی‌کند، فرمان زیر را اجرا کنید تا خرابی را بررسی کنید یا عضو متخلف را پیدا کنید.
    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"
    }
  5. توجه داشته باشید که نشانی IP‏ ۱۹۲.۱۶۸.۵.۲۹ قطع شده است. سرور را بازراه‌اندازی کنید
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart

    توجه: اگر «رهیاب» در وضعیت قطع اتصال است، رهیاب را از ELB بردارید و سپس آن را بازراه‌اندازی کنید.
  6. پس‌از بازراه‌اندازی، بررسی کنید که کار می‌کند
    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 نصب شود.

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

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

خروجی پیش‌فرض فراخوانی‌های میانای برنامه‌سازی کاربردی بااستفاده از دستورگان 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. 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

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 برای افزودن گذرواژه:

  1. /<inst_root>/apigee/customer/application/cassandra.properties را ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
  2. موارد زیر را به فایل اضافه کنید:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. فایل را ذخیره کنید.
  4. فایل‌های زیر را از فهرست راهنمای $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
  5. jmxremote.password را ویرایش کنید و نام کاربری و گذرواژه را به فایل اضافه کنید:
    cassandra password

    که در آن password گذرواژه JMX است.
  6. jmxremote.access را ویرایش کنید و نقش زیر را اضافه کنید:
    cassandra readwrite
  7. مطمئن شوید که فایل‌ها متعلق به «apigee» هستند و حالت فایل ۴۰۰ است:
    > chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
    > chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
  8. پیکربندی را در Cassandra اجرا کنید:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  9. Cassandra را بازراه‌اندازی کنید:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

برای غیرفعال کردن اصالت‌سنجی در آینده:

  1. فایل <inst_root>/apigee/customer/application/cassandra.properties را ویرایش کنید.
  2. خط زیر را در فایل بردارید:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. پیکربندی را در Cassandra اجرا کنید:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. 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 برقرار کرد:

  1. اطلاعات کلی حلقه (برای گره 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
  2. اطلاعات کلی درباره گره‌ها (فراخوانی برای هر گره)
    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
  3. وضعیت سرور thrift (ارائه API کارخواه)
    host]# nodetool -h localhost statusthrift

    برونداد فرمان بالا وضعیت را به‌صورت «درحال اجرا» نمایش می‌دهد.
  4. وضعیت عملیات جاری‌سازی داده: ترافیک گره‌های 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

  1. مطمئن شوید فرایند ZooKeeper درحال اجرا باشد. ZooKeeper writes a PID file to <inst_root>/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
  2. درگاه‌های ZooKeeper را آزمایش کنید تا مطمئن شوید که می‌توانید اتصال TCP به درگاه‌های ۲۱۸۱ و ۳۸۸۸ در هر سرور ZooKeeper برقرار کنید.
  3. مطمئن شوید که می‌توانید مقادیر را از پایگاه داده ZooKeeper بخوانید. بااستفاده از کتابخانه کارخواه ZooKeeper (یا /<inst_root>/apigee/apigee-zookeeper/bin/zkCli.sh) متصل شوید و مقداری را از پایگاه داده بخوانید.
  4. وضعیت را بررسی کنید:
    > /<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 صادر کرد:

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

    برمی‌گرداند:
    imok
  2. فرمان چهارحرفی 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.
  3. اگر 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 را پایش کنید تا ببینید درخواست‌های خاص به‌درستی ارائه می‌شوند یا نه. به عبارت دیگر، جستجوی خاصی را بررسی کنید که نتیجه درست را برمی‌گرداند.

  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 را وارد کنید:
    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
  2. بررسی کنید که آیا «سرور مدیریت» هنوز به مشکل LDAP متصل است یا نه:
    curl -u <userEMail>:<password> http://localhost:8080/v1/users/<ADMIN>

    برمی‌گرداند:
    {
    "emailId" : <ADMIN>,
    "firstName" : "admin",
    "lastName" : "admin"
    }

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