Собираем будильник правильно

48
StatsD + Graphite + Seyren… или Cобираем будильник правильно 11 МАРТА 2016

Upload: vitebsk-miniq

Post on 12-Apr-2017

228 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Собираем будильник правильно

StatsD + Graphite + Seyren…или

Cобираем будильникправильно

11 МАРТА 2016

Page 2: Собираем будильник правильно

- Татьяна Боровкова

- Java-разработчик

- EPAM

-

Page 3: Собираем будильник правильно

Модель «Будильник»

StatsD

Graphite

Seyren

Эволюция идеи

О чем я расскажу?

Page 4: Собираем будильник правильно
Page 5: Собираем будильник правильно
Page 6: Собираем будильник правильно

Всегда разрабатывайте продукт так, как будто ваш заказчик – склонный к насилию психопат, который знает, где вы живете.

,,

Винни Пух

Page 7: Собираем будильник правильно
Page 8: Собираем будильник правильно

I. Часовой механизм

− Сбор статистики

Page 9: Собираем будильник правильно

I. Часовой механизм

− Сбор статистики

II. Корпус и циферблат

− Отображение и хранение статистики

Page 10: Собираем будильник правильно

I. Часовой механизм

− Сбор статистики

III. Звонок

− Система оповещения

II. Корпус и циферблат

− Отображение и хранение статистики

Page 11: Собираем будильник правильно

I. Часовой механизм

III. Звонок

II. Корпус и циферблат

STATSD

SEYREN

GRAPHITE

Page 12: Собираем будильник правильно

STATSD

Page 13: Собираем будильник правильно

T

- Числовые данные, меняющиеся с течением времени

- Время ответа ресурса, количество запросов и т.п.

- Нужен идентификатор данных (ключ)

Page 14: Собираем будильник правильно

T

T

T

- Демон, запускаемый на node.js

- Использует TCP или UDP

- Агрегирует статистику с определенной частотой

- Отправляет результаты в подключенные backend-сервисы

STATSD https://github.com/etsy/statsd

Page 15: Собираем будильник правильно

Измерение

Виды StatsD статистики

Счетчик МножествоТаймерCounter Timer Set Gauge

Page 16: Собираем будильник правильно

Как установить?

Page 17: Собираем будильник правильно

Как установить?

1. Установить

Page 18: Собираем будильник правильно

Как установить?

1. Установить

2. Склонировать проект с

Page 19: Собираем будильник правильно

3. Создать конфигурационный файлс помощью exampleConfig.js

Как установить?

1. Установить

2. Склонировать проект с

Page 20: Собираем будильник правильно

3. Создать конфигурационный файлс помощью exampleConfig.js

4. Запустить демона:node stats.js /путь/к/конфигурации

Как установить?

1. Установить

2. Склонировать проект с

Page 21: Собираем будильник правильно

> echo "Пример отправки сообщения в StatsD">

Page 22: Собираем будильник правильно

> echo "Пример отправки сообщения в StatsD"> echo "test.counter:1|c" | nc -u -w0 127.0.0.1 8125>

Page 23: Собираем будильник правильно

> echo "Пример отправки сообщения в StatsD"> echo "test.counter:1|c" | nc -u -w0 127.0.0.1 8125>

ключ.с.поддоменами : числовое_значение | тип_статистики

Page 24: Собираем будильник правильно

GRAPHITE

Page 25: Собираем будильник правильно

T

Главная задача Graphite – хранение и визуализация статистических данных

Page 26: Собираем будильник правильно

CARBON WHISPER

WEBAPP

Принимает пакеты со StatsD База данных, хранящая пары «метка времени-значение»

Отображает полученные данные в виде временных графиков

Page 27: Собираем будильник правильно

Как установить?

UNIX-подобная OCPython 2.6+

PycairoDjango 1.4+

django-tagging 0.3.1+

WSGI serverweb server

database

Page 28: Собираем будильник правильно

Как установить?

Page 29: Собираем будильник правильно
Page 30: Собираем будильник правильно

SEYREN

Page 31: Собираем будильник правильно

Главная задача Seyren – вовремя «разбудить»

T

Page 32: Собираем будильник правильно
Page 33: Собираем будильник правильно
Page 34: Собираем будильник правильно

> java -version> mongo -version>

Как установить?

Page 35: Собираем будильник правильно

> java -version> mongo -version> wget https://github.com/.../seyren-1.3.0.jar>

Как установить?

Page 36: Собираем будильник правильно

> java -version> mongo -version> wget https://github.com/.../seyren-1.3.0.jar> export GRAPHITE_URL=http://graphite.foohost.com:80>

Как установить?

Page 37: Собираем будильник правильно

> java -version> mongo -version> wget https://github.com/.../seyren-1.3.0.jar> export GRAPHITE_URL=http://graphite.foohost.com:80> java -jar seyren-1.3.0.jar>

Как установить?

Page 38: Собираем будильник правильно

> java -version> mongo -version> wget https://github.com/.../seyren-1.3.0.jar> export GRAPHITE_URL=http://graphite.foohost.com:80> java -jar seyren-1.3.0.jar> open http://localhost:8080>

Как установить?

Page 39: Собираем будильник правильно
Page 40: Собираем будильник правильно
Page 41: Собираем будильник правильно
Page 42: Собираем будильник правильно
Page 43: Собираем будильник правильно

I. Часовой механизм

III. Звонок

II. Корпус и циферблат

STATSD

SEYREN

GRAPHITESTATSD GRAPHITE

SEYREN

Page 44: Собираем будильник правильно

I. Часовой механизм

III. Звонок

II. Корпус и циферблат

STATSD

SEYREN

GRAPHITESTATSD GRAPHITE

SEYREN

- CollectD

- Jmx2graphite

- Logster

Page 45: Собираем будильник правильно

I. Часовой механизм

III. Звонок

II. Корпус и циферблат

STATSD

SEYREN

GRAPHITESTATSD GRAPHITE

SEYREN

- CollectD

- Jmx2graphite

- Logster

- Giraffe

- Grafana

- Dusk

Page 46: Собираем будильник правильно

I. Часовой механизм

III. Звонок

II. Корпус и циферблат

STATSD

SEYREN

GRAPHITESTATSD GRAPHITE

SEYREN

- CollectD

- Jmx2graphite

- Logster

- Cabot

- Moira

- Giraffe

- Grafana

- Dusk

Page 47: Собираем будильник правильно

Приятного пробуждения!

Page 48: Собираем будильник правильно