Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 1.83 KB

AlertSystem.md

File metadata and controls

43 lines (36 loc) · 1.83 KB

Overview

This module aims at collecting alerts from message broker and sending it to customer. Customer will be able to customize alerts.

Context

In farming industry or any other industry, it is vital that customers are alerted for any unforeseen conditions so that corrective actions can be taken in time. This is a modular event driven design that will consume alert messages from broker and send to customers on real time basis.

Notification Channels

  • Email
  • SMS
  • phone call
  • mobile app notifications
  • Slack messages
  • PagerDuty
  • Showing on UI dashboards These channels can be defined from UI.

Alert Severity Levels

Alert security levels can be defined from UI. Various levels can be:

  • Critical
  • Informational
  • High
  • Warning

Escalation Policies

Escalation policies needs to be defined so that alerts are addressed promptly. We will

  • Define escalation paths
  • Contact persons or teams responsible for handling alerts
  • Timeframes for acknowledging and resolving alerts. This will help prevent alert fatigue and ensures timely response to critical issues.

Thrasholds

Thrasholds for different sub-systems like water quality, weather etc. will be entered manually from UI and saved in datalake.

Block Diagram

Block diagram - Alerting Module

Architecture

Different subsystems like waterQuality, FishStatistics etc. will have their individual services that will work on incoming data from datalake, consume thrasholds and publish alerts to a message broker. Alert module will consume these and send to different notification channels.

  • Event Driven
  • MicroServices

Non-functional Considerations

  • Fault tolerant
  • Scalability
  • Security: All the communicatio is over TLS with proper authentication/authorization in place.