• InfluxDB, Prometheus, OpenTSDB. Что выбрать для хранения и анализа метрик?

    Не очень понял задачу, попробую объяснить разницу, как я это понимаю из своего опыта:

    OpenTSDB:
    * работает поверх HBase/Hadoop, для тестов можно запустить в standalone режиме, но будет работать _крайне_ медленно
    * timeseries вида timestamp, metricname=val, (tag=val)+ , может хранить только числа (есть batch mode, если нужно несколько пачкой писать)
    * объем данных хорошо масштабируется за счет HBase
    * сообщество сообщает о тормозах при очень большом количестве (десятки тысяч+) идентификаторов серий -- это имя серии + сочетание тегов
    * скорость записи и выборки хорошая: в HBase данные партицируются почасово и читаются только те серии за те периоды, которые нужны
    * для масштабирования ставим доп.ноды OpenTSDB за прокси (если упираемся в агрегации), либо ноды HBase (если упираемся в IO)
    * процессинг метрик только самый базовый -- downsample, вычисление rate из счетчиков (т.е. производная), аггрегация по тегам (например, среднее "os.cpu" для всех метрик, у которых тег "role=webserver")
    * сам язык запросов немного вырвиглазный
    * недавно появился https://bosun.org/, который садится перед OpenTSDB и позволяет еще какие-то операции делать
    * апстрим разработку ведет довольно неторопливо

    InfluxDB:
    * ставится в тестовом режиме очень легко (один бинарник)
    * пока нестабилен -- за последний год сменилось 2 HTTP API и штук пять вариантов бинарного формата на диске -- это моя самая большая претензия к нему
    * timeseries вида db, timestamp, metricname=val, (tag=val)+, т.е. можно логически группировать разные данные. Кажется, можно было хранить текстовые значения.
    * язык запросов SQL-подобный
    * ребята из Coub говорили, что на запись он качает хорошо, а на чтение тормозит (не знаю, впрочем про какую из версий)
    * у них много коннекторов к разным входным форматам (графит, opentsdb, collectd и т.п.)
    * довольно динамично развивается

    Из известных TSDB есть еще Graphite:
    * старый хорошо известный вариант
    * питон с модулями, поэтому сложнее в установке, чем influxdb, но проще чем хадуп
    * база RRD, т.е. может хранить только данные "за последний год, за последний месяц и за последний час" со своей точностью для каждого периода
    * за счет этого данные занимают хорошо предсказуемое и постоянное место на диске
    * гигантское количество документации и всяких обвязок в интернете
    * серии вида timestamp, metric=val -- тегов и т.п. нет. поэтому группировать, например, одинаковые серии для разных хостов придется под разными именами
    * довольно большое (по сравнению с OpenTSDB) количество функций при выборке -- насколько помню, были всякие перцентили, forecastы и т.д.
    * с дефолтным хранилищем при большом количестве серий начинает упираться в диск
    * масштабируется неважно (подробностей не знаю)
    * периодически из сообщества появляются разнообразные хранилища, которые улучшают ситуацию со скоростью и масштабированием

    Prometheus не видел.
    Еще что-то слышал про druid.io, но тоже ничего о нем не знаю.
    Ответ написан
    1 комментарий
  • Как правильно использовать Puppet?

    Я рекомендовал бы вам добавить к вашему папету еще hiera, про нее была статья habrahabr.ru/post/242657
    Она позволить вам более гибко управлять вашими серверами.
    В вашем случае вам нужно будет ли создать 1 yaml файл для конкретной ноды и переписать локацию нового конфига.
    Ответ написан
    7 комментариев
  • Какие инструменты можете посоветовать для проектирования приложений?

    @vanilla_men
    Can you draw the world?
    Мы пользуемся Archimate для описания высокоуровневой архитектуры, и UML для подробных описаний. Для Archimate можно пользоваться бесплатным Archi или платным VisualParadigm. Для UML - из бесплатных StarUML, из платных VisualParadigm.
    Ответ написан
    Комментировать
  • Как практиковаться в программировании сисадмину?

    insiki
    @insiki
    broken pipe
    Может здесь есть чего интересного?
    Гифт Н. | Python в системном администрировании UNIX и Linux
    Ответ написан
    1 комментарий
  • Как вы синхроннизируете файлы?

    zxmd
    @zxmd
    rsync - выбор джедаев.
    Реально - большие файлы - Dropbox, мелочь - git
    Ответ написан
    Комментировать
  • Есть ли шпаргалка (постер) по паттернам проектирования?

    Посмотрите тут: habrahabr.ru/post/210288
    Ответ написан
    Комментировать
  • Есть ли шпаргалка (постер) по паттернам проектирования?

    Есть такой сайт dzone.com на котором собрана большая коллекция cheat sheet. Шпаргалка по GoF у них самая популярная.
    Прямая ссылка для скачивания www.mcdonaldland.info/files/designpatterns/designp...
    Ответ написан
    Комментировать
  • Чем заменить nginx-upload-module?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Мы в итоге сделали без модулей, силами nginx, через clientBodyInFileOnly. Вот например описание метода.

    Есть свои особенности — например, не принимает multipart/form-data, но в общем, пока рады-довольны этим способм.
    Ответ написан
    4 комментария