Spec-Zone.ru › OpenTSDB

Плагины

OpenTSDB 2.0 представил систему плагинов, позволяющую различным участникам быстро и легко настраивать свои TSD. Этот документ предоставляет общий обзор системы плагинов и ссылки на некоторые доступные реализации.

Общие сведения

Плагины загружаются во время выполнения TSD или утилитой командной строки. После запуска программы или демона конфигурацию плагинов изменить нельзя. Для применения изменений необходимо перезапустить программу.

Плагины представляют собой JAR-файлы, которые необходимо загрузить в каталог, доступный OpenTSDB. После создания каталога он должен быть указан в файле конфигурации opentsdb.conf с помощью свойства tsd.core.plugin_path. Если плагин имеет зависимые JAR-файлы, которые не были скомпилированы в плагин и не находятся в стандартном пути поиска классов, их также необходимо скопировать в этот каталог плагинов.

После размещения JAR-файлов их необходимо выбрать в файле конфигурации для указанного типа плагина. Обычно это полное имя класса Java, например, «net.opentsdb.search.ElasticSearch». Каждый плагин также должен иметь свойство «enabled», которое должно быть установлено в значение true, чтобы плагин был загружен. Плагины также могут иметь параметры конфигурации, которые необходимо добавить в файл opentsdb.conf перед их корректной работой. См. документацию плагина. Подробности см. в разделе Настройка.

При запуске TSD или утилиты командной строки ряд ошибок может помешать успешному запуску из-за проблем с плагинами. Если возникнет проблема, в логах должна появиться исключительная ситуация, связанная с плагином. Некоторые рекомендации по устранению неполадок включают:

  • Убедитесь, что tsd.core.plugin_path настроено
  • Проверьте, что путь доступен для пользователя, под которым работает OpenTSDB, т.е. проверьте права доступа
  • Проверьте наличие опечаток в файле конфигурации. Регистр имеет значение для имён плагинов.
  • Плагин может не иметь доступа к необходимым зависимостям. Если у него есть зависимости, которые не включены в OpenTSDB или не упакованы в собственный JAR-файл, вам необходимо поместить зависимости в каталог плагинов.
  • Плагину могут потребоваться настройки конфигурации для его инициализации. Прочитайте документацию и проверьте, недостает ли чего-либо.

Примечание

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

Ведение журнала

Плагины и их зависимости могут быть довольно «болтливыми», поэтому вы можете настроить параметры Logback, чтобы уменьшить количество сообщений.

Сериализаторы

Интерфейс HTTP API предоставляет систему плагинов для сериализации и десериализации данных в форматах, отличных от стандартного JSON. Для этих плагинов имя плагина или флаг включения не требуются в файле конфигурации. Достаточно просто поместить плагин в каталог плагинов, и он будет загружен при запуске TSD. При запуске можно загрузить несколько плагинов сериализаторов. Плагины сериализаторов могут потребовать параметров конфигурации, поэтому перед использованием ознакомьтесь с документацией.

Плагины

На данный момент нет реализаций, кроме стандартной.

Запуск и обнаружение служб

OpenTSDB иногда используется в средах, где требуется дополнительная инициализация или регистрация, помимо того, что OpenTSDB может сделать по умолчанию. Можно включить плагины запуска, которые будут вызываться при инициализации OpenTSDB, когда он готов обслуживать трафик и при его выключении. Свойство tsd.startup.plugin можно использовать для указания класса плагина, а tsd.startup.enable укажет OpenTSDB на попытку загрузки плагина запуска.

Примечание

Добавлено в 2.3.0

Плагины

  • Плагин идентификации - пример плагина, который ничего не делает, но может использоваться в качестве отправной точки для будущих плагинов запуска и для тестирования механизма регистрации.
  • Apache Curator - бета-плагин, который можно использовать для регистрации OpenTSDB в Zookeeper с помощью механизма обнаружения служб Apache Curator.

Поиск

OpenTSDB может передавать метаданные и аннотации в поисковую систему для сложного запроса. Для TSD можно включить один плагин поиска для отправки данных или выполнения запросов. Свойство tsd.search.plugin позволяет выбрать плагин поиска, а tsd.search.enable начнёт отправку данных и запросов. Плагины поиска будут загружены TSD и выбранными инструментами командной строки, такими как утилита UID Manager.

Плагины

  • Elastic Search - бета-плагин, который подключается к кластеру Elastic Search

Публикация в реальном времени

Каждое получаемое TSD значение может быть отправлено в другое место назначения для обработки в реальном времени. Одновременно можно включить только один плагин для этого типа. Свойство tsd.rtpublisher.plugin позволяет выбрать плагин, а tsd.rtpublisher.enable начнёт отправку данных.

Плагины

  • RabbitMQ - плагин, демонстрирующий возможность публикации в кластер RabbitMQ по имени метрики
  • Skyline - плагин, демонстрирующий возможность публикации в процессор Etsy Skyline

RPC

Встроенно OpenTSDB поддерживает прием точек данных через Telnet или HTTP. Интерфейс плагина RPC позволяет пользователям реализовать и выбрать альтернативные протоколы, такие как Protobuf, Thrift, Memcache или любые другие способы хранения информации. Одновременно можно загрузить несколько плагинов с помощью свойства tsd.rpc.plugins или tsd.http.rpc.plugins`. Просто перечислите имена классов всех плагинов RPC, которые вы хотите загрузить, разделенных запятыми, если их несколько. Плагины RPC инициализируются только при запуске TSD.

Плагины

На данный момент нет реализаций.

Обработчик исключений хранения

Если запись в базовом слое хранения по какой-либо причине завершается неудачей, возникает исключение. В этом случае, если включен плагин обработчика исключений хранения, точки данных, которые не удалось записать, можно повторно обработать в более позднее время, сохранив их на диск или передав в систему обмена сообщениями. (v2.2)

Плагины

На данный момент нет реализаций.

Плагин HTTP RPC

Это интерфейс, используемый для реализации дополнительных конечных точек API HTTP для OpenTSDB. (v2.2)

Плагины

На данный момент нет реализаций.

© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/user_guide/plugins.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API