Download - Model monitoring & alerting
Model monitoring & alerting
Robert ZarembadotGo
2015-11-09, Paris
● Spotting the biggest barriers to growth is the most important company challenge. This challenge goes around all company teams:
– sales (What are the conversion rates),
– dev operations (Does the infrastructure perform well enough?),
– product (Which features bring the most value?)
– developers (Do we have errors?).
● You can't answer this questions without monitoring.
Model monitoring
● Monitoring goes through different layers: from user behaviour, to system operations. Here I'm presenting monitoring of the system model (business) changes based on InfluxDB and alerta.io
● Model monitoring reflects the business aspects of the application.
What is business monitoring?
● Measurement used to track and assess some specific business process.
● Each report / metrics related task you receive.
What is business monitoring?
● Measurement used to track and assess some specific business process.
● Each report / metrics related task you receive.
● Everything what beats you just after bugs.● Tracking where and how $$$ are coming.
What is business monitoring?
● Reports● Analysis● Charts● Alerts
Business monitoring
● Big business: hundreds of companies raised around it
● http://alternativeto.net/software/google-analytics/
Kissmetrics
Amplitude
Google Analytics
Do we need anything else?
Do we need anything else?
YES
Why we need anything else?
● Because storing metrics is cool.● Because you want to have your own
metrics.● Because you like monitoring.● Because we have almost all blocks to build
our custom business monitoring service.● Other services are expensive.
What you need?
● Metrics DB● Event collector service● Alerting service
Metrics DB - InfluxDB
● SQL like query language.● Can store anything.● The upcoming 0.9.5 release will improve
storage performance.● Is trendy and we like trendy things!● Written in GO!
Alerting: alerta.io
● A tool used to consolidate and de-duplicate alerts from multiple sources for quick ‘at-a-glance’ visualisation.
● Basically you fire events to alerta and it makes alerting management for you (alerting, deduplication, grouping, visualization, …).
● Can be integrated with other Open Source monitoring systems: Nagios, Zabbix, Sensu ...
Event service: alerta-collector
● A service which reads InfluxDB queries and fires events to alerta.io
● Plugin based: extensible to any other source: RDMS, NoSQL, SaaS, Graphite, Nagios, ...InfluxDB is just the first plugin.
Architecture
InfluxDBUI
(Grafana)
Search for interesting events
alerta-collector
alerta.io
Nagios-nrpeNagios-nrpe
Postgresql
RabbitMQ
Define events
Alert (email, sms, ...)
Defining events
● Now: yaml file● In the future: yaml file + API + UI
Roadmap
● Defining a UI to list event definitions● More plugins
● https://github.com/robert-zaremba/alerta-collector