Инструменты, работающие с Graphite
Сбор данных
- Brubeck
- Агрегатор статистики, совместимый со statsd, написанный на C.
- Bucky
- Небольшой сервис на Python для сбора и преобразования метрик для Graphite. В настоящее время он может собирать данные метрик с демонов CollectD и клиентов StatsD.
- Сервис Carbonator для Windows
- Простой, легкий сервис для Windows, собирающий метрики Performance Counter и отправляющий их на сервер Graphite. Настройка через конфигурационный файл приложения .NET xml.
- collectd
-
Демон, который периодически собирает статистику производительности системы и предоставляет механизмы для хранения значений различными способами, включая RRD. Для отправки метрик collectd в carbon/graphite используйте плагин write-graphite collectd (доступен начиная с версии 5.1). Другие варианты включают:
- Прокси collectd-to-graphite от Jordana Sissel
- Плагин collectd-graphite на Perl от Joe Miller
- Плагин collectd-carbon на Python от Gregory Szorc
- Сервис Bucky от Paul J. Davis
Graphite также может читать данные напрямую из RRD-файлов collectd. Файлы RRD можно просто добавить в
STORAGE_DIR/rrd(при условии, что имена каталогов и файлов не содержат символов.). Например, ссылку наhost.name/load/load.rrdcollectd можно создать наrrd/collectd/host_name/load/load.rrd, чтобы отобразитьcollectd.host_name.load.load.{short,mid,long}term. - Collectl
- Инструмент сбора метрик системы, который может работать как в интерактивном режиме, так и в режиме демона, поддерживает сбор данных из широкого набора подсистем. Collectl включает интерфейс Graphite, который позволяет легко передавать данные в Graphite для хранения.
- Diamond
- Демон на Python, собирающий метрики системы и публикующий их в Graphite. Он способен собирать метрики процессора, памяти, сети, ввода-вывода, загрузки и дисков. Кроме того, он имеет API для реализации пользовательских коллекторов для сбора метрик практически из любого источника.
- Ganglia
- Масштабируемая распределенная система мониторинга для систем высокопроизводительных вычислений, таких как кластеры и Gridы. Она собирает метрики производительности системы и хранит их в RRD, но теперь есть дополнение, которое позволяет Ganglia отправлять метрики непосредственно в Graphite. Дальнейшая интеграция находится в стадии разработки.
- graphite-pollers
- Набор скриптов, которые отправляют данные в Graphite, включая многопоточный SNMP-поллинг для статистики интерфейсов сети IF-MIB и другой, который извлекает данные сетевого стека Linux из файлов в /proc/net. Добавить в cron и работать.
- Функции Graphite PowerShell
- Группа функций, которые можно использовать для сбора счетчиков производительности Windows и отправки их на сервер Graphite. Основная функция может работать как служба Windows, и все настраивается через XML-файл.
- HoardD
- Приложение Node.js, написанное на CoffeeScript, для отправки данных с серверов в Graphite, аналогично collectd, но с упором на простоту расширения и меньшей нагрузкой. По умолчанию он поставляется с базовыми коллекторами плюс метриками Redis и MySQL, и может быть расширен с помощью JavaScript или CoffeeScript.
- Host sFlow
- Открытая реализация протокола sFlow (http://www.sflow.org), экспортирующая стандартный набор метрик процессора, памяти, дисков и сети. Утилита sflow2graphite преобразует sFlow в текстовый протокол Graphite, что позволяет Graphite принимать метрики sFlow.
- jmx2graphite
- Самый простой способ опроса метрик JMX и записи их в Graphite. Этот инструмент работает как контейнер Docker, опрашивает JMX каждые X секунд и записывает метрики в Graphite. Требуется минимальная конфигурация для начала работы.
- jmxtrans
- Мощный инструмент, выполняющий запросы JMX для сбора метрик из Java-приложений. Он требует очень малой настройки и способен отправлять данные метрик на несколько приложений-бекендов, включая Graphite.
- Logster
- Утилита для чтения лог-файлов и генерации метрик в Graphite или Ganglia. Она идеально подходит для визуализации тенденций событий, происходящих в логах вашего приложения/системы/ошибок. Например, вы можете использовать logster для построения графика количества возникновений кода HTTP-ответа, который появляется в журналах вашего веб-сервера.
- metrics-sampler
- Программа на Java, которая регулярно запрашивает метрики из настроенного набора входных данных, выбирает и переименовывает их с помощью регулярных выражений и отправляет их в настроенный набор выходных данных. Он поддерживает JMX и JDBC в качестве входных данных и Graphite в качестве выходных данных по умолчанию.
- Sensu
- Система мониторинга, которая может направлять метрики в Graphite. Серверы подписываются на наборы проверок, поэтому получение метрик с нового сервера в Graphite так же просто, как установка клиента Sensu и подписка.
- snort2graphite
- Snort IDS/IPS может быть настроен для генерации богатого набора метрик о сетевом трафике. В настоящее время доступно более 130 метрик. Snort2graphite получит самые последние данные из вашего файла snort.stats и отправит все метрики в Graphite.
- SqlToGraphite
- Агент для Windows, написанный на .NET, для сбора метрик с использованием плагинов (WMI, SQL Server, Oracle) путем опроса конечной точки с помощью SQL-запроса и отправки результатов в графит. Он использует либо локальную, либо централизованную конфигурацию через HTTP.
- SSC Serv
- Служба Windows (агент), которая периодически публикует метрики системы, например, использование процессора, памяти и диска. Она может хранить данные в Graphite, используя схему именования, аналогичную той, что используется collectd.
- telegraf
- Telegraf — это агент, написанный на Go, для сбора, обработки, агрегирования и записи метрик. Он также поддерживает вывод метрик в Graphite.
Пересылка
- Backstop
- Простой конечный пункт для отправки метрик в Graphite. Он принимает данные JSON по HTTP POST и проксирует данные одному или нескольким слушателям Carbon/Graphite.
- carbon-c-relay
- Улучшенная реализация Carbon relay, агрегатора и переписателя на C.
- carbon-relay-ng
- Быстрый Carbon relay+агрегатор с интерфейсами администрирования для онлайн-изменений — готов к использованию в производстве.
- Evenflow
- Простая служба для отправки дейтаграмм sFlow в Graphite. Она принимает дейтаграммы sFlow от нескольких сетевых устройств и проксирует данные слушателю Carbon. В настоящее время поддерживаются только общие счетчики интерфейса. Все другие типы сообщений игнорируются.
- Grafsy
-
Очень легкий кэширующий прокси для метрик graphite с дополнительными функциями:
- Кэширование метрик в случае отказа и отправка их позже
- Проверка метрик
- Агрегирование метрик, включая функции SUM и AVG
- И многое другое
- Graphite-Newrelic
- Получите ваши данные из graphite в New Relic через плагин New Relic Platform.
- Graphite-relay
- Быстрый Graphite relay, написанный на Scala с использованием фреймворка Netty.
- Graphios
- Небольшой демонический процесс Python для отправки данных производительности Nagios (perfdata) в Graphite.
- Graphout
- Приложение Node.js, которое позволяет перенаправлять запросы Graphite (используя API отображения) на различные внешние сервисы. Имеются встроенные модули для Zabbix и CloudWatch. Написание пользовательских модулей очень просто.
- Grockets
- Приложение node.js, которое предоставляет потоковую передачу данных JSON по HTTP из Graphite.
- Gruffalo
- Асинхронный прокси Graphite на основе Netty для больших установок. Он защищает Graphite от множества клиентов, минимизируя переключения контекста и прерывания; путем пакетирования и агрегирования метрик. Gruffalo также позволяет вам дублировать метрики между установками Graphite для сценариев DR, например.
- Ledbetter
- Простая скрипт для сбора статистики проблем Nagios и отправки их в Graphite. Он фокусируется на сводной (общей, группе сервисов и группе хостов) статистике и записывает ее в пространство имен метрик nagios.problems в Graphite.
- pipe-to-graphite
- Небольшая оболочка скрипта, которая упрощает отправку вывода любой другой программы CLI в Graphite.
- Polymur
- Быстрый инструмент для реле и HTTPS-перенаправлений, написанный на Go.
- statsd
- Простой демон для лёгкой агрегации статистики, разработанный компанией Etsy. Список форков и альтернативных реализаций можно найти по адресу <http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/>
Визуализация
- Уголь
- Простой фронтенд Sinatra для графиков Graphite или любого другого сервиса статуса системы, который может генерировать изображения непосредственно из URL-адреса. Конфигурация Charcoal управляется файлом конфигурации YAML.
- Декарт
- Панель управления на основе Sinatra, которая позволяет пользователям коррелировать несколько метрик в одном графике, анализировать долгосрочные тенденции по одному или нескольким графикам и сотрудничать с другими пользователями с помощью совместно используемых панелей управления и богатых макетов.
- Сумерки
- Простая панель управления для изоляции «горячих точек» в группе систем. Она включает графики горизонтального вида с использованием Cubism.js для максимального визуального отображения данных в ограниченном пространстве.
- Светлячок
- Веб-приложение, предназначенное для мощного и гибкого графического отображения временных рядов для веб-разработчиков.
- Gdash
- Простая панель управления Graphite, созданная с использованием Bootstrap от Twitter, управляемая небольшим DSL.
- Жираф
- Панель управления Graphite в реальном времени, основанная на Rickshaw и не требующая серверного бэкенда. На вдохновении от Gdash, Tasseo и Graphene он объединяет функции всех трех в несколько ином виде.
- Grafana
- Панель управления общего назначения для Graphite, с богатым функционалом по редактированию графиков и созданию панелей управления. Она содержит уникальный парсер целей Graphite, который позволяет легко редактировать метрики и функции. Быстрое отображение на стороне клиента (даже при больших временных интервалах) с использованием Flot со множеством вариантов отображения (множественные оси Y, столбцы, линии, точки, интеллектуальные форматы осей Y и многое другое). Выделение областью с помощью мыши для масштабирования любого графика.
- Graphene
- Комплект инструментов для панелей управления Graphite, основанный на D3.js и Backbone.js, призванный обеспечить очень эстетичную панель управления в реальном времени. Graphene предоставляет решение, способное отображать тысячи и тысячи точек данных, все обновляющиеся в реальном времени.
- graphite-dashboardcli
-
Инструмент для управления панелями управления Graphite из командной строки:
- импорт/экспорт панелей управления с серверов Graphite
- синхронизация панелей управления между несколькими серверами Graphite
- сохранение панелей управления в формате YAML
- Graphite-Tattle
- Фронтенд панели управления для Graphite и Ganglia с возможностью самообслуживания.
- Graphiti
- Мощный фронтенд панели управления с акцентом на простоту доступа, восстановления и настройки.
- Graphitoid
- Приложение для Android, которое позволяет просматривать и отображать графики Graphite на устройстве Android.
- graphitus
- Клиентская панель управления для Graphite, созданная с использованием Bootstrap и underscore.js.
- Graphsky
- Гибкая и простая в настройке панель управления на PHP. Она использует файлы шаблонов JSON для построения графиков и определения, какие графики нужно отображать когда, аналогично Ganglia-web. Подобно Ganglia, она использует иерархическую структуру: Среда/Кластер/Хост/Метрика для отображения общих графиков и метрик, специфичных для хоста. Она общается напрямую с API Graphite, чтобы определить, какие Среды, Кластеры, Хосты и Метрики в настоящее время хранятся в Graphite.
- Graph-Explorer
- Панель управления Graphite, которая использует плагины для добавления тегов и метаданных к метрикам, и язык запросов, позволяющий фильтровать их и составлять/манипулировать графиками на лету. Также ориентирована на высокую интерактивность с помощью TimeseriesWidget и минимальную сложность настройки и запуска.
- Graph-Index
- Индекс графиков для Diamond.
- Hubot
- Бот для Campfire, написанный на Node.js и CoffeeScript. Связанный проект hubot-scripts включает скрипт Graphite, который поддерживает поиск и отображение сохраненных графиков из каталога Composer в ваших комнатах Campfire.
- Leonardo
- Панель управления Graphite, вдохновленная Gdash. Она написана на Python с использованием фреймворка Flask. Интерфейс создан с использованием Bootstrap. Графики и панели управления настраиваются через файлы YAML.
- Орион
- Мощный инструмент для создания, просмотра и управления панелями управления вашими данными Graphite. Он позволяет легко реализовать пользовательскую аутентификацию для управления доступом к панели управления.
- Карандаш
- Мониторинговый фронтенд для Graphite. Он запускает веб-сервер, который выдает красивые URL-адреса Graphite в интересных и интуитивных макетах.
- Targets-io
- Приложение панели управления для организации, анализа, сравнения производительности и создания отчетов по результатам тестов производительности. Все метрики тестов производительности хранятся в Graphite и могут быть сравниваться между запусками тестов, предоставляя автоматизированную обратную связь о производительности приложения.
- Tasseo
- Легкая, легко настраиваемая панель управления в реальном времени для метрик Graphite.
- Terphite
- Терминальный инструмент для отображения метрик Graphite.
- Tessera
- Гибкий фронтенд для создания панелей управления с широким спектром представлений данных.
- TimeseriesWidget
- Добавляет графики временных рядов на ваши веб-страницы/панели управления с помощью простого API, ориентируется на высокую интерактивность и современные функции (масштабирование в реальном времени, инспекция точек данных, аннотированные события и т. д.). Поддерживает Graphite, flot, rickshaw и anthracite.
Мониторинг
- Кабот
- Самостоятельный сервер мониторинга и оповещения, который отслеживает метрики Graphite и может отправлять оповещения по телефону, SMS, Hipchat или электронной почте. Он предназначен для развертывания в облаке или на физическом оборудовании в считанные минуты и настраивается через веб-интерфейс.
- graphite-beacon
- Простое приложение оповещения для Graphite. Асинхронное и отправляет оповещения об уведомлениях на основе метрик Graphite. Не имеет зависимостей, кроме пакета Tornado. Очень легкий и очень прост в развертывании.
- graphite-to-zabbix
- Инструмент для создания оповещений Zabbix на основе данных Graphite.
- Icinga
- Icinga 2 будет напрямую записывать метрики в определенный сокет TCP демона Graphite Carbon, если функция graphite включена. Эта функция является более простой интеграцией по сравнению с Icinga 1.x и Graphios.
- Моира
- Система оповещения на основе данных Graphite. Moira — инструмент оповещения в реальном времени, независимый от хранилища Graphite, с настраиваемыми выражениями и расширяемыми каналами уведомлений.
- Rearview
- Фреймворк мониторинга в реальном времени, который работает поверх данных временных рядов Graphite. Это позволяет пользователям создавать мониторы, которые визуализируют и оповещают о данных, поступающих из Graphite. Мониторы представляют собой простые скрипты Ruby, выполняющиеся в защищенной среде для повышения безопасности. Мониторы также конфигурируются с помощью спецификации времени, совместимой с crontab, используемой планировщиком. Оповещения могут быть отправлены по электронной почте, PagerDuty или Campfire.
- Rocksteady
- Система, объединяющая Graphite, RabbitMQ и Esper. Разработанный AdMob (который был затем приобретен Google), этот проект был выпущен Google как открытый исходный код (http://google-opensource.blogspot.com/2010/09/get-ready-to-rocksteady.html).
- Seyren
- Панель управления оповещениями для Graphite.
- Shinken
- Решение мониторинга систем, совместимое с Nagios, которое уделяет особое внимание масштабируемости, гибкости и простоте настройки. Shinken обеспечивает полную интеграцию с Graphite для обработки и отображения данных производительности.
- Skyline
- Система обнаружения/отклонения аномалий, которая получает все данные метрик Graphite в режиме реального времени через carbon-relay pickle и анализирует каждый временной ряд для обнаружения аномалий, резких спадов, пользовательских порогов, обрабатывает множественную сезонность, записывает все аномалии и взаимосвязывает все метрики с аномалиями в целях анализа причин. Skyline также может обучаться тому, что не является аномалией, и после этого может самостоятельно выучить, что не является аномалией, используя метод сравнения сходств временных рядов. Он может отправлять оповещения по SMTP, Hipchat и PagerDuty.
Альтернативы хранилища
Если вы хотите использовать другой бэкенд для Graphite, кроме Whisper, у вас есть несколько вариантов.
- BigGraphite
- База данных временных рядов, написанная на Python поверх Cassandra. Она интегрируется с Graphite как плагин.
- carbon-clickhouse
- Приёмник метрик Graphite с ClickHouse в качестве хранилища. Вам также понадобится graphite-clickhouse в качестве бэкенда для Graphite-web.
- cassabon
- Сервер Carbon, использующий Cassandra в качестве бэкенда, написанный на Go. Он также выступает в качестве API для Graphite (используя читатель Cyanite), чтобы получать статистику для отображения.
- Ceres
- Альтернативный бэкенд хранилища, предоставленный проектом Graphite. Предполагается, что это будет распределённая база данных временных рядов. В настоящее время находится в стадии предварительного выпуска.
- Cyanite
- Высокодоступное, масштабируемое хранилище временных рядов с низкой задержкой, написанное поверх Cassandra.
- graphite-clickhouse
- Бэкенд Graphite-web с поддержкой ClickHouse. Также см. carbon-clickhouse.
- Graphouse
- Graphouse позволяет использовать ClickHouse в качестве хранилища Graphite.
- go-carbon
- Реализация сервера Graphite/Carbon на Go с классической архитектурой: Агент -> Кэш -> Хранилище.
- influxgraph
- Бэкенд Graphite для InfluxDB. Поиск/плагин хранилища InfluxDB для API Graphite.
- Kenshin
- Альтернатива базе данных временных рядов Graphite Whisper с улучшением производительности IOPS в 40 раз. Интегрируется с Graphite как плагин.
- metrictank
- База данных временных рядов с поддержкой множественных арендаторов, на основе Cassandra и метрик 2.0 для Graphite и других.
Другие
- bosun
- Фреймворк для оповещений о временных рядах. Может использовать Graphite как источник временных рядов.
- carbonapi
- Третья реализация graphite-web на Go, которая поддерживает значительный подмножество функций graphite. В некоторых тестах показана скорость в 5-10 раз выше, чем при запросе данных от graphite-web.
- Bryans-Graphite-Tools
- Коллекция различных скриптов для извлечения данных с различных устройств, F5, Infoblox, Nutanix и т.д.
- buckytools
- Реализация на Go полезных инструментов для работы с Whisper DB Graphite и хэшированием Carbon.
- carbonate
- Утилиты для управления кластерами graphite.
- graphite-remote-adapter
- Полностью функциональный удалённый адаптер graphite для Prometheus.
- riemann
- Система обработки потоков сетевых событий на Clojure. Может использовать Graphite как источник потока событий.
- Therry
- Простая веб-служба, кэширующая метрики Graphite и предоставляющая конечную точку для выгрузки или поиска по ним по подстроке.
© 2008–2012 Chris Davis
© 2011–2016 The Graphite Project
Licensed under the Apache License, Version 2.0.
https://graphite.readthedocs.io/en/latest/tools.html