5 место InfluxDB + Grafana = Love

Discussion in 'Десятый конкурс статей' started by 7make, Dec 16, 2018.

  1. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
    I Love Time Series Data

    [​IMG]


    Intro

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

    [​IMG]

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

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

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

    Примеры:

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

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

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

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

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

    [​IMG]

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

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

    • Скажу только что написаны большинство из них на 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 зависимости от кодировки)

    Когда говорят о TSDB, то это тема про скорость +- 1 000 000 записей/выборок в секунду!



    [​IMG]

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

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

    [​IMG]

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


    InfluxDB HTTP endpoints

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

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

    Code (text):
    1. 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)

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

    [​IMG]

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

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


    Чекпоинт #1 + маленькое отступление от темы




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

    Кейсы!! = 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

    [​IMG]


    Telegraf

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

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

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

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

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

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

    [​IMG]

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

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

    Запускать так: 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 Вам не нужно городить глобальну систему по "завату мира" и строить под каждый параметр график, если вам эти данные не нужны. Берете то что полезно для вашей темы с которой работаете. Пишете софт-телеметрия систем, с вебом работаете - все параметры с браузеров и т.д.
     
    Last edited: Dec 16, 2018
  2. serjik777

    serjik777 Client

    Joined:
    Oct 18, 2015
    Messages:
    16
    Likes Received:
    9
    Мой голос за тебя, натолкнул на интересную идею...
     
  3. russya

    russya Client

    Joined:
    Jul 8, 2014
    Messages:
    515
    Likes Received:
    40
    для меня все это так сложно) нужно еще учиться
     
  4. BblTPE3BUTEJlb

    BblTPE3BUTEJlb Client

    Joined:
    Sep 4, 2014
    Messages:
    75
    Likes Received:
    127
    Годненько. Но очень узко применимо.
     
  5. Zymlex

    Zymlex Client

    Joined:
    Oct 24, 2016
    Messages:
    1,214
    Likes Received:
    587
    Не сказал бы. Хотя, зависит от задач.
     
  6. JohnnyDark696

    JohnnyDark696 Client

    Joined:
    Aug 20, 2015
    Messages:
    3
    Likes Received:
    11
    Них*я не понял, но очень интересно.
     
    Rainsteel, sanjaz, Roman* and 7 others like this.
  7. BblTPE3BUTEJlb

    BblTPE3BUTEJlb Client

    Joined:
    Sep 4, 2014
    Messages:
    75
    Likes Received:
    127
    Дружище, я бы задачу постоянно че-то писать и сравнивать в быстрой базе решал бы на RAM диске + MongoDB. И сразу в JSON без прокладок. И кстати совершенно бесплатно.
     
  8. pars

    pars Пользователь

    Joined:
    Dec 10, 2016
    Messages:
    52
    Likes Received:
    16
    симметрично :D
     
    Rainsteel likes this.
  9. alexpost

    alexpost Client

    Joined:
    Jun 15, 2016
    Messages:
    134
    Likes Received:
    43
    Познавательно, получил “пищу” для размышлений)
     
  10. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
    апнул статейку, добавил ключевые моменты)
     
    Zymlex likes this.
  11. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
    [​IMG]

    >клик<

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

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

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

     
    Last edited: Dec 16, 2018
    k1nop likes this.
  12. vierasen

    vierasen Client

    Joined:
    Dec 10, 2015
    Messages:
    473
    Likes Received:
    231
    Статья хорошая, видимо автор постарался, но мне кажется, что зеннопостер тут за уши притянут. Явно статья не должна быть в конкурсных.
     
    Andrew Shell likes this.
  13. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135

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

    Не руками мне же ходить обьявы клепать?)
    Так где тут он притянут?
     
    WebBot, q7021q and Lord_Alfred like this.
  14. vierasen

    vierasen Client

    Joined:
    Dec 10, 2015
    Messages:
    473
    Likes Received:
    231
    Если проводить аналогию языком, более понятным большинству пользователей этого форума. Вы описываете соцсеть, какая она большая и замечательная, как там удобно работать пользователям. А потом в конце добавляете, а еще можно накатать шаб, который спамит в личку юзерам и вы зарабатываете деньги.

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

    Lord_Alfred Client

    Joined:
    Oct 9, 2015
    Messages:
    2,677
    Likes Received:
    2,243
    А, по-моему, как раз небольшая абстракция от ZennoPoster и множество косвенных идей в статье (которые читаются между строк) помогут родить отличные идеи. Это как решение задачи на подсознательном уровне, знаешь ТЗ, постоянно что-то делаешь не связанное с задачей и потом всплывает вот так статья совсем о другом и тут... БАЦ! Вот она, та самая вещь, которую уже давно думал как решить, но не мог придумать как :-)

    Побольше бы таких статей вообщем, спасибо @7make )
     
    Сибиряк, Osedjuse, one and 2 others like this.
  16. BblTPE3BUTEJlb

    BblTPE3BUTEJlb Client

    Joined:
    Sep 4, 2014
    Messages:
    75
    Likes Received:
    127
    Ok, 7make, все верно. Правда в случае Монго очень похоже на картинке данные времена версий, когда лочилась вся база при внесении изменений, а не отдельный документ, как в последних версиях, когда всю базу можно перепотрошить, что как бы оставляет много моментов. Ну да хрен с ним.
    Вопрос из реального мира: сколькопоточный проект должен быть, что бы использовать пропускную способность InfluxDB? Эдак 10к? Ну да, это рядовой проект для типичного зеноюзера.
    Статья интересная, но, как я уже сказал, очень-очень узкоспециализированная. Но было любопытно ознакомиться.
     
  17. OlegR

    OlegR Client

    Joined:
    Jun 11, 2015
    Messages:
    40
    Likes Received:
    58
    в чём полезность данной статьи?
     
  18. Lord_Alfred

    Lord_Alfred Client

    Joined:
    Oct 9, 2015
    Messages:
    2,677
    Likes Received:
    2,243
    В том, что если хочешь идти в ногу со временем - нужно расширять кругозор, в т.ч. отказываться от реляционных баз данных в пользу других, более узкоспециализированных решений для таких же узкоспециализированных задач.

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

    OlegR Client

    Joined:
    Jun 11, 2015
    Messages:
    40
    Likes Received:
    58
    слишком большой поток инноваций... забыть про сон и "идти в ногу со временем"?
     
  20. Lord_Alfred

    Lord_Alfred Client

    Joined:
    Oct 9, 2015
    Messages:
    2,677
    Likes Received:
    2,243
    Каждый сам выбирает свой путь :-)
     
    k1nop likes this.
  21. Rk61

    Rk61 Client

    Joined:
    Feb 3, 2015
    Messages:
    35
    Likes Received:
    5
    Интересные связки, сам использую power bi, но в других целях (тоже с зенкой и через MySQL).

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


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

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

    Lite Client

    Joined:
    Oct 17, 2013
    Messages:
    195
    Likes Received:
    47
    Насчет визуализации данных - в свое время работал на тех. объекте, и вот там без графиков/трендов было просто никак.
    Случился у тебя аварийный останов оборудования, и ты просто задолбаешься сидеть и пытаться что-то увидеть в цифрах. А тут взял и кинул на тренды обороты, температуру, вибрацию, и вся картина процесса как на ладони.
    Это я к тому, что подобный подход в системах с несколькими связанными параметрами может быть очень удобным.
    (откопал старый скрин, может выглядит сумбурно, но в работе всё понятно)
    [​IMG]

    p.s. Отдельный вопрос - доклад начальству (которое в нашем случае можно заменить клиентами). Им такая визуализация тоже гораздо понятнее, чем наборы цифр.
     
    Zymlex likes this.
  23. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
  24. Lite

    Lite Client

    Joined:
    Oct 17, 2013
    Messages:
    195
    Likes Received:
    47
    В АСУ оно вообще повсеместно участвует где только можно. Система ниже была введена на объекте в 2003г (получается, что софт еще старше), и всё это спокойно до сих пор крутится на своей 98й винде.
    (сорри за офтоп, на воспоминания пробило))
    [​IMG]
     
  25. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
    Когда поверхностно уже освоите панельки все эти и встанет вопрос, а что же мне начать собирать и анализировать, да и желательно полезное....
    Пилим свое расширение для хрома. Очень легко, кучу гайдов, базовые знания JS нужны + HTML+CSS
    Заливаем в магазин расширений
    Ждем инсталлы
    Получаем чистые данные реального поведения людей в браузерах.
    Что собирать, да все что Chrome API позволяет
    ....
    Пытаемся сделать поведение Зенно похожим ))
     
    Karamzin likes this.
  26. daymos

    daymos Client

    Joined:
    Nov 11, 2009
    Messages:
    759
    Likes Received:
    203
    Отличная статья! Мой голос за тебя!
     
    7make likes this.
  27. Emfortes

    Emfortes Client

    Joined:
    Aug 28, 2015
    Messages:
    25
    Likes Received:
    7
    Расширил сознание, спасибо.
     
    7make likes this.
  28. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
    В Сиднее главный проджект по .net core сказал что вся эта история будет скоро из каропки, возможно .net core 3.0 который выкатятт в 2019 уже будет содержать это апи для работы с Prometheus.
    Еще кучу апи прикрутят из каропки, типа gRPC и прочие.
    Так что в студии 2019 подобные дашбоарды вероятнее всего тоже будут)

     
    Last edited: Dec 20, 2018
  29. Сибиряк

    Сибиряк Client

    Joined:
    Jul 12, 2014
    Messages:
    255
    Likes Received:
    61
    @7make
    Вопрос по запуску.
    1. RUN.bat
    2. RUN.bat
    3. А тут что и где?
     
  30. 7make

    7make Moderator

    Joined:
    Jun 25, 2011
    Messages:
    1,454
    Likes Received:
    1,135
    в конце статьи ссылка на скачивание пакета, там батники лежат. а так там просто запуск с параметром
    --config path/to/config.conf
     
    Сибиряк likes this.

Пользователи просматривающие тему (Пользователей: 0, Гостей: 0)