نحوه نظارت

این سند تکنیک‌های پایش مؤلفه‌های پشتیبانی‌شده توسط استقرار محلی Apigee Edge for Private Cloud را شرح می‌دهد.

نمای کلی

‫Edge از چندین روش برای دریافت جزئیات درباره خدمات و همچنین بررسی وضعیت آن‌ها پشتیبانی می‌کند. جدول زیر انواع بررسی‌هایی را که می‌توانید روی هر سرویس واجدشرایط انجام دهید فهرست می‌کند: سرویس:

Mgmt API
مؤلفه استفاده از حافظه [JMX*] بررسی سرویس وضعیت کاربر/سازمان/ استقرار axstatus بررسی پایگاه داده وضعیت apigee-service apigee-monit**
سرور مدیریت
پردازشگر پیام
رهیاب
Qpid
Postgres
اطلاعات بیشتر اطلاعات بیشتر اطلاعات بیشتر اطلاعات بیشتر اطلاعات بیشتر اطلاعات بیشتر اطلاعات بیشتر

* قبل‌از اینکه بتوانید از JMX استفاده کنید، باید آن را فعال کنید، همان‌طور که در فعال کردن JMX توضیح داده شده است.

** سرویس apigee-monit بررسی می‌کند که آیا یک جزء فعال است یا نه و اگر فعال نباشد سعی می‌کند آن را بازراه‌اندازی کند. برای اطلاعات بیشتر، خودترمیمی با apigee-monit را ببینید.

درحال پایش درگاه‌ها و فایل‌های پیکربندی

هر عنصر از «افزونه‌های مدیریت Java» (JMX) و فراخوانی‌های پایش «میانای برنامه‌سازی کاربردی مدیریت» در درگاه‌های مختلف پشتیبانی می‌کند. جدول زیر درگاه‌های JMX و Management API را برای هر نوع سرور و مکان فایل پیکربندی فهرست می‌کند:

مؤلفه درگاه JMX درگاه Management 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 باید برای امنیت فعال شوند.

  1. فایل پیکربندی مناسب را ویرایش کنید (به مرجع فایل پیکربندی مراجعه کنید). اگر فایل پیکربندی وجود ندارد، آن را ایجاد کنید.
    conf_system_jmxremote_enable=true
  2. فایل پیکربندی را ذخیره کنید و مطمئن شوید که مالک آن apigee:apigee است.
  3. بازراه‌اندازی عنصر مناسب Edge
    apigee-service edge-management-server restart

برای غیرفعال کردن JMX، یا دارایی conf_system_jmxremote_enable را بردارید یا مقدار آن را به false تغییر دهید. سپس مؤلفه Edge مناسب را بازراه‌اندازی کنید.

اصالت‌سنجی در JMX

‫Edge for Private Cloud از اصالت‌سنجی مبتنی بر گذرواژه بااستفاده از جزئیات ذخیره‌شده در فایل‌ها پشتیبانی می‌کند. می‌توانید گذرواژه‌ها را به‌عنوان «درهم‌سازی» برای امنیت بیشتر ذخیره کنید.

  1. برای فعال کردن اصالت‌سنجی 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 است.
  2. درهم‌سازی SHA256 گذرواژه را ایجاد کنید:
    echo -n '' | openssl dgst -sha256
  3. فایل jmxremote.password با اطلاعات اعتباری کاربر JMX ایجاد کنید:
    1. فایل‌های زیر را از دایرکتوری $JAVA_HOME به دایرکتوری /opt/apigee/customer/application/<component>/ کپی کنید:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
    2. فایل را ویرایش کنید و نام کاربری و گذرواژه JMX خود را بااستفاده از نحو زیر اضافه کنید:
      USERNAME <HASH-PASSWORD>
    3. مطمئن شوید که فایل متعلق به apigee است و حالت فایل ۴۰۰ است:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
  4. فایل jmxremote.access با اجازه‌های کاربر JMX ایجاد کنید:
    1. فایل‌های زیر را از دایرکتوری $JAVA_HOME به دایرکتوری /opt/apigee/customer/application/<component>/ کپی کنید
      
      cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
    2. فایل را ویرایش کنید و نام کاربری JMX خود را به‌همراه اجازه (READONLY/READWRITE) اضافه کنید
      USERNAME READONLY
    3. مطمئن شوید که فایل متعلق به apigee است و حالت فایل ۴۰۰ است:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
  5. عنصر Edge مناسب را بازراه‌اندازی کنید:
    apigee-service edge-management-server restart

برای غیرفعال کردن اصالت‌سنجی JMX، یا دارایی conf_system_jmxremote_authenticate را بردارید یا مقدار را به false تغییر دهید و مؤلفه Edge مناسب را بازراه‌اندازی کنید.

‫SSL در JMX

برای فعال کردن JMX مبتنی بر SSL در یک مؤلفه edge-* ‎:

  1. فایل پیکربندی مناسب را ویرایش کنید (به مرجع فایل پیکربندی مراجعه کنید). اگر فایل پیکربندی وجود ندارد، آن را ایجاد کنید:
    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 است.
  2. انبار کلیدی حاوی کلید سرور را آماده کنید و آن را در مسیر ارائه‌شده در پیکربندی conf_system_javax_net_ssl_keystore بالا قرار دهید. مطمئن شوید فایل انبار کلید توسط apigee:apigee قابل خواندن باشد.
  3. عنصر 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 از نشانی وب سرویس زیر برای پایش مشخصه‌های 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

توجه داشته باشید که این مثال درگاه ۱۰۹۹ را مشخص می‌کند که درگاه JMX «سرور مدیریت» است. برای درگاه‌های دیگر، درگاه‌های پایش JMX و Management 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. به‌طور پیش‌فرض، فرایند Java درگاهی تصادفی را انتخاب می‌کند.
    conf_system_jmxremote_rmi_port=
  • نام میزبان برای کُنده‌های راه دور. نشانی IP پیش‌فرض میزبان محلی.
    conf_system_java_rmi_server_hostname=
  • از ثبت JMX با SSL محافظت کنید. پیش‌فرض نادرست است. فقط درصورتی‌که SSL فعال باشد قابل‌اجرا است.
    conf_system_jmxremote_registry_ssl=false

پایش با Management API

‫Edge شامل چندین API است که می‌توانید از آن‌ها برای انجام بررسی‌های سرویس در سرورهایتان و همچنین بررسی کاربران، سازمان‌ها، و استقرارها استفاده کنید. این بخش این میاناهای برنامه‌سازی کاربردی را شرح می‌دهد.

انجام بررسی‌های سرویس

‫Management API چندین نقطه پایانی برای نظارت و تشخیص مشکلات سرویس‌های شما ارائه می‌دهد. این نقاط پایانی شامل موارد زیر می‌شود:

نقطه پایانی شرح
/servers/self/up

بررسی می‌کند که آیا سرویسی درحال اجرا است یا نه. این فراخوانی «میانای برنامه‌سازی کاربردی» نیازی به اصالت‌سنجی ندارد.

اگر سرویس درحال اجرا باشد، این نقطه پایانی پاسخ زیر را برمی‌گرداند:

<ServerField>
  <Up>true</Up>
</ServerField>

اگر سرویس درحال اجرا نباشد، پاسخی مشابه موارد زیر دریافت خواهید کرد (بسته به اینکه سرویس کدام است و چگونه آن را بررسی کرده‌اید):

curl: Failed connect to localhost:port_number; Connection refused
/servers/self

اطلاعاتی درباره سرویس برمی‌گرداند، ازجمله:

  • خصوصیت‌های پیکربندی
  • زمان شروع و زمان روشن بودن
  • اطلاعات ساخت، RPM، و UUID
  • نام میزبان داخلی و خارجی و نشانی IP
  • منطقه و غلاف
  • دارایی <isUp>، که نشان می‌دهد سرویس درحال اجرا است یا نه

این فراخوانی 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 درگاه Management API برای سروری است که می‌خواهید بررسی کنید. این یک درگاه متفاوت برای هر نوع مؤلفه است. برای مثال، درگاه Management API «سرور مدیریت» ‏۸۰۸۰ است. برای فهرست شماره درگاه‌های Management API که باید استفاده کنید، به درگاه‌های پایش JMX و Management API مراجعه کنید

برای تغییر قالب پاسخ، می‌توانید سرایند Accept را به‌عنوان «application/json» یا «application/xml» مشخص کنید.

مثال زیر وضعیت «مسیریاب» را در localhost (درگاه ۸۰۸۱) دریافت می‌کند:

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"

نظارت بر وضعیت کاربر، سازمان، و استقرار

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

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password

در اینجا port_number یا ۸۰۸۰ برای «سرور مدیریت» یا ۸۰۸۲ برای «پردازشگر پیام» است.

برای این تماس باید با نام کاربری و گذرواژه مدیریت سیستم اصالت‌سنجی کنید.

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

  1. گزارش‌های سرور را برای یافتن خطا بررسی کنید. گزارش‌ها در این مکان قرار دارند:
    • سرور مدیریت: opt/apigee/var/log/edge-management-server
    • پردازشگر پیام: opt/apigee/var/log/edge-message-processor
  2. تماسی با سرور برقرار کنید تا بررسی کنید که آیا به‌درستی کار می‌کند یا نه.
  3. سرور را از 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:

  1. وارد سیستم سرور شوید و فرمان زیر را اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    که در آن service_name یکی از موارد زیر است:

    • سرور مدیریت: edge-management-server
    • پردازشگر پیام: edge-message-processor
    • Postgres: edge-postgres-server
    • Qpid: edge-qpid-server
    • رهیاب: edge-router

    برای مثال:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
  2. اگر سرویس اجرا نمی‌شود، سرویس را شروع کنید:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. پس‌از راه‌اندازی مجدد سرویس، عملکرد آن را بااستفاده از فرمان apigee-service status که قبلاً استفاده می‌کردید یا بااستفاده از Management API توضیح‌داده‌شده در پایش با Management API بررسی کنید.

    برای مثال:

    curl -v http://localhost:port_number/v1/servers/self/up

    که در آن port_number درگاه «میانای برنامه‌سازی کاربردی مدیریت» برای سرویس است.

    در این مثال فرض می‌شود که به سیستم سرور وارد شده‌اید و می‌توانید از «localhost» به‌عنوان نام میزبان استفاده کنید. برای بررسی وضعیت ازراه‌دور با «میانای برنامه‌سازی کاربردی مدیریت»، باید نشانی IP سرور را مشخص کنید و نام کاربری و گذرواژه سرپرست سیستم را در فراخوانی API خود بگنجانید.

پایش Postgres

‫Postgres از چندین ابزار پشتیبانی می‌کند که می‌توانید از آن‌ها برای بررسی وضعیت آن استفاده کنید. این ابزارها در بخش‌های زیر توضیح داده شده‌اند.

بررسی سازمان‌ها و محیط‌ها در Postgres

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

curl -v http://postgres_IP:8084/v1/servers/self/organizations

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

درستی‌سنجی وضعیت تجزیه‌وتحلیل

با صدور دستور زیر می‌توانید وضعیت سرورهای تجزیه‌وتحلیل Postgres و Qpid را درستی‌سنجی کنید: curl

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 مراجعه کنید.

قبل‌از اجرای دستورگان:

  1. باید دستورگان check_postgres.pl را در هر گره Postgres نصب کنید.
  2. مطمئن شوید که perl-Time-HiRes.x86_64 را نصب کرده باشید، این واحد Perl زنگ ساعت با وضوح بالا، خواب، gettimeofday، و زمان‌سنج‌های فاصله‌ای را پیاده‌سازی می‌کند. برای مثال، می‌توانید آن را بااستفاده از دستور زیر نصب کنید:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: قبل‌از استفاده از check_postgres.pl در CentOS v7، perl-Data-Dumper.x86_64 RPM را نصب کنید.

برونداد check_postgres.pl

برونداد پیش‌فرض تماس‌های 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(*) 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 زیر می‌توانید بررسی‌های «میانای برنامه‌سازی کاربردی» را در ماشین Postgres انجام دهید:

curl -v http://postgres_IP:8084/v1/servers/self/health

وقتی فرایند postgres فعال باشد، این فرمان وضعیت ACTIVE را برمی‌گرداند. اگر فرایند Postgres فعال و درحال اجرا نباشد، وضعیت INACTIVE را برمی‌گرداند.

منابع Postgres

برای اطلاعات بیشتر درباره نظارت بر سرویس Postgres، موارد زیر را ببینید:

Apache Cassandra

‫JMX به‌طور پیش‌فرض برای Cassandra فعال است و دسترسی ازراه‌دور JMX به Cassandra نیازی به گذرواژه ندارد.

فعال کردن اصالت‌سنجی JMX برای Cassandra

می‌توانید اصالت‌سنجی JMX را برای Cassandra فعال کنید. پس‌از انجام این کار، باید نام کاربری و گذرواژه را به همه تماس‌ها با ابزار nodetool ارسال کنید.

برای فعال کردن اصالت‌سنجی JMX برای Cassandra:

  1. ایجاد و ویرایش فایل cassandra.properties:
    1. فایل /opt/apigee/customer/application/cassandra.properties را ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    2. مورد زیر را به فایل اضافه کنید:
      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
    3. فایل cassandra.properties را ذخیره کنید.
    4. مالک فایل را به apigee:apigee تغییر دهید، همان‌طور که در مثال زیر نشان داده شده است:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties

    برای اطلاعات بیشتر درباره استفاده از فایل‌های دارایی برای تنظیم نشانه‌ها، به نحوه پیکربندی Edge مراجعه کنید.

  2. ایجاد و ویرایش jmx_auth.sh:
    1. اگر فایل در مکان زیر وجود ندارد، آن را ایجاد کنید:
      /opt/apigee/customer/application/jmx_auth.sh
    2. خواص زیر را به فایل اضافه کنید:
      export CASS_JMX_USERNAME=JMX_USERNAME
      export CASS_JMX_PASSWORD=JMX_PASSWORD
    3. فایل jmx_auth.sh را ذخیره کنید.
    4. فایل منبع:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. کپی و ویرایش فایل jmxremote.password:
    1. فایل زیر را از دایرکتوری $JAVA_HOME خود در /opt/apigee/customer/application/apigee-cassandra/ کپی کنید:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. فایل jmxremote.password را ویرایش کنید و نام کاربری و گذرواژه JMX خود را بااستفاده از نحو زیر اضافه کنید:
      JMX_USERNAME JMX_PASSWORD

      که در آن JMX_USERNAME و JMX_PASSWORD نام کاربری و گذرواژه JMX است که قبلاً تنظیم کرده‌اید.

    3. مطمئن شوید فایل متعلق به «apigee» است و حالت فایل ۴۰۰ است:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
  4. کپی و ویرایش فایل jmxremote.access:
    1. فایل زیر را از دایرکتوری $JAVA_HOME به /opt/apigee/customer/application/apigee-cassandra/ کپی کنید:
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. فایل jmxremote.access را ویرایش کنید و نقش زیر را اضافه کنید:
      JMX_USERNAME readwrite
    3. مطمئن شوید فایل متعلق به «apigee» است و حالت فایل ۴۰۰ است:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
  5. اجرای configure در Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. بازراه‌اندازی Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. این فرایند را در همه گره‌های دیگر Cassandra تکرار کنید.

فعال کردن رمزگذاری گذرواژه JMX

برای فعال کردن رمزگذاری گذرواژه JMX، مراحل زیر را انجام دهید:

  1. فایل source/conf/casssandra-env.sh را باز کنید.
  2. ایجاد و ویرایش فایل cassandra.properties:
    1. فایل /opt/apigee/customer/application/cassandra.properties را ویرایش کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    2. مورد زیر را به فایل اضافه کنید:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. فایل cassandra.properties را ذخیره کنید.
    4. مالک فایل را به apigee:apigee تغییر دهید، همان‌طور که در مثال زیر نشان داده شده است:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  3. در خط فرمان، با وارد کردن echo -n 'Secret' | openssl dgst -sha1، مقدار درهم‌سازی SHA1 گذرواژه(های) موردنظر را تولید کنید
  4. گذرواژه(ها) را دربرابر نام کاربری در $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password (ایجادشده در در بخش قبلی) تنظیم کنید.
  5. اجرای پیکربندی در Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. بازراه‌اندازی Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. این فرایند را در همه گره‌های دیگر Cassandra تکرار کنید.

فعال کردن JMX با SSL برای Cassandra

فعال کردن JMX با SSL امنیت و رمزگذاری بیشتری برای ارتباطات مبتنی بر JMX با Cassandra فراهم می‌کند. برای فعال کردن JMX با SSL، باید کلید و گواهینامه‌ای به Cassandra ارائه دهید تا اتصالات JMX مبتنی بر SSL را بپذیرد. همچنین باید nodetool (و هر ابزار دیگری که ازطریق JMX با Cassandra ارتباط برقرار می‌کند) را برای SSL پیکربندی کنید.

‫JMX فعال‌شده با SSL از گذرواژه‌های JMX رمزگذاری‌شده و بدون رمزگذاری پشتیبانی می‌کند.

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

  1. ‫JMX را فعال کنید. درصورت نیاز، رمزگذاری گذرواژه را فعال کنید.
  2. اصالت‌سنجی JMX را برای Cassandra فعال کنید. همان‌طور که در بالا توضیح داده شد. مطمئن شوید که nodetool با نام کاربری و گذرواژه پیکربندی‌شده کار می‌کند.
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. آماده‌سازی keystore و truststore.

    • محل ذخیره کلید باید حاوی کلید و گواهینامه باشد، و برای پیکربندی سرور Cassandra استفاده می‌شود. اگر keystore شامل چندین جفت کلید باشد، Cassandra از اولین جفت کلید برای فعال کردن SSL استفاده می‌کند.

      توجه داشته باشید که گذرواژه‌های keystore و کلید باید یکسان باشد (پیش‌فرض هنگام تولید کلید بااستفاده از keytool).

    • «انبار مطمئن» باید فقط حاوی گواهینامه باشد و توسط کارخواه‌ها (فرمان‌های مبتنی بر apigee-service یا nodetool) برای اتصال ازطریق JMX استفاده می‌شود.

    پس‌از درستی‌سنجی الزامات بالا:

    1. فایل keystore را در /opt/apigee/customer/application/apigee-cassandra/ قرار دهید.
    2. مطمئن شوید فایل انبار کلید فقط توسط کاربر Apigee قابل‌خواندن است. برای این کار، موارد زیر را وارد کنید
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
  4. با انجام مراحل زیر، Cassandra را برای JMX با SSL پیکربندی کنید:
    1. با وارد کردن دستور زیر، گره Cassandra را متوقف کنید
      apigee-service apigee-cassandra stop
    2. با باز کردن فایل /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
    3. مالک فایل را به apigee:apigee تغییر دهید، همان‌طور که در مثال زیر نشان داده شده است:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    4. اجرای پیکربندی در Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. بازراه‌اندازی Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. این فرایند را در همه گره‌های دیگر Cassandra تکرار کنید.
    7. با وارد کردن دستور زیر، گره Cassandra را شروع کنید
      apigee-service apigee-cassandra start
  5. فرمان‌های 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 وجود دارد. گزینه‌ای را براساس قابلیت استفاده و رویه‌های امنیتی‌تان انتخاب کنید.

    گزینه ۱ (آرگومان‌های 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
    -Djavax.net.ssl.trustStoreType=PKCS12

    مطمئن شوید فایل trustore توسط کاربر Apigee قابل خواندن باشد.

    فرمان apigee-service زیر را اجرا کنید. اگر بدون خطا اجرا شود، پیکربندی‌هایتان درست است.

    apigee-service apigee-cassandra ring

    گزینه ۲ (آرگومان‌های 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

    گزینه ۳ (متغیرهای مستقل 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
  6. ‫nodetool را راه‌اندازی کنید. ‫Nodetool نیاز دارد پارامترهای JMX به آن منتقل شود. دو روش برای پیکربندی nodetool برای اجرا با JMX فعال‌شده با SSL وجود دارد، همان‌طور که در گزینه‌های پیکربندی زیر توضیح داده شده است:

    گزینه‌ها در نحوه انتقال پیکربندی‌های مربوط به SSL به nodetool متفاوت هستند. در هر دو مورد، کاربری که nodetool را اجرا می‌کند باید اجازه READ روی فایل truststore داشته باشد. گزینه مناسب را براساس قابلیت استفاده و رویه‌های امنیتی‌تان انتخاب کنید.

    برای کسب اطلاعات بیشتر درباره پارامترهای nodetool، به اسناد DataStax مراجعه کنید.

    گزینه پیکربندی ۱

    فایلی در پوشه اصلی کاربری که 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
    -Djavax.net.ssl.trustStoreType=PKCS12

    هر کاربری که nodetool را اجرا می‌کند باید به مسیر truststore مشخص‌شده در بالا دسترسی داشته باشد.

    ‫nodetool را با گزینه --ssl اجرا کنید.

    /opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

    گزینه پیکربندی ۲

    ‫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 شرح‌داده‌شده در رویه بالا را برگردانید، مراحل زیر را انجام دهید:

  1. با وارد کردن، apigee-cassandra را متوقف کنید
    apigee-service apigee-cassandra stop
  2. خط conf_cassandra-env_com.sun.management.jmxremote.ssl=true را از فایل /opt/apigee/customer/application/cassandra.properties بردارید.
  3. خطوط زیر را در /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”
  4. با وارد کردن، apigee-cassandra را شروع کنید
  5. apigee-service apigee-cassandra start
  6. متغیر محیطی CASS_JMX_SSL را درصورت تنظیم شدن بردارید.

    unset CASS_JMX_SSL
  7. بررسی کنید که فرمان‌های مبتنی بر apigee-service مثل ring، stop،‏ backup، و غیره کار می‌کنند.
  8. توقف استفاده از کلید --ssl با nodetool

غیرفعال کردن اصالت‌سنجی JMX برای Cassandra

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

  1. ویرایش /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 configure
  4. بازراه‌اندازی Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. این فرایند را در همه گره‌های دیگر Cassandra تکرار کنید.

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

از JConsole و نشانی وب سرویس زیر برای نظارت بر مشخصه‌های JMX (MBeans) ارائه‌شده ازطریق JMX استفاده کنید:

service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi

که در آن IP_address نشانی IP سرور Cassandra است.

آمار 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 است که گره‌های خوشه را مدیریت می‌کند. این ابزار را می‌توانید در /opt/apigee/apigee-cassandra/bin پیدا کنید.

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

  1. اطلاعات کلی حلقه (برای گره Cassandra تکی نیز امکان‌پذیر است): برای همه گره‌ها، «بالا» و «عادی» را جستجو کنید.
    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
  2. اطلاعات کلی درباره گره‌ها (تماس به‌ازای هر گره)
    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
  3. وضعیت سرور thrift (ارائه API مشتری)
    nodetool [-u username -pw password] -h localhost statusthrift

    برونداد فرمان بالا به‌صورت زیر است:

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

منبع Cassandra

به نشانی وب زیر مراجعه کنید: پایش Cassandra.

پایش کارگزار Apache Qpid-J

می‌توانید Qpid Broker-J را از کنسول مدیریت Qpid نظارت کنید. این بخش توضیح می‌دهد چگونه به کنسول دسترسی پیدا کنید و از آن برای انجام عملکردهای نظارت پایه استفاده کنید. برای اطلاعات دقیق‌تر درباره استفاده از کنسول مدیریت، کنسول مدیریت وب را در اسناد Apache Qpid ببینید.

دسترسی به کنسول مدیریت

درگاه کنسول مدیریت پیش‌فرض ۸۰۹۰ است. برای دسترسی به کنسول در این درگاه پیش‌فرض، مرورگر وب خود را به این نشانی هدایت کنید:

http://QPID_NODE_IP:8090

برای ورود به سیستم کنسول، از اطلاعات اعتباری پیش‌فرضی که Apigee تنظیم کرده است یا اطلاعات اعتباری تنظیم‌شده در فایل پیکربندی Edge استفاده کنید. برای جزئیات بیشتر، مرجع فایل پیکربندی Edge را ببینید.

نظارت بر صف‌ها و پیام‌ها

در پانل پیمایش سمت راست، به Java-Broker > virtualhosts > queues بروید. صفی را انتخاب کنید تا جزئیات آن را در بخش اصلی رابط کاربری مشاهده کنید. در نمای جزئیات، می‌توانید «مشخصه‌های صف» و «آمار» را ببینید، ازجمله اطلاعات مربوط به پیام‌های تحویل‌شده، در صف قرارگرفته، نرخ پیام، و غیره.

مشاهده و بارگیری فایل‌های گزارش

در پانل پیمایش سمت راست، به 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» و «میاناهای برنامه‌سازی کاربردی مدیریت Qpid» فعال کنید. برای ارائه کلید و گواهینامه، دستورالعمل‌های زیر را دنبال کنید.

‫Qpid گزینه‌ای برای «انبار کلید فایل» ارائه می‌دهد که در Apigee فعال است. این نوع قالب استاندارد مخزن کلید JKS را که Java و ابزارهای Java مثل keytool می‌فهمند می‌پذیرد. همچنین می‌تواند یک انبار کلید PKCS12 را بپذیرد که می‌تواند بااستفاده از ابزارهایی مانند OpenSSL تولید شود.

آماده‌سازی انبار کلید

برای تولید کردن انبار کلید، به اسناد Java Keytool مراجعه کنید.

برای تولید مخزن کلید PKCS12، به اسناد OpenSSL مراجعه کنید.

پس‌از درستی‌سنجی الزامات

  1. فایل keystore را در /opt/apigee/customer/application/apigee-qpidd قرار دهید.
  2. مطمئن شوید که فایل انبار کلید فقط توسط کاربر 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
  1. مالک فایل را به apigee:apigee تغییر دهید:
    chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
  2. پیکربندی Qpidd:
    apigee-service apigee-qpidd configure
  3. بازراه‌اندازی Qpidd:
    apigee-service apigee-qpidd restart
  4. وضعیت را با 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
  1. پیکربندی Qpidd:
    apigee-service apigee-qpidd configure
  2. بازراه‌اندازی Qpidd:
    apigee-service apigee-qpidd restart
  3. وضعیت را با wait_for_ready بررسی کنید:
    apigee-service apigee-qpidd wait_for_ready

Apache ZooKeeper

بررسی وضعیت ZooKeeper

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

استفاده از کلمات چهارحرفی ZooKeeper

‫ZooKeeper را می‌توان ازطریق مجموعه کوچکی از فرمان‌ها (کلمات چهارحرفی) که بااستفاده از netcat (nc) یا telnet به درگاه ۲۱۸۱ ارسال می‌شوند پایش کرد.

برای اطلاعات بیشتر درباره فرمان‌های ZooKeeper، به مرجع فرمان Apache ZooKeeper مراجعه کنید.

برای مثال:

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

فرمان‌های زیر را می‌توان به درگاه ZooKeeper صادر کرد:

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

    برمی‌گرداند:

    imok
  2. فرمان چهارحرفی 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
  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 zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

آزمایش سطح LDAP

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

  1. از ldapsearch (yum install symasldap-clients) برای پُرسمان ورودی سرپرست سیستم استفاده کنید. از این ورودی برای اصالت‌سنجی همه تماس‌های «میانای برنامه‌سازی کاربردی» استفاده می‌شود.
    /opt/symas/bin/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
  2. بااستفاده از فرمان زیر بررسی کنید که آیا «سرور مدیریت» هنوز به LDAP متصل است یا نه:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN

    برمی‌گرداند:

    {
      "emailId" : ADMIN,
      "firstName" : "admin",
      "lastName" : "admin"
    }

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