اتصال Zabbix به Issabel برای تماس تلفنی هنگام وقوع Problem

یکی از مهم‌ترین بخش‌های یک سیستم مانیتورینگ، نحوه‌ی اطلاع‌رسانی در زمان بروز مشکله. در Zabbix معمولاً از روش‌هایی مثل Email، پیام‌رسان‌ها یا SMS برای ارسال Alert استفاده می‌کنیم.

اما برای بعضی از سرویس‌های مهم، ارسال یک پیام ممکنه کافی نباشه.

فرض کنید نصف شب یکی از سرویس‌های Critical از دسترس خارج بشه. ممکنه پیام Zabbix ارسال بشه، اما ادمین متوجه Notification نشه. در چنین شرایطی تماس تلفنی می‌تونه روش خیلی مؤثرتری برای اطلاع‌رسانی باشه.

در ویدیوی این صفحه، Zabbix رو به Issabel متصل کردم تا هنگام ایجاد یک Problem، سیستم به‌صورت خودکار با شماره تلفن موردنظر تماس بگیره.

سناریوی ما چیه؟

ایده‌ی کلی خیلی ساده است.

Zabbix مثل همیشه وضعیت سرورها و سرویس‌ها رو مانیتور می‌کنه. وقتی یک Trigger وارد وضعیت Problem میشه، به جای اینکه فقط یک پیام ارسال کنیم، از Issabel برای برقراری تماس تلفنی استفاده می‌کنیم.

در واقع جریان کلی به این شکل میشه:

Monitoring → Trigger → Problem → Zabbix Action → Issabel → Phone Call

Zabbix مسئول تشخیص Problem هست و Issabel وظیفه‌ی برقراری تماس رو بر عهده داره.

Issabel چه نقشی داره؟

Issabel یک پلتفرم ارتباطی مبتنی بر VoIP هست که امکاناتی مثل مدیریت Extensionها، Trunkها و تماس‌های تلفنی رو در اختیارمون قرار میده.

در این سناریو از Issabel به عنوان واسط بین سیستم مانیتورینگ و تلفن استفاده می‌کنیم.

وقتی Zabbix یک Problem مهم رو تشخیص میده، درخواست برقراری تماس به Issabel ارسال میشه و Issabel تماس رو با شماره یا Extension موردنظر برقرار می‌کنه.

به این ترتیب می‌تونیم Alertهای Zabbix رو از یک Notification ساده به یک تماس تلفنی واقعی تبدیل کنیم.

چه زمانی تماس تلفنی کاربردی است؟

طبیعتاً منطقی نیست برای هر Warning یا Problem کوچیکی با ادمین تماس بگیریم!

این روش بیشتر برای سرویس‌هایی مناسبه که قطعی اون‌ها نیاز به واکنش سریع داره؛ مثلاً Down شدن یک سرویس Critical، قطع شدن ارتباط یک سایت مهم یا از دسترس خارج شدن یک سرویس اصلی.

با استفاده از Actionها و Conditionهای Zabbix می‌تونیم مشخص کنیم تماس تلفنی فقط برای Problemهای خاص یا Severityهای مشخص انجام بشه.

مثلاً میشه Alertها رو این‌طور تفکیک کرد:

Warning → پیام‌رسان یا Email

High → پیام‌رسان + SMS

Disaster → تماس تلفنی

در یک محیط واقعی، چنین ساختاری کمک می‌کنه روش اطلاع‌رسانی متناسب با اهمیت مشکل انتخاب بشه.

چرا Zabbix و Issabel را به هم متصل کنیم؟

مزیت اصلی این روش اینه که سیستم Alerting فقط به Notificationهای متنی وابسته نیست.

وقتی یک سرویس واقعاً مهم از دسترس خارج میشه، تماس تلفنی احتمال دیده شدن Alert رو خیلی بیشتر می‌کنه؛ مخصوصاً برای تیم‌هایی که به‌صورت On-Call کار می‌کنن یا سرویس‌های 24/7 رو مانیتور می‌کنن.

از طرف دیگه، چون شروع فرآیند از Zabbix Action انجام میشه، همچنان می‌تونیم از قابلیت‌های خود Zabbix مثل Trigger Severity، Host Group، Tag و Conditionها استفاده کنیم و دقیقاً مشخص کنیم چه مشکلی، در چه شرایطی و برای چه کسی باعث تماس تلفنی بشه.

در ویدیوی این صفحه، این سناریو رو به‌صورت عملی پیاده‌سازی کردم و مراحل اتصال Zabbix به Issabel و برقراری تماس تلفنی هنگام وقوع یک Problem رو قدم‌به‌قدم بررسی می‌کنیم.