چه چیزی را پایش کنیم

به‌طورکلی، در راه‌اندازی تولید، باید سازوکارهای پایش را در استقرار Apigee Edge برای «ابر خصوصی» فعال کنید. این تکنیک‌های پایش به سرپرستان (یا اپراتورهای) شبکه درباره خطا یا خرابی هشدار می‌دهند. هر خطایی که تولید می‌شود به‌عنوان هشدار در Apigee Edge گزارش می‌شود. برای اطلاعات بیشتر درباره هشدارها، روال‌های مطلوب پایش را ببینید.

عناصر Apigee عمدتاً به دو دسته طبقه‌بندی می‌شوند:

  • خدمات سرور جاوا مختص Apigee: این خدمات شامل «سرور مدیریت»، «پردازشگر پیام»، «سرور Qpid»، و «سرور Postgres» می‌شود.
  • سرویس‌های طرف سوم: این سرویس‌ها شامل Nginx Router،‏ Apache Cassandra،‏ Apache ZooKeeper،‏ OpenLDAP، پایگاه داده PostgreSQL، و Qpid می‌شود.

در استقرار داخلی Apigee Edge، جدول زیر نگاهی سریع به پارامترهایی که می‌توانید پایش کنید ارائه می‌دهد:

مؤلفه بررسی‌های سیستم آمار سطح پردازش بررسی‌های سطح API بررسی‌های جریان پیام مختص مؤلفه

سرویس‌های جاوا مختص Apigee

سرور مدیریت

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

سرور Qpid

سرور Postgres

خدمات طرف سوم

Apache Cassandra

Apache ZooKeeper

OpenLDAP

پایگاه داده PostgreSQL

Qpid

رهیاب Nginx

به‌طورکلی، پس‌از نصب Apigee Edge، می‌توانید کارهای پایش زیر را برای پیگیری عملکرد نصب Apigee Edge for Private Cloud انجام دهید.

بررسی‌های وضعیت سیستم

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

  • استفاده از CPU: آمار پایه (کاربر/سیستم/ورودی-خروجی انتظار/بیکار) درباره استفاده از CPU را مشخص می‌کند. برای مثال، کل واحد پردازش مرکزی استفاده‌شده توسط سیستم.
  • حافظه آزاد/استفاده‌شده: میزان استفاده از حافظه سیستم را برحسب بایت مشخص می‌کند. برای مثال، حافظه فیزیکی استفاده‌شده توسط سیستم.
  • استفاده از فضای دیسک: اطلاعات سیستم فایل را براساس استفاده فعلی از دیسک مشخص می‌کند. برای مثال، فضای دیسک سخت استفاده‌شده توسط سیستم.
  • میانگین بار: تعداد فرایندهایی را که منتظر اجرا هستند مشخص می‌کند.
  • آمار شبکه: بسته‌های شبکه و/یا بایت‌های منتقل‌شده و دریافت‌شده، همراه با خطاهای انتقال درباره یک مؤلفه مشخص.

بررسی‌های پردازش/برنامه

در سطح فرایند، می‌توانید اطلاعات مهمی درباره همه فرایندهایی که درحال اجرا هستند مشاهده کنید. برای مثال، این موارد شامل آمار استفاده از حافظه و CPU است که یک فرایند یا برنامه از آن استفاده می‌کند. برای فرایندهایی مثل Qpid،‏ Postgres Postmaster،‏ Java، و غیره، می‌توانید موارد زیر را پایش کنید:

  • شناسایی فرایند: فرایند Apigee خاصی را شناسایی کنید. برای مثال، می‌توانید وجود فرایند Java سرور Apigee را پایش کنید.
  • آمار رشته: الگوهای رشته‌بندی زیربنایی را که یک فرایند استفاده می‌کند مشاهده کنید. برای مثال، می‌توانید تعداد رشته اوج، تعداد رشته برای همه فرایندها را پایش کنید.
  • استفاده از حافظه: استفاده از حافظه را برای همه فرایندهای Apigee مشاهده کنید. برای مثال، می‌توانید پارامترهایی مثل استفاده از حافظه پشته، استفاده از حافظه غیرپشته‌ای استفاده‌شده توسط یک فرایند را پایش کنید.

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

در سطح API، می‌توانید پایش کنید که آیا سرور برای فراخوانی‌های API پرکاربرد که توسط Apigee پراکسی شده‌اند فعال و درحال اجرا است یا نه. برای مثال، با فراخوانی فرمان curl زیر می‌توانید بررسی API را در «سرور مدیریت»، «مسیریاب»، و «پردازشگر پیام» انجام دهید:

curl http://host:port/v1/servers/self/up

که در آن host نشانی IP عنصر Apigee Edge است. شماره port مختص هر عنصر Edge است. برای مثال:

سرور مدیریت: ۸۰۸۰

  • رهیاب: ۸۰۸۱
  • پردازشگر پیام: ۸۰۸۲
  • و غیره.

برای کسب اطلاعات درباره اجرای این فرمان برای هریک از عناصر، بخش‌های جداگانه زیر را ببینید

این فراخوانی «درست» و «نادرست» را برمی‌گرداند. برای دریافت بهترین نتایج، می‌توانید تماس‌های میانای برنامه‌سازی کاربردی را مستقیماً در زیرینه (که نرم‌افزار Apigee با آن تعامل دارد) صادر کنید تا به‌سرعت متوجه شوید خطا در محیط نرم‌افزار Apigee وجود دارد یا در زیرینه.

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

می‌توانید داده‌های مربوط به الگوی/آمار جریان پیام را از «مسیریاب‌ها» و «پردازشگرهای پیام» جمع‌آوری کنید. این کار به شما امکان می‌دهد موارد زیر را پایش کنید:

  • تعداد کارخواهان فعال
  • تعداد پاسخ‌ها (۱۰X،‏ ۲۰X،‏ ۳۰X،‏ ۴۰X، و ۵۰X)
  • اتصال برقرار نشد

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

بررسی سلامت رهیاب «پردازشگر پیام»

«مسیریاب» سازوکار بررسی سلامت را پیاده‌سازی می‌کند تا مشخص کند کدام‌یک از «پردازشگرهای پیام» طبق انتظار کار می‌کنند. اگر «پردازشگر پیام» به‌عنوان پایین یا کند شناسایی شود، «مسیریاب» می‌تواند به‌طور خودکار «پردازشگر پیام» را از چرخه خارج کند. اگر این اتفاق بیفتد، «رهیاب» پیام‌های «کاهش قیمت» را در فایل گزارش «رهیاب» در /opt/apigee/var/log/edge-router/logs/system.log می‌نویسد.

می‌توانید فایل گزارش «مسیریاب» را برای این پیام‌ها پایش کنید. برای مثال، اگر «رهیاب» «پردازنده پیام» را از چرخه خارج کند، پیام را به این شکل در گزارش می‌نویسد:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = MP_IP at 1399409512159
2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /MP_IP:PORT Mark Down

که در آن MP_IP:PORT نشانی IP و شماره درگاه «پردازشگر پیام» است.

اگر «رهیاب» بعداً بررسی سلامت انجام دهد و تشخیص دهد که «پردازنده پیام» به‌درستی کار می‌کند، «رهیاب» به‌طور خودکار «پردازنده پیام» را دوباره در چرخه قرار می‌دهد. «مسیریاب» همچنین پیام «نشانه‌گذاری» را به گزارش با این قالب می‌نویسد:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = IP at 1399410449054
2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from IP:PORT Mark Up