Показаны сообщения с ярлыком graphite. Показать все сообщения
Показаны сообщения с ярлыком graphite. Показать все сообщения

Graphite: Графит без графита

В процессе использования какого-либо продукта иногда всплывают разные интересные факты и сакральные знания. Набралось некоторое количество заметок на полях про Graphite:

Graphite и R

... довелось познакомиться со статистическим пакетом R (который такой же как S/S+, но другой :-). За саму систему R рассказывать не буду, для интересующихся ссылка внизу статьи. Меня же заинтересовала возможность подгружать данные из графита для анализа в R. Навскидку прямых путей не нашлось, но придумал парочку обходных:

Graphite: отправка данных из Yandex-Танк

Продолжаю коллекционировать интересные штуки про Graphite: вот например, опенсорсная утилита для автоматизированного нагрузочного тестирования Yandex-Tank, разработка программистов Yandex, как можно догадаться из названия, построен на Фантоме. С некоторых пор и в Яндекс-Танке появилась поддержка Graphite. Конфигурационный файл выгрузки позволяет настроить разные префиксы метрик для тестируемых серверов. Подробности по ссылкам внизу статьи. Ну и, чтобы два раза не вставать, немного про, собственно, Яндекс-Танк (вольный перевод Readme.md с гитхаба проекта и немного отсебятины):

Graphite: просмотр файлов Whisper (.wsp) в консоли и в Midnight Commander


Настраиваем просмотр файлов данных Wisper (Graphite) в консоли в несколько простых шагов:

  1. Найти в системе whisper-fetch.py. Если установлена свежая версия пакета Graphite,- скорее всего такой файл уже есть в /opt/graphite (или в другом месте, если при установки использовался путь не по умолчанию):

    $ find / -name whisper-fetch.py
    

Система визуализации статистики Graphite: Общие сведения

Организовать сбор статистики,- это не просто, а очень просто. Надо только сначала определиться,- нужна ли именно статистика, или душа мечтает о волшебном аналитическом инструменте уровня Business Intelligence. Различия систем таких классов следующие: статистика,- это сбор, хранение и отображение значений заранее известных метрик заранее определённым способом, а BI,- это скорее поиск и извлечение значений и зависимостей из необработанных наборов данных по заранее неизвестным критериям.

Инструмент вебмастера: Site Auditor

Периодически проверяю статус индексирования поисковиками в программе Site-Auditor, помимо разных полезных сведений на текущий момент там сохраняются данные предыдущих проверок. Яндекс.Метрика и Google Analytics показывают данные с заметным отставанием, иногда до нескольких дней, утилиты вебмастера (Яндекс.Вебмастер и Google Webmaster Tools) тоже не всегда показывают актуальные данные. И вот подумалось,- а что, если извлечь данные из Site Auditor и сохранить их в какую-то свою историческую базу, да хоть и в графит? На маке использую AIR версию, вот некоторые итоги изысканий:


  • Данные, полученные программой, сохраняются в формате Adobe Shared Object, расширение sol.
  • Расположение файлов зависит от операционной системы, путь можно узнать на сайте Site-Auditor в разделе FAQ
  • Для работы с такими файлами в Python есть модуль PyAMF, установить можно с помощью pip
  • Помимо pyamf случайно нашёл модуль python site-auditor, по описанию судя делает почти всё тоже самое, что и программа. 

Графитовые графики в консоли


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


А ещё волшебным образом можно показать статистику из Graphite, например так:

$ curl -s "https://graphite/render/?target=metric.foo&from=-30min&format=json" | \
python -mjson.tool | grep ',' | grep -v '\]' | spark
▂▅▇▃▆▆▅▇▂▁▂▁▂▁▁▅▇▃▃▃▂▂▂▁▂▂▃▁▂▃▁▁▁▂▃▅▂▁▂▂▃▃▃▂▆▃

Про Graphite написал отдельно, а ещё на сладкое аглоязычная годная серия статей про работу с Graphite, пример вывода в spark подсмотрел там.