Blueflood
Последнее изменение этой страницы: 01:12, 27 февраля 2019.
![]() Логотип Blueflood | |
Разработчики: | Rackspace |
---|---|
Выпущена: | 2013 |
Постоянный выпуск: | v2.0 / 16 August 2017 года |
Состояние разработки: | Активное |
Написана на: | C |
Операционная система: | OS X и Linux |
Локализация: | Английский |
Тип ПО: | DBMS |
Лицензия: | Apache License |
Веб-сайт |
blueflood |
Blueflood - это система управления базами данных и мультитенантная распределенная система обработки метрик с высокой пропускной способностью и низкой задержкой, которая используется в Rackspace Metrics и в настоящее время используется в производстве командой Rackspace Monitoring и Rackspace Public Cloud для хранения метрик, созданных их системами.
Содержание
О БД
Данные Blueflood могут использоваться для построения панелей мониторинга, генерации отчетов, графиков или для любого другого использования, включающего данные временных рядов. Он фокусируется на данных, близких к реальным, с данными, которые можно запросить за миллисекунды после приема.
Blueflood был создан командой Rackspace Monitoring в Rackspace для управления необработанными метриками, созданными в системе контроля Rackspace. Blueflood теперь в значительной степени продвигается командой Rackspace Metrics, которая предоставляет Blueflood-as-a-Service в качестве бесплатного сервиса. С момента создания продукта с открытым исходным кодом несколько других крупных компаний начали использовать данный инструмент.
Blueflood является открытым исходным кодом под лицензией Apache 2.0.
Описание | СУБД на основе Cassandra |
Модель первичной базы данных | СУБД с временными рядами |
Web-сайт | Blueflood.io |
Разработчик | Rackspace |
Первый выпуск | 2013 |
Лицензия | Открытый исходный код |
Язык реализации | Java |
Серверные операционные системы | Linux, OS X |
Схема данных | Предопределенная схема |
API и другие методы доступа | HTTP REST |
Методы разделения | Sharding |
Методы репликации | Выбираемый коэффициент репликации |
Концепции согласованности | Конечная согласованность
Немедленная согласованность |
Структура
Данные хранятся с использованием Cassandra, чтобы сделать Blueflood отказоустойчивым и доступным. В отличие от предков, таких как CarbonDB или RRDTool, ваш кластер Blueflood может расширяться по мере роста ваших показателей. Просто добавьте узлы Cassandra.
Написанная на Java, Blueflood существует как кластер распределенных сервисов. Вы отправляете показатели в службу ingestion. Вы запрашиваете свои показатели из службы запросов. В фоновом режиме накопительные пакеты обрабатываются в автономном режиме, так что запросы на большие периоды времени возвращаются быстро. В фоновом режиме, накопительные пакеты обрабатываются в автономном режиме, так что запросы на большие периоды времени возвращаются быстро.
Функции
Доступные функции:
- Загружает необработанные метрические точки данных в виде числовых, строковых или логических значений через интерфейсы Scribe или HTTP.
- Сокращает необработанные числовые данные в агрегации за 5, 20, 60, 240 и 1440 минут, которые обеспечивают: минимальное, максимальное, среднее, дисперсию и количество представленных точек необработанных данных.
- Поддерживает масштабное развертывание и развертывание в нескольких центрах обработки данных с большой степенью гибкости.
- Поддерживает конфигурации высокой доступности. Blueflood может быть настроен с высокой степенью избыточности и отказоустойчивости.
Будущие возможности
Возможности, которые появятся в будущем:
- Предварительно агрегированные накопления. Это позволит пользователям отправлять данные из агрегаторов метрик, таких как StatsD.
- Лучшая поддержка запросов. В настоящее время любое агрегирование времени рендеринга должно быть применено к клиентской части.
- Открытие метрики. Интеграция с Elasticsearch, позволит пользователям выполнять запросы. Это, как минимум, позволит использовать глобальную запись при запросе метрических данных.
Принцип работы
Cassandra - Blueflood использует Cassandra в качестве хранилища данных. Zookeeper - Обязанности по вычислению накопительных пакетов обрабатываются с помощью шардинга, управляемого через Zookeeper. Отдельные узлы могут отвечать за одну или несколько ролей.
- Ingestion: узел будет отвечать за потребление данных через HTTP-интерфейс.
- Rollup: узел будет выполнять вычисления с понижающей дискретизацией и суммировать необработанные данные, сохраняя агрегаты с более низким разрешением.
- Query: узел будет обрабатывать входящие запросы на основе HTTP, возвращая необработанные или агрегированные данные для заданного временного окна.
Также можно настроить количество ресурсов, выделяемых для задач, связанных с каждой ролью, что дает пользователям полный контроль над оптимизацией Blueflood для их собственной уникальной конфигурации кластера и шаблонов использования.
CASSANDRA_HOST | IP-адрес Cassandra seed. (Обязательно) |
ELASTICSEARCH_HOST | IP-адрес узла Elasticsearch. (Обязательно) |
CASSANDRA_DRIVER | Тип драйвера для подключения к C * - astyanax для экономичного протокола (рекомендуется для C * <2.1), dasastax для собственного протокола cql (рекомендуется для C *> 1.2) |
MAX_ROLLUP_THREADS | Максимальное количество потоков в метриках |
MAX_CASSANDRA_CONNECTIONS | Максимальное количество соединений с каждым узлом Cassandra |
INGEST_MODE | Стоит ли запускать сервис Ingest |
ROLLUP_MODE | Стоит ли запускать сервис Rollup |
QUERY_MODE | Стоит ли запускать сервис Query |
LOG_LEVEL | Уровень регистрации BF-сервисов |
INITIAL_HEAP_SIZE | Начальный размер кучи, выделяемой процессу BF. |
MAX_HEAP_SIZE | Максимальный размер кучи, выделяемой процессу BF. |
GRAPHITE_HOST | IP-адрес хоста Graphite - это монитор контейнера |
GRAPHITE_PORT | Линейный порт хоста Graphite для контроля контейнера |
GRAPHITE_PREFIX | Префикс для графических метрик. |
Начало работы
Есть несколько разных способов, с которыми вы можете начать работу с Blueflood:
Способ 1: Docker
Предполагает установку git и docker-compose:
git clone https://github.com/rackerlabs/blueflood.git cd blueflood/contrib/blueflood-docker-compose/ docker-compose up -d
Способ 2: Vagrant
Предполагая, что Vagrant и VirtualBox установлены:
mkdir blueflood_demo; cd blueflood_demo vagrant init blueflood/blueflood; vagrant up
Источники
- Официальный сайт Blueflood // blueflood [2013-2018]. Дата обновления: 2015. URL: http://blueflood.io/ (дата обращения: 1.10.2018)
- GitHub Blueflood // github [2008-2018]. Дата обновления: 3.06.2018. URL: https://github.com/rackerlabs/blueflood (дата обращения: 1.10.2018)
- Detailed overview of the characteristics of Blueflood // db-engines [2012-2018]. URL: https://db-engines.com/en/system/Blueflood (дата обращения: 7.10.2018)
- Blueflood: A new Open Source Tool for Time Series Data at Scale // rackspace [1998-2018]. Дата обновления: 22.08.2018. URL: https://developer.rackspace.com/blog/blueflood-announcement/ (дата обращения: 7.10.2018)
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.