20
Model monitoring & alerting Robert Zaremba dotGo 2015-11-09, Paris

Model monitoring & alerting

Embed Size (px)

Citation preview

Page 1: Model monitoring & alerting

Model monitoring & alerting

Robert ZarembadotGo

2015-11-09, Paris

Page 2: Model monitoring & alerting

● 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.

Page 3: Model monitoring & alerting

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.

Page 4: Model monitoring & alerting

What is business monitoring?

● Measurement used to track and assess some specific business process.

● Each report / metrics related task you receive.

Page 5: Model monitoring & alerting

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.

Page 6: Model monitoring & alerting

What is business monitoring?

● Reports● Analysis● Charts● Alerts

Page 7: Model monitoring & alerting

Business monitoring

● Big business: hundreds of companies raised around it

● http://alternativeto.net/software/google-analytics/

Page 8: Model monitoring & alerting

Kissmetrics

Page 9: Model monitoring & alerting

Amplitude

Page 10: Model monitoring & alerting

Google Analytics

Page 11: Model monitoring & alerting

Do we need anything else?

Page 12: Model monitoring & alerting

Do we need anything else?

YES

Page 13: Model monitoring & alerting

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.

Page 14: Model monitoring & alerting

What you need?

● Metrics DB● Event collector service● Alerting service

Page 15: Model monitoring & alerting

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!

Page 16: Model monitoring & alerting

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 ...

Page 17: Model monitoring & alerting

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.

Page 18: Model monitoring & alerting

Architecture

InfluxDBUI

(Grafana)

Search for interesting events

alerta-collector

alerta.io

Nagios-nrpeNagios-nrpe

Postgresql

RabbitMQ

Define events

Alert (email, sms, ...)

Page 19: Model monitoring & alerting

Defining events

● Now: yaml file● In the future: yaml file + API + UI

Page 20: Model monitoring & alerting

Roadmap

● Defining a UI to list event definitions● More plugins

● https://github.com/robert-zaremba/alerta-collector