5 место InfluxDB + Grafana = Love

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

I Love Time Series Data




Intro

Данную статью начну с цитаты...



Сегодня эти слова можно понимать как:
"Бабло начинается там, где начинают измерять!"

Что такое Time Series Data?

Немного теории. По научному - это временные ряды. По простому, это абсолютно любые данные которые мы можем положить на ось времени и эти данные меняют свое значение в некотором промежутке времени.

Примеры:

[Обьект наблюдения] - [Свойства] + {UnixTime} метка фиксирующая состояние в текущий момент измерения

  • Человек - пульс, температура, давление + UnixTime метка= График(или любой другой компонент визуализации) отражающий каждое из состояний
  • Автомобиль - скорость, расход топлива + UnixTime метка = ...
  • Этот форум - статистика пользователей на главной странице + UnixTime =...
  • Счетчик Яндекс метрики - много параметров + UnixTime = Графики, чарты, гистограммы, таблицы, ...
  • Ссылка на странице - клик + UnixTime
  • Процессор (/etc) - частота , загрузка, все то что мы видим в диспетчере задач системы + UnixTime
  • Курс крипты на бирже = обьемы, бид, аск..+
  • Программа (ООП) - состояние свойств классов +
...
И еще много обьектов в окружающем мире. Ну как много, более 50% :-)

Сразу определимся с общепринятой терминологией .

measurement = обьект измерения (запомните это слово, далее мы его будем использовать)
tag = метка
key 1= value1 значение которое измеряем

В каких типах баз нужно хранить такие данные?



Сейчас очень много телеметрии во всех приложениях и на сайтах, и все эти данные нужно обрабатывать практически в режиме реального времени. С минимальными задержками на запись и чтение.

Как эти базы устроены и что у них под капотом подробно затрагивать не буду :-)

  • Скажу только что написаны большинство из них на Go lang и представляют из себя один бинарный файл. Размещаются эти базы сразу в оперативной памяти.
  • Имеют несколько интерфейсов (UDP, gRPC, TCP, ...) и HTTP API интерфейс в который мы и будем писать/читать.
  • Запустили бинарник => http://ip.port у нас висит база в которую мы делаем Post/Get запросы.
  • Новые данные вытесняют "протухшие". По умолчанию вытесняют в /dev/null . Если в конфиге изменить, будет бекапить, и не только бекапить, но и сжимать если хотим...
  • Нет, не только в архивчик паковать, а резать сами ряды без потери информативности.
  • Если мы писали в базу ряд с интервалом 5s, то через неделю мне не нужна такая детализация и можно порезать данные до тайм-фрейма 1m/10m/.... при этом данные сохранят общую картину и тренды.
  • Размер стека для всех баз всегда фиксированный в памяти. По умолчанию - 1G. Больше чем это значение все базы не займут в памяти. Иначе говоря вхолостую базы не жгут память, если мы записали 10кб то и база займет (100-150мб бинарик процесса сам) + 10кб?, а если забьем 1G начнется вытеснение с заданными параметрами.
Такой себе конвейер
Такие базы созданы чтобы их просто насиловать потоком данных :-)

Маленькая крупица подкапотной магии таких баз и напутствие для написания шаблонов ZennoPoster

Если мы каждую 1s будем передавать одно фиксированное значение
forum,user=admin status=1
То в базе не будет создано дубликатов этого значения, база будет всегда занимать 1 байт (или 4 зависимости от кодировки)

Когда пишите шаблоны, смотрите на данные с которыми вы работаете.
К примеру, парсите сайт, пишете в список что-то в таком духе http://site.com/cat1/page1.html
Не стоит насиловать диск и память такими I/O
В список пишем: cat1/page1.html
В переменную:http://site.com/
Когда говорят о TSDB, то это тема про скорость +- 1 000 000 записей/выборок в секунду!




Самая популярная, быстрая и удобная на сегодня TSDB - InfluxDB. Популярность получила за счет своего синтаксиса, очень похожего на SQL. Ее мы с вами чуть позже пощупаем.

Стенд - домашний PC
  • Win 10 LTSB R5
  • CPU - 4770k
  • RAM - 16G



Если поставим на дешевую ВПС за 10$ на DO этого хватит вам с головой писать по 50к/с


InfluxDB HTTP endpoints

  • После запуска база доступна на порту localhost:8086
  • База имеет несколько эндпоинтов, но нас интересует всего два
POST http://localhost:8086/write
POST http://localhost:8086/query --data-urlencode q=CREATE DATABASE mydb

Синтаксис на запись:

Код:
http://localhost:8086/write?db=mydb  measurement,mytag=pc1 myfield=90 1463683075
  • mydb - название базы [string]
  • measurement - обьект измерения (cpu,ram,forum,page,...) [string]
  • mytag - название метки [string]*
  • pc1- значение метки [string] *
  • myfield - название параметра [string]
  • 90 - значение [string, float, integer, Boolean]
  • 1463683075 - метка времени
* - не обязательный параметр, но советую использовать, ускоряет поиск выборки по базе и просто удобно. tag - может быть несколько,а можно и не использовать

  • Пушить можно сразу сетом в несколько строк, каждая с новой строки
  • Пушить можно файл в котором эти строки

Первым идет обьект измерения, далее через запятую теги, и после первого пробела уже измеряемые значения которые замыкает метка времени (UnixTime)

Более подробная информация на >странице документации<



Grafana
Универсальный дашбоард #1 под любые данные

  • Работает как веб панелька которая висит на ip:port (default localhost:3000)
  • 52 DataSource (JSON, MySQL, InfluxDB, ... )
  • 41 Визуальный компонент (графики, чарты, гистограммы, таблицы,)
  • 1к+ готовых дашбоардов под все эти 52 дата сорса. Но свой создать делов на 20 мин.
  • Расшаривание как конкретного визуального компонета так и всего дашбоарда
  • Расшаривание как снепшот
  • Алерты - очень гибкие под все возможные случаи
  • Алерты/Отчеты - пушит в кучу каналов: вебхуки, почту, телегу, .....
  • Мульти аккаунты с разными правами доступа
  • Очень реактивная. Не фризит и т.п.
  • Если этого мало, есть у дашбоарда и свое HTTP API
Чтобы симулятор данных завелся и графики ожили,в правом верхнем углу панелька там кликните
Refreshing every: 5s + Apply
Если демки мало, то Google Images => Grafana


Чекпоинт #1 + маленькое отступление от темы
На данном этапе вы уже можете для себя унести панельку для визуализации своих данных с любого из дата провайдеров. В конце статьи будет архивчик со всеми инструментами из этой статьи с настроенными конфигами.(я там только пути поменял из расчета что все будет лежать на C://Apps )
Запустил и пользуйся, на первую недельку посмотреть и понять что оно такое и нужно ли мне будет достаточно. Если поняли что оно вам нужно, а оно вам нужно, но вы не поняли еще...то нужно все это ставить на ВПС. Никаких докеров не юзаем, не предлагаю даже, ибо есть exe под винду для посмотреть и пощупать. Докер писали хипстеры для хипстетров, там все под рутом, и запускать образ который собрал неизвестно кто и подложил там носок....(кто не знает где добыть прокси и соксов, ну вы поняли куда и что ....) Докер это продолжение Денвера)) Чтобы что-то поломать и за это ничего не было...
И второй момент, что база, что панельки само собой имеют настройки авторизациим и торговать отрытым доступом в веб не стоит...




Что это и зачем? Что туда писать и зачем оно мне? О чем ***** статья?

Кейсы!! = Money$$$$
  • Я, разработчик софта = App Metrics => Начиная с этапа разработки, дебаг и отладка приложения,снимаем все параметры приложения и его окружения. Находим мемори-лики и прочие баги. Если сбилдилось и пошло в продакшн, остлеживаем миграцию клиентов по версиям и на каких системах кто сидит и как наше приложение работает. Единственный минус который поджидает разработчиков ПП с приличной базой клиентов, что один инстанс базы распухнет и вырастут аппетиты на данные, а чтобы кластеризоваться нужно будет занести...Это стоит учитывать, что аппетит будет...всех остальных этот вопрос не затронет и им хватит 1 инстанса базы.

  • Я, разработчик шаблонов под ЗенноПостер =
  • -Если на продажу, my_sale_project1,[email protected], status_online=true ....
  • -Если для себя, на God/End два пуша в базу
  • my_project1,version=1, ok=true
  • my_project1,version=1, ne_ok=true
  • Если ne_ok много для нас, правим и отлаживаем. Или далее углубляемся, ставим пуши после каждого кубика и находим "виновника торжества"
  • Так вы видите просто циферку сколько потоков сейчас крутит зенно. Ну минуту-три посмотрите и свернете его или выйдете с сервера. А в динамике на графике он (ваш проект) метр едет- два стоит, а вы заходили смотрели когда ехал. Но чуть ниже я расскажу про еще одну утилиту которая как демон/служба будет в системе снимать все ее состояние и пушить в базу. Потому что, чтобы выявить причину DevOpps нужен внешний наблюдатель. И из самого шаблона пушить не лучший подход. Все что вы получите если настроите алерты, алерт что не приходило данных за последние 10 минут, а почему все упало не поймете.
  • Я, "трейдер" и с криптой работаю - Все та же утилита демон выше упомянутая имеет плагин http, который может дергать любое JSON апи биржи, и пушить в базу. Вы из базы через дашбоард дергать эти данные, бид, аск, обьемы строить графики, на графики накладывать очень гибкие алерты (значение вошло в диапазон, вышло из него, считать спред и т.д) Пушить себе в телегу отчет и веб хук для зенно, Алерт в виде пуша на http://myhost.com/task.php?run=projectname => php скрипт добавляет строку в файл myhost.com/task.txt с именем шаблона. Шаблон-демон раздает задачи другим используя систему запуска по триггеру.

  • Я, Арбитражник & А/В тестер&Вебмастер&Дорвейщик&сам себе ЯдексМетрика и ГуглАналитикс - все тот же демон имеет плагин для парсинга логов апача, все эти данные + на страницах на JS обработчики событий которые пушат что пожелаете пушить (клики, параметры браузеров, время сессий и т.д.)

  • Я у Мамы инженер, я у Мамы умный дом - все данные пушим на панельку.

  • Я у мамы дважды инженер, купил ардуино+ .net модуль + сенсор движения - запушил себе через алерты сигналку)
.....more more more



Telegraf

Еще одна тула входящая в пакет поставки с InfluxDB.
По простому, работает как Крон+плагины.
Плагины вшиты уже в него, активация плагинов происходит просто добавлением в конфиг нескольких строк
Есть четыре вида плагинов:

Output = выхлоп, куда писать. Мы его не будем трогать, он по умолчанию настроен писать в InfluDB

Наша секция в конфиге:
##################################################################
INPUTS
##################################################################

[Input ]- какой плагин использовать для сбора чего-то / откуда-то
И в помощь идут два вспомогательных типа плагинов если стоит задача
[Processing] и/или [Aggregation]

Ссылки кликабельные.
Там на страницах ссылки на гитхаб с описанием настроек плагинов.
Какой у него выхлоп (какие параметры он выдаст)
Те плагины которые только под linux , то там это явно указано в описании
>Клик<
Сорсы тащить ничего не нужно, просто можете заглянуть как оно на Go lang кодится.
Все они уже скомпилены в поставляемой exe.​

Пример одного плагина



Плагин будет дергать этот апи и сам сконвертит (JSON)в нужный формат и запушит в базу.

Простое правило - одна здача = 1 плагин инпута + опиционально плагины пострпроцессинга данных*

*совмещать можно только плагины сбора телеметрии системы (cpu/ram/net./etc....)

**Вообще все можно в 1 конфиг напихать, но не нужно. Систему мы дергать будем каждые 5s, а json api binance по бесплатнопу тарифу разрешено к примеру 10 000 запросов /месяц= 60*60*24*30=2592000s/10 000=260s
Запускать так: telegraf.exe --config C://Apps//telegraf//my.conf

После того как правильно все настроили, увидели через дашбоард что данные идут, можем запускать несколько копий со своими задачами как служба Windows со всеми плюшками.
Running Telegraf as a Windows Service



Chronograf + Capacitor
Самые важные компоненты всей этой кухни и всей сути. Именно они раскрывают всю суть почему Time Series базы используем и городим весь этот огород.

Chronograf - просто еще один дашбоард который идет в пакете. Альтернатива грфане. Но если к нему подключаем Capacitor то мы получим совсем другую картину. Capacitor это бекенд для хронографа добавляющий ему функционал. Без него мы получаем просто визуализацию графиками и все.

Запускаем chronograf + capacitor = http://localhost:8888 тут панелька.

У нее есть вкладка InfluxDB Admin в которой мы можем создавать наши базы (назначать имена) и указывать очень важный параметр Duration

Если указать только имя базы и создать по умолчанию, то он будет равен 7дней - время сколько хранить в этой базе данные. Но так же мы можем явно указать там 1h30m, 2d, ...

upload_2018-12-16_17-12-36.png


Почему такая градация?

Там нужно указывать примерное время вашей реакции на любой алерт который сработает у вас.
И умножить на X2....X3 это время с запасом

для чего?

А теперь вся эта кухна по полочкам.

Пример#1

1. У нас есть база
2. У нас есть телеграф который снимает телеметрию системы (CPU+RAM ....)
3. У нас есть настроенные алерты
алерт#1 = Если нагрузка на CPU за последние 10мин находилась за пределами границы 0,1...0,9
-Load CPU держался 10 минут менее 10% - у нас прекратилась полезная нагрузка, перестал Работать ЗенноПостер
-Load CPU держался 10 минут более 90% - сильно машину

алерт#2 = Если нагрузка на RAM (16G) за последние 30мин находилась за пределами границы 2G...14G
-Used RAM держался 10 минут менее 2G - у нас прекратилась полезная нагрузка, перестал Работать ЗенноПостер
-Used RAM держался 10 минут более 14G - сильно грузило машину

Мы сами субьективно создали условия для понятия алер=аномалия.
Всего два графика на дашбоарде, больше и не нужно в этом примере
Если сработал один из алертов , значит дела плохи и нужно бы за время указанном в Duration
успеть попасть в дашбоард!

Почему?

Потому что данные об аномали будут удалены из базы (вытеснены другими, или в бекап упадут я не хочу в нем ковыряться) и мы не сможем проанализировать ее глазами и ....

Мы зашли в панельку и видим, что да, сработал алерт на CPU или RAM
Мы на языке (Flux) который из каропки идет вторым, накидываем на нем скрипт.
Примерно 10-20 строк это будет.
По простому мы "говорим" (кодим выборку), слушай ка, а ну ка возьми ты данные от момента пока все ровно было и до момента факта аномалии (факт=сработал алерт) и обучись как ванга. И если будет похожая температура в больнице ты мне заранее пришли алерт грядущего пи..ца. И называем его лейблом "Грядет DevOpps RAM"
Потому что я не могу сутками сидеть втыкать на дашбоард, а просто ловить алерты толку мало, уже свершившийся факт. И если будут предвестники мы узнаем он них заранее.

Пример#2 - Антифрод = Мы теряем деньги (у нас их пи**дят)

Я создал кран и раздаю 5 сатошиков или Я магазин запустился в CPA,
а ко мне боты ЗенноПостера валят и скликавают меня или еще что-то делают чтоя бабки теряю.. не хорошо

Алерты не нужны, ибо я не знаю какие параметры обьектов наблюдения (логи с апача, поведение на странице есть нормальное ,а есть аномалия) но у меня есть другой алерт, баланс кошелька который начал худеть очень резко вчера вечером.
Я все на том же Flux кидаю скрипт, и говорю выбери мне все данные что есть по страницам и отсортируй по количеству (частоте). все параметры. Есть бос. Опа, глазками смотрю и вижу за час этот было много (серия заходов) юзерагенты и скрин резолюшены одинаковые. Так теперь возьми все остальные данные что у нас есть для них и запомни это явление как боты и в следующий раз мне алерт и пуш на добавление этих IP в блек лист, а еще скажи зенно постеру (триггеры) пусть пойдет в админку рекаптчи и включит Hight режим сложности каптчи.

Пример#3 - Я Арбитражник

Аналогичный подход. Разместил рекламуна площадках, а там боты бегут через лендинг или прокладку мою. Надо чтобы спотыкались. Снимаем браузерные параметры, фильтруем, смотрим, метим что это боты.

Еще примеры нужны?..

Чекпоинт #2


После прочтения статьи, возможно вы вынесете для себя нестандартные подходы и сможете в связке с ЗенноПостером оптимизировать ваши кейсы и увеличить профит.
Все эти инструменты будут как мозги + Зенно как руки которые будут выполнять автоматизацию более гибко, по триггерам, а ваше участие будет минимальным. Только на этапе разработки шаблона и запуска в его в бой!​

##################################################################

>Скачать APPS<

Запускать в таком порядке
1. InfluxDB будет висеть на localhost:8088
2. Telegraf
3. Grafana admin:admin localhost:3000
Переходим на localhost:3000 и Визард панельки по шагам сам покажет как первые шаги делать

##################################################################
Official:​
http://docs.influxdata.com/
https://grafana.com/

Спасибо за внимание. Всем профита $)
p.s. Меня тут просят видео записать как куда что тыкать в панельках, ибо сходу не понятно.
Само собой и не должно быть все понятно. я не могу все GetStarted сюда копипастить с переводом по каждой утилите. Вам самим нужно топать по ссылкам и изучать. Видео как построить график это ничто, по сравнению с остальными настройками и пониманием как что и куда. Но там все очень доступно и понятно. Порог входа = максимум месяц со скриптингом на Flux. Я просто обозначил какие утилиты и какие подходы к ним нужно делать и какие кейсы можно решать максимально продуктивно и максимально автоматизированно благодаря связки с зеннопостером.

p.s2 Вам не нужно городить глобальну систему по "завату мира" и строить под каждый параметр график, если вам эти данные не нужны. Берете то что полезно для вашей темы с которой работаете. Пишете софт-телеметрия систем, с вебом работаете - все параметры с браузеров и т.д.
 
Тема статьи
Другое
Номер конкурса статей
Десятый конкурс статей

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование:

serjik777

Client
Регистрация
18.10.2015
Сообщения
27
Благодарностей
41
Баллы
13
Мой голос за тебя, натолкнул на интересную идею...
 

russya

Client
Регистрация
08.07.2014
Сообщения
743
Благодарностей
78
Баллы
28
для меня все это так сложно) нужно еще учиться
 
Регистрация
04.09.2014
Сообщения
455
Благодарностей
639
Баллы
93
Годненько. Но очень узко применимо.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

JohnnyDark696

Client
Регистрация
20.08.2015
Сообщения
3
Благодарностей
13
Баллы
3
Них*я не понял, но очень интересно.
 
Регистрация
04.09.2014
Сообщения
455
Благодарностей
639
Баллы
93
Не сказал бы. Хотя, смотря в чём.
Дружище, я бы задачу постоянно че-то писать и сравнивать в быстрой базе решал бы на RAM диске + MongoDB. И сразу в JSON без прокладок. И кстати совершенно бесплатно.
 

pars

Пользователь
Регистрация
10.12.2016
Сообщения
78
Благодарностей
41
Баллы
18
  • Спасибо
Реакции: Rainsteel

alexpost

Client
Регистрация
15.06.2016
Сообщения
173
Благодарностей
60
Баллы
28
Познавательно, получил “пищу” для размышлений)
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

апнул статейку, добавил ключевые моменты)
 
  • Спасибо
Реакции: Yuriy Zymlex

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Дружище, я бы задачу постоянно че-то писать и сравнивать в быстрой базе решал бы на RAM диске + MongoDB. И сразу в JSON без прокладок. И кстати совершенно бесплатно.


>клик<

Есть поговорка, "каждому свое". Так и с базами. У каждого типа баз свое назначение. Суть тут в том что мы снимаем телеметрию и она идет, к примеру каждые 5s. Даже если ничего не происходит, она идет, "Все ровно", "ничего не происходит", "все ровно" , "все avg по больнице" и так по таймауту.

Если я буду использовать MySql мне нужно будет держать коннекты, или переподключатся каждые 5с, а через еще 5сек дашбоард дернет чтобы построить график, и поток данных 1000 000 запросов на запись в сек. Одна морда MySQL и прочие реляционки не потянут и т.д. и т.п.

реляционки нашли себе применение
тайм сириес под телеметрию
графовые под задачи обхода топологии и выявления сильных и слабых связей
и т.д.

 
Последнее редактирование:
  • Спасибо
Реакции: k1nop

vierasen

Client
Регистрация
10.12.2015
Сообщения
582
Благодарностей
277
Баллы
63
Статья хорошая, видимо автор постарался, но мне кажется, что зеннопостер тут за уши притянут. Явно статья не должна быть в конкурсных.
 
  • Спасибо
Реакции: Andrew Shell

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Статья хорошая, видимо автор постарался, но мне кажется, что зеннопостер тут за уши притянут. Явно статья не должна быть в конкурсных.

Ну вот мне не так давно, нужно было с одной доской обьяв работать.) Апи у доски нет)
Ну зенкой каждый час ходил в категории и снимал количество просмотров у топ 1000 обьяв. Пушил в базу, у меня рисовался график.
Получился срез за каждый час в сутки.
Ну так три дня попарсил для подтверждения общей картины по срезу суточному и все.
Дальше в в часы начала роста (аномалии) зенка ходила и постила нужные обьявы в эти три часа да и все)
В остальное время шаблон стоял, работали другие)
Продуктивно? сильно заумная схема?

Не руками мне же ходить обьявы клепать?)
Так где тут он притянут?
 

vierasen

Client
Регистрация
10.12.2015
Сообщения
582
Благодарностей
277
Баллы
63
Ну вот мне не так давно, нужно было с одной доской обьяв работать.) Апи у доски нет)
Ну зенкой каждый час ходил в категории и снимал количество просмотров у топ 1000 обьяв. Пушил в базу, у меня рисовался график.
Получился срез за каждый час в сутки.
Ну так три дня попарсил для подтверждения общей картины по срезу суточному и все.
Дальше в в часы начала роста (аномалии) зенка ходила и постила нужные обьявы в эти три часа да и все)
В остальное время шаблон стоял, работали другие)
Продуктивно? сильно заумная схема?

Не руками мне же ходить обьявы клепать?)
Так где тут он притянут?
Если проводить аналогию языком, более понятным большинству пользователей этого форума. Вы описываете соцсеть, какая она большая и замечательная, как там удобно работать пользователям. А потом в конце добавляете, а еще можно накатать шаб, который спамит в личку юзерам и вы зарабатываете деньги.

То есть если из вашей статьи выкинуть зеннопостер, то она актуальности не потеряет никак. Работа с зеннопостером тут даже не на вторых ролях. Хотя сама статья хорошая.
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
А, по-моему, как раз небольшая абстракция от ZennoPoster и множество косвенных идей в статье (которые читаются между строк) помогут родить отличные идеи. Это как решение задачи на подсознательном уровне, знаешь ТЗ, постоянно что-то делаешь не связанное с задачей и потом всплывает вот так статья совсем о другом и тут... БАЦ! Вот она, та самая вещь, которую уже давно думал как решить, но не мог придумать как :-)

Побольше бы таких статей вообщем, спасибо @7make )
 
Регистрация
04.09.2014
Сообщения
455
Благодарностей
639
Баллы
93
Ok, 7make, все верно. Правда в случае Монго очень похоже на картинке данные времена версий, когда лочилась вся база при внесении изменений, а не отдельный документ, как в последних версиях, когда всю базу можно перепотрошить, что как бы оставляет много моментов. Ну да хрен с ним.
Вопрос из реального мира: сколькопоточный проект должен быть, что бы использовать пропускную способность InfluxDB? Эдак 10к? Ну да, это рядовой проект для типичного зеноюзера.
Статья интересная, но, как я уже сказал, очень-очень узкоспециализированная. Но было любопытно ознакомиться.
 

OlegR

Client
Регистрация
11.06.2015
Сообщения
240
Благодарностей
250
Баллы
63
в чём полезность данной статьи?
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
в чём полезность данной статьи?
В том, что если хочешь идти в ногу со временем - нужно расширять кругозор, в т.ч. отказываться от реляционных баз данных в пользу других, более узкоспециализированных решений для таких же узкоспециализированных задач.

PS: в статье и в комментах ТС несколько раз примеры применения привёл, если интересует именно "Как это спарить с зенкой?" ))
 

OlegR

Client
Регистрация
11.06.2015
Сообщения
240
Благодарностей
250
Баллы
63
В том, что если хочешь идти в ногу со временем - нужно расширять кругозор, в т.ч. отказываться от реляционных баз данных в пользу других, более узкоспециализированных решений для таких же узкоспециализированных задач.
слишком большой поток инноваций... забыть про сон и "идти в ногу со временем"?
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
  • Спасибо
Реакции: k1nop

Rk61

Client
Регистрация
03.02.2015
Сообщения
114
Благодарностей
126
Баллы
43
Интересные связки, сам использую power bi, но в других целях (тоже с зенкой и через MySQL).

А вот инфлюкс для меня стал открытием (именно тайм сериии данных), оооочень удобно пушить именно в инфлюкс, нежели в мускул.


Сейчас ради теста запустил всю связку из топика - реально интересно и круто.
Графана прикольная, но не очень гибкая, как я понял, она именно под тайм серии, таблицы там убогие у меня получились, но я как понял там можно инфу для блока дашборда брать как бы из другого блока дашборда.
В общем графана норм под мониторинговые темы, чтоб видить статусы сервера (загрузки ram, cpu, net) и собственно удобно логировать что-либо как для мониторинга "пульса", так и для реалтайм аналитик данных парсинга (вычислять горячее время, тренды и прочее, что прыгает от часа к часу реалтайм).

На разу до этого не работал с этими связками, даже не слышал о них, усталовил и за минут 30 настроил первый дашборд (оказалось не совсем интуитивно, даже если всё ок настроишь - пока в опциях не выставишь таймер обновления в 2 местах - данных не увидишь)
 
  • Спасибо
Реакции: 7make

Lite

Client
Регистрация
17.10.2013
Сообщения
283
Благодарностей
89
Баллы
28
Насчет визуализации данных - в свое время работал на тех. объекте, и вот там без графиков/трендов было просто никак.
Случился у тебя аварийный останов оборудования, и ты просто задолбаешься сидеть и пытаться что-то увидеть в цифрах. А тут взял и кинул на тренды обороты, температуру, вибрацию, и вся картина процесса как на ладони.
Это я к тому, что подобный подход в системах с несколькими связанными параметрами может быть очень удобным.
(откопал старый скрин, может выглядит сумбурно, но в работе всё понятно)


p.s. Отдельный вопрос - доклад начальству (которое в нашем случае можно заменить клиентами). Им такая визуализация тоже гораздо понятнее, чем наборы цифр.
 
  • Спасибо
Реакции: Yuriy Zymlex

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

@Lite
Все верно.
Графану в CERN юзают
 

Lite

Client
Регистрация
17.10.2013
Сообщения
283
Благодарностей
89
Баллы
28
@Lite
Все верно.
Графану в CERN юзают
В АСУ оно вообще повсеместно участвует где только можно. Система ниже была введена на объекте в 2003г (получается, что софт еще старше), и всё это спокойно до сих пор крутится на своей 98й винде.
(сорри за офтоп, на воспоминания пробило))
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Когда поверхностно уже освоите панельки все эти и встанет вопрос, а что же мне начать собирать и анализировать, да и желательно полезное....
Пилим свое расширение для хрома. Очень легко, кучу гайдов, базовые знания JS нужны + HTML+CSS
Заливаем в магазин расширений
Ждем инсталлы
Получаем чистые данные реального поведения людей в браузерах.
Что собирать, да все что Chrome API позволяет
....
Пытаемся сделать поведение Зенно похожим ))
 

daymos

Client
Регистрация
11.11.2009
Сообщения
806
Благодарностей
240
Баллы
43
Отличная статья! Мой голос за тебя!
 
  • Спасибо
Реакции: 7make

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3
Расширил сознание, спасибо.
 
  • Спасибо
Реакции: 7make

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

В Сиднее главный проджект по .net core сказал что вся эта история будет скоро из каропки, возможно .net core 3.0 который выкатятт в 2019 уже будет содержать это апи для работы с Prometheus.
Еще кучу апи прикрутят из каропки, типа gRPC и прочие.
Так что в студии 2019 подобные дашбоарды вероятнее всего тоже будут)

 
Последнее редактирование:
Регистрация
12.07.2014
Сообщения
916
Благодарностей
373
Баллы
63
@7make
Запускать в таком порядке
1. InfluxDB будет висеть на localhost:8088
2. Telegraf
3. Grafana admin:admin localhost:3000
Переходим на localhost:3000 и Визард панельки по шагам сам покажет как первые шаги делать
Вопрос по запуску.
1. RUN.bat
2. RUN.bat
3. А тут что и где?
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

  • Спасибо
Реакции: Сибиряк

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)