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

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

Apr 12, 2017

Download

Software

Vitebsk MiniQ
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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: Собираем будильник правильно