← بازگشت به وبلاگ

هشدارهای درآمدی که واقعاً به تیم می‌رسند

یافته روی داشبورد به کسی کمک نمی‌کند اگر شخص درست هرگز آن را نبیند. کانال‌های اعلان فینو هشدار ناهنجاری و سوءاستفاده در درآمد را به Slack، ایمیل، تلگرام، واتساپ یا webhook خودتان می‌فرستند — به زبانی که انتخاب می‌کنید.

کانال‌های اعلان فینو — هشدار خروجی وقتی ناهنجاری درآمدی نیاز به توجه دارد.

این را تصور کنید: جمعه عصر، ترافیک کم، تیم مالی رفته خانه.

ساعت ۱۹:۰۳ حلقه تشخیص ناهنجاری درآمد فینو یک شکست تسویه روی یک نود دروازه تشخیص می‌دهد — درخواست‌ها سرویس داده‌اند، پول در دفتر کل جابه‌جا شده، اما تسویه با ارائه‌دهنده کامل نشده. پول در معرض خطر: ۱۸٬۰۰۰ دلار. شدت: بحرانی.

یافته روی صفحه ناهنجاری‌ها نشسته. کاملاً قابل مشاهده — اگر کسی نگاه کند.

کسی نگاه نمی‌کند.

صبح دوشنبه مالی هفته را تطبیق می‌دهد و شکافی پیدا می‌کند که جمعه شب با دو خط fix قابل حل بود — اگر کسی page شده بود.

داشبوردها کسی را بیدار نمی‌کنند. کانال‌ها می‌کنند.

کانال‌های اعلان چیست (و چه نیستند)

کانال‌های اعلان فینو یکپارچه‌سازی‌های خروجی هستند که در داشبورد ادمین پیکربندی می‌شوند. وقتی رویداد واجد شرایطی رخ می‌دهد — معمولاً باز یا تشدید شدن ناهنجاری یا پرونده بررسی — dispatcher داشبورد یک پیام قالب‌بندی می‌کند و به کانالی که انتخاب کرده‌اید تحویل می‌دهد.

این روی مسیر سرد اجرا می‌شود. در Reserve یا Finalize نمی‌نشیند. latency API شما همان می‌ماند که بود.

کانال‌ها جایگزین Prometheus یا Grafana نیستند. استریم عمومی لاگ هم نیستند. پیام‌های opinionated درباره رویدادهای درآمد و یکپارچگی که فینو از قبل می‌شناسد، با شدت، پول در معرض خطر، و لینک برگشت به یافته یا پرونده.

اگر همین حالا برای incidentها در Slack زندگی می‌کنید، می‌توانید فینو را آنجا ببینید به‌جای poll کردن REST API ما.

کجا می‌توانید هشدار بفرستید

امروز می‌توانید پیکربندی کنید:

  • Webhook — POST JSON امضاشده به سیستم incident، اتوماسیون داخلی، یا bridge خودتان.
  • Slack — از طریق incoming webhook URL روی workspace.
  • Email — SMTP، با احراز هویت اختیاری، مناسب لیست‌های پخش مالی.
  • Telegram و WhatsApp — برای تیم‌هایی که آنجا کار می‌کنند (رایج در بعضی مناطق و شیفت on-call).
  • SMS — برای تعداد محدودی موبایل ops، از طریق کانال webhook با نام sms و شماره ادمین در پیکربندی.

هر کانال حداقل شدت، نوع رویداد، cooldown، و زبان پیام خودش را دارد (قالب انگلیسی یا فارسی داخلی است). شاید بحرانی ناهنجاری‌ها را به SMS بفرستید و بالا پرونده‌های بررسی را به Slack #billing-ops، در حالی که ایمیل خلاصه روزانه دوستانه‌تر می‌دهد.

کدام رویدادها واقعاً fire می‌کنند

نوع‌های معمول رویداد:

  • anomaly.opened — اولین بار یک یافته non-shadow با فیلتر این کانال match می‌کند.
  • anomaly.escalated — شدت روی یافته موجود بالا رفت (مثلاً از بالا به بحرانی وقتی exposure بزرگ‌تر شد).
  • fraud.opened — پرونده بررسی جدید از آستانه پیکربندی‌شده شما رد شد.
  • fraud.escalated — شدت پرونده بعد از رسیدن سیگنال‌های بیشتر بالا رفت.

ناهنجاری‌های آماری shadow-mode — آنهایی که فینو بی‌سروصدا محاسبه می‌کند تا baseline کالیبره کنید — هرگز notify نمی‌کنند. این جلوی page شدن قبل از اعتماد به آشکارساز را می‌گیرد.

Cooldownها جلوی بیست پیام در یک ساعت برای همان incident را می‌گیرند وقتی آشکارساز همان اپیزود را refresh می‌کند.

پیام چه چیزی دارد

پیام‌ها قابل اقدام هستند، نه dump.

انتظار داشته باشید:

  • عنوان کوتاه («شکست تسویه روی gw-prod-2»).
  • شدت و پول در معرض خطر وقتی آشکارساز محاسبه کرده.
  • سرنخ موضوع (سرویس، مصرف‌کننده، نود — بسته به آشکارساز).
  • مسیر برگشت به UI ادمین برای ack یا resolve.

برای ایمیل، تلگرام و واتساپ، فینو زبانی که روی کانال گذاشته‌اید استفاده می‌کند تا تیم ops فارسی‌زبان مجبور به خواندن boilerplate انگلیسی نباشد.

لاگ تحویل و دکمه تست

هر تلاش در notification_deliveries ثبت می‌شود: موفق یا ناموفق، متن خطا از SMTP یا webhook، timestamp، شناسه کانال، یافته یا پرونده مرتبط.

قبل از go-live، از action test روی کانال برای فرستادن پیام synthetic استفاده کنید. مجوز Slack، TLS SMTP، و token ربات تلگرام را قبل از اولین شکست تسویه واقعی verify کنید — نه وسط آن.

اگر تحویل fail شد، لاگ می‌گوید credential، DNS، یا firewall را fix کنید — بدون حدس.

هشدار اپراتور در برابر هشدار مصرف‌کننده

کانال‌های اعلان (رو به ops) را با هشدارهای پیشگیرانه مصرف‌کننده (رو به مشتری) قاطی نکنید.

وقتی موجودی کیف پول end-user از آستانه پایین‌تر می‌رود یا مصرف اعتبار postpaid به band هشدار می‌رسد، فینو می‌تواند به همان مصرف‌کننده ایمیل یا SMS بفرستد از طریق حلقه business-events جدا — «موجودی کم است»، «به ۹۰٪ سقف اعتبار رسیدید».

این customer success و جلوگیری از churn است.

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

هر دو می‌توانند کنار هم باشند؛ مشکلات متفاوت حل می‌کنند.

راه‌اندازی بدون alert fatigue

اشتباه رایج: همه ناهنجاری‌ها را با شدت «پایین» به Slack بفرستید. ظرف یک هفته کانال را mute می‌کنید.

نقطه شروع منطقی‌تر:

  1. یافته‌های بحرانی دفتر کل و تسویه را به کانال فوری بفرستید (Slack + SMS برای کسی on-call).
  2. fraud.opened از بالا به بالا به اتاق billing ops.
  3. آشکارسازهای آماری shadow را تنها بگذارید تا روی تابلوی promote کنید.
  4. cooldown حداقل چند دقیقه برای هر کانال.

فینو یافته‌های ناهنجاری درآمدی را بر اساس پول در معرض خطر رتبه می‌دهد دقیقاً تا اولین پیام در incident واقعی معمولاً ارزش باز کردن داشته باشد — نه یک نمودار CPU عمومی دیگر.

شروع

کانال‌ها را زیر Notifications در داشبورد ادمین پیکربندی کنید. اگر SMTP یا تلگرام باید از relay داخلی رد شود، تماس با ما — الگوهای deploy برای شبکه‌های محدود سؤال رایج است.

برای اینکه ناهنجاری‌ها، پرونده‌های بررسی سوءاستفاده، و کانال‌ها چطور کنار هم می‌نشینند، اطمینان درآمد را ببینید.