Platform Architecture
Harp Platform is based on distributed microservice infrastructure.
Services Architecture
Technical flow to process alerts
- harp-collectors: receive alerts from monitoring system, unify the structure and push them to Kafka topic
- harp-alert-decorator: read alert from Kafka topic (produced by harp-collectors) and add additional info about environments and scenarios that should be applied to the alert
- harp-daemon: read alert from Kafka topic (produced by harp-alert-decorator), describe the logic and state of the alert and write result to MariaDB
- harp-aggregator: read alerts from MariaDB, aggregate it and send to Aerospike
- harp-bridge: read alerts from Aerospike and send to UI via websockets
- harp-ui: the main user interface of the platform
Additional Services
- harp-filters: create and manage the user specific filters in UI
- harp-actions: manage alerts - handle, snooze, acknowledge
- harp-environments: create and manage environments
- harp-bots: configure your own bots to send auto notifications to different channels - Email, SMS, Slack etc..
- harp-integrations: create and manage the integrations with your monitoring systems
- harp-licenses: monitor the usage of the alerts and notification channels
- harp-scenarios: create and manage scenarios for alerts
- harp-users: create and manage users inside platform including authentication and authorization
- harp-notifications-gmail: responsible to send auto email notifications
- harp-notifications-msteams: responsible to send auto notifications to Microsoft Teams
- harp-notifications-slack: responsible to send auto notifications to Slack channel
- harp-notifications-sms: responsible for creating auto SMS notifications via Twilio integration
- harp-notifications-telegram: responsible to send auto notifications to Telegram channels
- harp-notifications-voice: responsible for creating auto Phone Calls via Twilio integration
- harp-clientevents: receive and analyze metrics from the frontend
Platform Monitoring
- Prometheus metrics in VictoriaMetrics
- Traces in Grafana Tempo
- Logs in Grafana Loki
- Dashboards and Alerts in Grafana