نحوه نظارت، نحوه نظارت

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

بررسی اجمالی

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

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

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

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

مانیتورینگ پورت ها و فایل های پیکربندی

هر جزء از برنامه‌های افزودنی مدیریت جاوا (JMX) و تماس‌های نظارتی مدیریت API در پورت‌های مختلف پشتیبانی می‌کند. جدول زیر پورت‌های JMX و مدیریت API را برای هر نوع سرور و مکان‌های فایل پیکربندی فهرست می‌کند:

جزء پورت JMX پورت مدیریت 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 از احراز هویت مبتنی بر رمز عبور با استفاده از جزئیات ذخیره شده در فایل ها پشتیبانی می کند. برای امنیت بیشتر می‌توانید گذرواژه‌ها را به‌عنوان Hash ذخیره کنید.

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

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

جایی که:

  • IP_address آدرس IP سروری است که می خواهید نظارت کنید.
  • port_number شماره پورت JMX سروری است که می خواهید نظارت کنید.

به عنوان مثال، برای نظارت بر سرور مدیریت، دستوری مانند زیر صادر کنید (با فرض اینکه آدرس IP سرور 216.3.128.12 باشد):

service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi

توجه داشته باشید که این مثال پورت 1099 را مشخص می کند که پورت مدیریت سرور JMX است. برای سایر پورت‌ها، به پورت‌های نظارتی JMX و مدیریت API مراجعه کنید.

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

JMX MBeans ویژگی های JMX

حافظه

HeapMemoryUsage

NonHeapMemoryUsage

استفاده

مرجع فایل پیکربندی

بخش‌های زیر تغییراتی را که ممکن است لازم باشد در فایل‌های پیکربندی مؤلفه 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 به طور پیش فرض، فرآیند جاوا یک پورت تصادفی را انتخاب می کند.
    conf_system_jmxremote_rmi_port=
  • نام میزبان برای خرد راه دور. آدرس IP پیش فرض لوکال هاست
    conf_system_java_rmi_server_hostname=
  • از رجیستری JMX با SSL محافظت کنید. پیش فرض نادرست. فقط در صورتی قابل اجراست که SSL فعال باشد.
    conf_system_jmxremote_registry_ssl=false

با مدیریت API نظارت کنید

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

انجام بررسی های خدماتی

مدیریت API چندین نقطه پایانی برای نظارت و تشخیص مشکلات مربوط به خدمات شما فراهم می کند. این نقاط پایانی عبارتند از:

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

بررسی می کند که آیا یک سرویس در حال اجرا است یا خیر. این تماس API نیازی به احراز هویت شما ندارد.

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

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

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

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

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

  • ویژگی های پیکربندی
  • زمان شروع و زمان شروع
  • اطلاعات ساخت، 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 پورت مدیریت API برای سروری است که می خواهید بررسی کنید. این پورت برای هر نوع کامپوننت متفاوت است. به عنوان مثال، پورت مدیریت API مدیریت سرور 8080 است. برای لیستی از شماره پورت های مدیریت API برای استفاده، به پورت های نظارتی JMX و مدیریت API مراجعه کنید.

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

مثال زیر وضعیت روتر در لوکال هاست (پورت 8081) را دریافت می کند:

curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"

مثال زیر اطلاعات مربوط به پردازشگر پیام را در 216.3.128.12 (پورت 8082) دریافت می کند:

curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password
  -H "Accept: application/xml"

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

می توانید از مدیریت API برای نظارت بر وضعیت کاربر، سازمان و استقرار پراکسی های خود در سرورهای مدیریت و پردازشگرهای پیام با صدور دستورات زیر استفاده کنید:

curl http://host:port_number/v1/users -u sysAdminEmail: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 یا 8080 برای سرور مدیریت یا 8082 برای پردازشگر پیام است.

این تماس از شما می خواهد که با نام کاربری و رمز عبور مدیریت سیستم خود احراز هویت کنید.

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

  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
    • Message Processor: edge-message-processor
    • Postgres: edge-postgres-server
    • Qpid: edge-qpid-server
    • روتر: edge-router

    مثلا:

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

    مثلا:

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

    جایی که port_number پورت مدیریت API برای سرویس است.

    این مثال فرض می کند که شما وارد سرور شده اید و می توانید از "localhost" به عنوان نام میزبان استفاده کنید. برای بررسی وضعیت از راه دور با مدیریت API، باید آدرس IP سرور را مشخص کنید و نام کاربری و رمز عبور مدیر سیستم را در تماس API خود وارد کنید.

نظارت Postgres

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

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

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

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

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

بررسی وضعیت تجزیه و تحلیل

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

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

سیستم باید وضعیت موفقیت آمیز را برای همه سرورهای تجزیه و تحلیل نمایش دهد، همانطور که در مثال زیر نشان داده شده است:

{
  "environments" : [ {
    "components" : [ {
      "message" : "success at Thu Feb 28 10:27:38 CET 2013",
      "name" : "pg",
      "status" : "SUCCESS",
      "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]"
     }, {
      "message" : "success at Thu Feb 28 10:29:03 CET 2013",
      "name" : "qs",
      "status" : "SUCCESS",
      "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]"
     } ],
    "message" : "",
    "name" : "prod"
   } ],
  "organization" : "acme",
  "status" : "SUCCESS"
}

پایگاه داده PostgreSQL

این بخش تکنیک هایی را توضیح می دهد که می توانید به طور خاص برای نظارت بر پایگاه داده Postgres استفاده کنید.

از اسکریپت check_postgres.pl استفاده کنید

برای نظارت بر پایگاه داده PostgreSQL، می توانید از یک اسکریپت نظارت استاندارد، check_postgres.pl استفاده کنید. برای اطلاعات بیشتر، http://bucardo.org/wiki/Check_postgres را ببینید.

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

  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 زیر، بررسی های API را در دستگاه Postgres انجام دهید:

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

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

منابع Postgres

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

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

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" است و حالت فایل 400 است:
      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" است و حالت فایل 400 است:
      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. کاساندرا را مجدد راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.

رمزگذاری رمز 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. در خط فرمان، هش(های) SHA1 رمز(های) مورد نظر را با وارد کردن echo -n 'Secret' | openssl dgst -sha1
  4. گذرواژه(ها) را در برابر نام کاربری در $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password (ایجاد شده در بخش قبل) تنظیم کنید.
  5. پیکربندی را روی Cassandra اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. کاساندرا را مجدد راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.

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

فعال کردن JMX با SSL امنیت و رمزگذاری بیشتری را برای ارتباط مبتنی بر JMX با کاساندرا فراهم می کند. برای فعال کردن JMX با SSL، باید یک کلید و یک گواهی به Cassandra ارائه دهید تا اتصالات JMX مبتنی بر SSL را بپذیرد. همچنین باید nodetool (و هر ابزار دیگری که با Cassandra از طریق JMX ارتباط برقرار می کند) را برای 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 را آماده کنید.

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

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

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

    پس از بررسی شرایط فوق:

    1. فایل keystore را در /opt/apigee/customer/application/apigee-cassandra/ قرار دهید.
    2. با وارد کردن
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      مطمئن شوید که فایل keystore توسط کاربر Apigee قابل خواندن است.
  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
    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. کاساندرا را مجدد راه اندازی کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.
    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 وجود دارد. گزینه ای را بر اساس قابلیت استفاده و شیوه های امنیتی خود انتخاب کنید.

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

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

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

    apigee-service apigee-cassandra ring

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

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

    apigee-service apigee-cassandra ring

    گزینه 3 (آگومان های 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> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. Nodetool را راه اندازی کنید. Nodetool به پارامترهای JMX برای ارسال به آن نیاز دارد. همانطور که در گزینه های پیکربندی زیر توضیح داده شده است، به دو روش می توانید nodetool را برای اجرا با JMX فعال SSL پیکربندی کنید:

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

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

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

    یک فایل در دایرکتوری اصلی کاربر در حال اجرا 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

    مسیر Truststore مشخص‌شده در بالا باید توسط هر کاربری که در حال اجراست، قابل دسترسی باشد.

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

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

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

    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 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

تنظیمات SSL را برگردانید

اگر نیاز به بازگردانی تنظیمات SSL شرح داده شده در روش بالا دارید، مراحل زیر را انجام دهید:

  1. با وارد کردن
    apigee-service apigee-cassandra stop
    apigee-cassandra متوقف کنید
  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. کاساندرا را مجدد راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. این فرآیند را در تمام گره های دیگر کاساندرا تکرار کنید.

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

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

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

جایی که IP_address IP سرور Cassandra است.

آمار کاساندرا JMX

JMX MBeans ویژگی های JMX

ColumnFamilys/apprepo/محیط ها

ColumnFamilyes/apprepo/سازمان ها

ColumnFamilies/apprepo/apiproxy_revisions

ColumnFamilies/apprepo/apiproxies

ستون خانواده ها/ممیزی/ممیزی ها

ColumnFamilies/audit/audits_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

از nodetool برای مدیریت گره های خوشه ای استفاده کنید

ابزار nodetool یک رابط خط فرمان برای Cassandra است که گره های خوشه ای را مدیریت می کند. این ابزار را می توان در /opt/apigee/apigee-cassandra/bin پیدا کرد.

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

  1. اطلاعات حلقه عمومی (همچنین برای گره کاساندرا منفرد امکان پذیر است): برای همه گره ها به دنبال "Up" و "Normal" باشید.
    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. وضعیت سرور صرفه‌جویی (API سرویس گیرنده)
    nodetool [-u username -pw password] -h localhost statusthrift

    خروجی دستور بالا به شکل زیر است:

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

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

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

نظارت بر Apache Qpid Broker-J

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

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

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

http://QPID_NODE_IP:8090

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

صف ها و پیام ها را رصد کنید

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

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

در پانل ناوبری سمت چپ، به 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"

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 status

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

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

برای اطلاعات بیشتر در مورد دستورات 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) در دسترس نیست، می توانید از پایتون به عنوان جایگزین استفاده کنید. فایلی به نام zookeeper.py ایجاد کنید که حاوی موارد زیر باشد:
    import time, socket,
    sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    c.connect((sys.argv[1], 2181))
    c.send(sys.argv[2])
    time.sleep(0.1)
    print c.recv(512)

    حالا خطوط پایتون زیر را اجرا کنید:

    python zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

تست سطح LDAP

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

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

    برمی گرداند:

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

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

،

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

بررسی اجمالی

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

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

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

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

مانیتورینگ پورت ها و فایل های پیکربندی

هر جزء از برنامه‌های افزودنی مدیریت جاوا (JMX) و تماس‌های نظارتی مدیریت API در پورت‌های مختلف پشتیبانی می‌کند. جدول زیر پورت‌های JMX و مدیریت API را برای هر نوع سرور و مکان‌های فایل پیکربندی فهرست می‌کند:

جزء پورت JMX پورت مدیریت 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 از احراز هویت مبتنی بر رمز عبور با استفاده از جزئیات ذخیره شده در فایل ها پشتیبانی می کند. برای امنیت بیشتر می‌توانید گذرواژه‌ها را به‌عنوان Hash ذخیره کنید.

  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 است و حالت فایل 400 است:
      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 است و حالت فایل 400 است:
      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 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 در بالا قرار دهید. اطمینان حاصل کنید که پرونده keystore توسط apigee:apigee قابل خواندن است.
  3. مؤلفه لبه مناسب را مجدداً راه اندازی کنید:
    apigee-service edge-management-server restart

برای غیرفعال کردن JMX مبتنی بر SSL ، یا ویژگی conf_system_jmxremote_ssl را حذف کنید یا مقدار را به false تغییر دهید. مؤلفه لبه مناسب را مجدداً راه اندازی کنید.

نظارت از طریق jconsole

دستورالعمل های نظارت از طریق jconsole همانند شرح داده شده در https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole است.

یک خط می تواند اضافه شود که "اگر SSL برای JMX فعال باشد ، باید با رمز عبور 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 از URL خدمات زیر برای نظارت بر ویژگی های JMX (MBEANS) ارائه شده از طریق JMX استفاده می کند:

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

جایی که:

  • IP_address آدرس IP سرور است که می خواهید آن را کنترل کنید.
  • port_number شماره پورت JMX سرور است که می خواهید آن را کنترل کنید.

به عنوان مثال ، برای نظارت بر سرور مدیریت ، یک فرمان مانند موارد زیر را صادر کنید (با فرض آدرس IP سرور 216.3.128.12 است):

service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi

توجه داشته باشید که این مثال پورت 1099 را مشخص می کند ، که پورت مدیریت سرور JMX است. برای سایر درگاه ها ، به درگاه های نظارت بر JMX و مدیریت API مراجعه کنید.

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

jmx mbeans ویژگی های JMX

حافظه

heapmemoryusage

عدم استفاده از

استفاده

مرجع پرونده پیکربندی

در بخش های زیر تغییراتی را که ممکن است لازم باشد برای تنظیمات مربوط به تنظیمات مربوط به JMX انجام دهید ، توصیف می کند. برای اطلاعات بیشتر به درگاه های نظارت و پرونده های پیکربندی مراجعه کنید.

پیکربندی JMX به پرونده پیکربندی مؤلفه مناسب اضافه می شود

  • عامل JMX را در قسمت Edge-Component فعال کنید. به طور پیش فرض غلط.
    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
  • رمز عبور Keystore:
    conf_system_javax_net_ssl_keystorepassword=changeme

تنظیمات JMX اختیاری

مقادیر ذکر شده مقادیر پیش فرض هستند و قابل تغییر هستند.

  • بندر JMX. مقادیر پیش فرض در جدول زیر ذکر شده است.
    conf_system_jmxremote_port=
  • بندر JMX RMI. به طور پیش فرض ، فرآیند جاوا یک درگاه تصادفی را انتخاب می کند.
    conf_system_jmxremote_rmi_port=
  • نام میزبان خردهای از راه دور. آدرس IP پیش فرض LocalHost.
    conf_system_java_rmi_server_hostname=
  • از رجیستری JMX با SSL محافظت کنید. پیش فرض نادرست. فقط در صورت فعال بودن SSL قابل اجرا است.
    conf_system_jmxremote_registry_ssl=false

نظارت با API مدیریت

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

بررسی خدمات را انجام دهید

API مدیریت چندین نقطه پایانی را برای نظارت و تشخیص مشکلات با خدمات شما فراهم می کند. این نقاط پایانی عبارتند از:

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

بررسی می کند که آیا یک سرویس در حال اجرا است یا خیر. این تماس API نیازی به تأیید اعتبار ندارد.

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

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

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

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

اطلاعات مربوط به سرویس را از جمله:

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

این تماس API شما را ملزم به تأیید اعتبار با اعتبار Apigee Admin خود می کند.

برای استفاده از این نقاط پایانی ، از ابزاری مانند curl با دستوراتی که از نحو زیر استفاده می کنند استفاده کنید:

curl http://host:port_number/v1/servers/self/up -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password -H "Accept: [application/json|application/xml]"

جایی که:

  • host آدرس IP سرور است که می خواهید بررسی کنید. اگر وارد سرور شده اید ، می توانید از "localhost" استفاده کنید. در غیر این صورت ، آدرس IP سرور و همچنین نام کاربری و رمز عبور را مشخص کنید.
  • port_number پورت API مدیریت برای سرور است که می خواهید بررسی کنید. این یک درگاه متفاوت برای هر نوع مؤلفه است. به عنوان مثال ، پورت API مدیریت سرور مدیریت 8080 است. برای استفاده از شماره های پورت API مدیریت ، به پورت های نظارت بر JMX و مدیریت API مراجعه کنید

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

مثال زیر وضعیت روتر را در LocalHost (بندر 8081) دریافت می کند:

curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"

مثال زیر اطلاعاتی در مورد پردازنده پیام در 216.3.128.12 (پورت 8082) دریافت می کند:

curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password
  -H "Accept: application/xml"

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

شما می توانید با صدور دستورات زیر از API مدیریت برای نظارت بر کاربر ، سازمان و وضعیت استقرار پروکسی های خود در سرورهای مدیریت و پردازنده های پیام استفاده کنید:

curl http://host:port_number/v1/users -u sysAdminEmail: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 یا 8080 برای سرور مدیریت یا 8082 برای پردازنده پیام است.

این تماس شما را ملزم به تأیید اعتبار با نام کاربری و رمز عبور مدیریت سیستم می کند.

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

  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 که قبلاً استفاده کرده اید یا با استفاده از API مدیریت شرح داده شده در مانیتور با API مدیریت .

    مثلا:

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

    جایی که port_number پورت API مدیریت برای سرویس است.

    این مثال فرض می کند که شما وارد سرور شده اید و می توانید از "LocalHost" به عنوان نام میزبان استفاده کنید. برای بررسی وضعیت از راه دور با API مدیریت ، باید آدرس IP سرور را مشخص کرده و نام کاربری و رمز عبور مدیر سیستم را در تماس API خود قرار دهید.

نظارت بر پست ها

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

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

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

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

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

وضعیت تحلیلی را تأیید کنید

با صدور دستور curl زیر می توانید وضعیت سرورهای Postgres و QPID Analytics را تأیید کنید:

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 که زنگ هشدار ، خواب ، خواب ، روز و تایمر فاصله را اجرا می کند. به عنوان مثال ، می توانید آن را با استفاده از دستور زیر نصب کنید:
    yum install perl-Time-HiRes.x86_64
  3. Centos 7: قبل از استفاده از check_postgres.pl در CentOS V7 ، perl-Data-Dumper.x86_64 دور در دقیقه را نصب کنید.

خروجی 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 زیر می توانید چک های API را در دستگاه Postgres انجام دهید:

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

این دستور هنگامی که فرآیند Postgres فعال است ، وضعیت ACTIVE را برمی گرداند. اگر فرآیند Postgres به پایان نرسد ، وضعیت INACTIVE را برمی گرداند.

منابع Postgres

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

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

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

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

شما می توانید احراز هویت JMX را برای Cassandra فعال کنید. پس از انجام این کار ، از شما خواسته می شود نام کاربری و رمز عبور را به تمام تماس های مربوط به ابزار Nodetool منتقل کنید.

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

  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

    برای اطلاعات بیشتر در مورد استفاده از فایلهای 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" است و حالت پرونده 400:
      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" است و حالت پرونده 400:
      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. این روند را در تمام گره های کاساندرا دیگر تکرار کنید.

رمزگذاری رمز عبور 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 Hash (ES) SHA1 (ES) رمزعبور مورد نظر را تولید کنید. echo -n 'Secret' | openssl dgst -sha1
  4. رمز عبور (های) را در برابر نام کاربری در $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password تنظیم کنید (در بخش قبلی ایجاد شده است).
  5. پیکربندی را در Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    اجرا کنید
  6. مجدداً کاساندرا:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. این روند را در تمام گره های کاساندرا دیگر تکرار کنید.

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

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

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

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

  1. JMX را فعال کنید . در صورت لزوم رمزگذاری رمز عبور را فعال کنید.
  2. تأیید اعتبار JMX را برای کاساندرا فعال کنید . همانطور که در بالا توضیح داده شد. اطمینان حاصل کنید که Nodetool با نام کاربری و رمز عبور پیکربندی شده کار می کند.
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. کلیدهای کلیدی و TrustStore را آماده کنید.

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

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

    • TrustStore فقط باید دارای گواهینامه باشد و توسط مشتریان (دستورات مبتنی بر خدمات Apigee یا NodeTool) برای اتصال از طریق JMX استفاده می شود.

    پس از تأیید الزامات فوق:

    1. پرونده Keystore را در /opt/apigee/customer/application/apigee-cassandra/ قرار دهید.
    2. اطمینان حاصل کنید که پرونده Keystore فقط توسط کاربر 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. با وارد کردن
      apigee-service apigee-cassandra stop
      گره Cassandra را متوقف کنید
    2. SSL را در Cassandra با باز کردن پرونده /opt/apigee/customer/application/cassandra.properties فعال کنید و خطوط زیر را اضافه کنید:
      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
    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. مجدداً کاساندرا:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. این روند را در تمام گره های کاساندرا دیگر تکرار کنید.
    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 وجود دارد. گزینه ای را بر اساس قابلیت استفاده و شیوه های امنیتی خود انتخاب کنید.

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

    اطمینان حاصل کنید که پرونده Trustore توسط کاربر Apigee قابل خواندن است.

    دستور سرویس apigee-service زیر را اجرا کنید. اگر بدون خطا اجرا شود ، تنظیمات شما صحیح است.

    apigee-service apigee-cassandra ring

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

    دستور سرویس apigee-service زیر را اجرا کنید. اگر بدون خطا اجرا شود ، تنظیمات شما صحیح است.

    apigee-service apigee-cassandra ring

    گزینه 3 (آرگومان 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> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. Nodetool را تنظیم کنید. Nodetool به پارامترهای JMX نیاز دارد تا به آن منتقل شود. دو روش وجود دارد که می توانید NODETOOL را برای اجرا با JMX با قابلیت SSL تنظیم کنید ، همانطور که در گزینه های پیکربندی زیر توضیح داده شده است:

    گزینه ها در نحوه ارسال تنظیمات مربوط به SSL به Nodetool متفاوت است. در هر دو مورد ، کاربر در حال اجرا Nodetool باید مجوزهای پرونده TrustStore را خوانده باشد. یک گزینه مناسب را بر اساس قابلیت استفاده و شیوه های امنیتی خود انتخاب کنید.

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

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

    در فهرست خانه کاربر که 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

    مسیر TrustStore که در بالا مشخص شده است باید توسط هر کاربر که Nodetool را اجرا می کند ، قابل دسترسی باشد.

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

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

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

    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 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

تنظیمات SSL را برگردانید

اگر نیاز به تنظیمات SSL که در روش فوق توضیح داده شده است ، مراحل زیر را انجام دهید:

  1. با وارد کردن
    apigee-service apigee-cassandra stop
    apigee-cassandra متوقف کنید
  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 را برای کاساندرا غیرفعال کنید

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

  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. مجدداً کاساندرا:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. این روند را در تمام گره های کاساندرا دیگر تکرار کنید.

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

برای نظارت بر ویژگی های JMX (MBEANS) ارائه شده از طریق JMX از Jconsole و URL خدمات زیر استفاده کنید:

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

جایی که IP_address IP سرور Cassandra است.

آمار کاساندرا JMX

jmx mbeans ویژگی های JMX

خانواده های ستونی/Apprepo/محیط

خانواده های ستونی/تأیید/سازمانها

FAMILILIES/APPREPO/APIPROXY_REVISION

خانواده های

خانواده های ستونی/حسابرسی/حسابرسی

FAMILILIES/AUDIT/AUDITS_REF

در حال انتظار

MEMTABLECUMNUMNSCOUNT

با یادآوری کردن

در حال خواندن

اخیر ReadlatencyMicros

TotalreadLatencyMicros

با نوشتن

اخیر نویسندگی میکروس

TotalwriteLatencymicros

totaldiskspaceus

زندگی

LivessTableCount

BloomFilterFalsePositives

اخیر Bloomfilterfalseratio

Bloomfilterfalseratio

برای مدیریت گره های خوشه ای از Nodetool استفاده کنید

ابزار Nodetool یک رابط خط فرمان برای کاساندرا است که گره های خوشه ای را مدیریت می کند. این ابزار را می توان در /opt/apigee/apigee-cassandra/bin یافت.

تماس های زیر را می توان در تمام گره های خوشه Cassandra انجام داد:

  1. اطلاعات حلقه عمومی (همچنین برای گره کاساندرا نیز امکان پذیر است): برای همه گره ها به دنبال "بالا" و "عادی" باشید.
    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. وضعیت عملیات جریان داده ها : ترافیک گره های کاساندرا را رعایت کنید:
    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 مراجعه کنید.

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

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

نظارت بر Apache QPID Broker-J

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

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

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

http://QPID_NODE_IP:8090

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

صف ها و پیام ها را کنترل کنید

در پانل نانوگرمر چپ ، به Java-Broker> VirtualHosts> صف ها بروید. یک صف را برای مشاهده جزئیات آن در قسمت اصلی UI انتخاب کنید. در نمای جزئیات ، می توانید ویژگی ها و آمار صف را مشاهده کنید ، از جمله اطلاعات مربوط به پیام های تحویل داده شده ، Enqueued ، نرخ پیام و غیره.

مشاهده و بارگیری پرونده های ورود به سیستم

در پانل نانوذرات چپ ، به Java-Broker> BrokerLoggers> Logfile بروید. در نمای اصلی UI جزئیات ، می توانید جزئیات پرونده ورود به سیستم را مشاهده کرده و پرونده های ورود به سیستم را بارگیری کنید.

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

می توانید از Apache QPID Broker-J REST API برای خودکار سازی وظایف مدیریتی و نظارت بر کارگزار استفاده کنید. برای جزئیات بیشتر ، به اسناد API APACH APACHE QPID REST مراجعه کنید.

همچنین می توانید از ابزارهای خط فرمان برای نظارت بر کارگزار استفاده کنید. مثلا:

curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"

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 (or /opt/apigee/apigee-zookeeper/bin/zkCli.sh ) وصل شوید و یک مقدار را از پایگاه داده بخوانید.
  4. وضعیت را بررسی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

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

Zookeeper را می توان از طریق مجموعه ای کوچک از دستورات (کلمات چهار حرفی) که با استفاده از NetCat (NC) یا Telnet به پورت 2181 ارسال می شوند ، کنترل کرد.

برای اطلاعات بیشتر در مورد دستورات 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) در دسترس نیست ، می توانید از پایتون به عنوان یک گزینه جایگزین استفاده کنید. پرونده ای به نام zookeeper.py ایجاد کنید که شامل موارد زیر است:
    import time, socket,
    sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    c.connect((sys.argv[1], 2181))
    c.send(sys.argv[2])
    time.sleep(0.1)
    print c.recv(512)

    اکنون خطوط پایتون زیر را اجرا کنید:

    python zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

تست سطح LDAP

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

  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

    سپس از شما برای رمز عبور Admin 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"
    }

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