Axibase Time Series Database

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:06, 7 марта 2019.
Axibase
Asdt logo.png
Разработчики: Axibase Corporation
Выпущена: 2004 год
Состояние разработки: активное
Операционная система: Кросс-платформенное
Локализация: Английский язык
Тип ПО: База Данных
Лицензия: Subscription и Perpetual [Источник 1]
Веб-сайт axibase.com

Axibase (англ. Axibase Time Series Database - База данных временных рядов) - это нереляционная база данных, оптимизированная для сбора, хранения и анализа временных данных из ИТ-инфраструктуры, промышленного оборудования, интеллектуальных счетчиков и устройств IoT[Источник 2]. ATSD позволяет:

  • Консолидировать данные;
  • Отображать аналитику;
  • Ускорить разработку;
  • Использовать панели инструментов;
  • Упростить разработку;
  • Автоматизировать оповещения;

Содержание

Архитектура

Рисунок 1 - Архитектура ASDT

ATSD обеспечивает ядро базы данных, а также необходимые инструменты для интеграции с конвейером данных клиента.

Поддерживаемые среды

Реестр изображений: Docker Hub[Источник 3], каталог контейнеров RedHat, Kubernetes

Режим: нераспределенный [Источник 4]

Поддерживаемые дистрибутивы Linux: RedHat, CentOS, Ubuntu, Debian, SLES[Источник 5][Источник 6]

RPM / DEB пакеты

apt / yum хранилища

Режим: нераспределенный

Файловая система: ext4 (Local) [Источник 7]

[[AWS (Amazon Web Services)|AWS Elastic MapReduce (EMR)]

Режим: распределенный

Файловая система: AWS EMRFS / S3 [Источник 8]

Cloudera Hue

Режим: распределенный

Файловая система: HDFS [Источник 9]

Модели данных

В ATSD имеется 3 модели данных: Серии(Series), Свойства(Properties) и Сообщения(Messages).

Серии(Series)

Рисунок 2 - Пример использования серий

Временные ряды (Time series) - это индекс наблюдений с указанием времени, каждый из которых описывается меткой времени и числовым значением.

date         time       value   annotation
2018-05-20   00:15:00   17.4
2018-05-20   00:20:00   18.0
2018-05-20   00:15:00    0.0    invalid reading
2018-05-20   00:20:00   17.6

Каждая серия уникально идентифицируется составным ключом, состоящим из метрики, объектов и необязательных пар ключ-значение, называемых тегами.

  • Метрика(Metric) представляет собой имя измеримого числового атрибута, такого как «загрузка CPU» или «температура».
  • Объект(Entity) - это контролируемый физический или логический объект, например, «nurswgvml007» (имя хоста) или «eia.gov» (организация).
  • Теги(Tags) обеспечивают дополнительный уровень детализации наблюдения, например, «монтирование» диска для метрики «df.bytes.percentused».

Значения рядов со временем меняются, и их историю можно анализировать с помощью SQL и визуализировать с помощью графиков разных типов. Приведенные выше серии образцов можно определить следующим образом:

metric: Temperature
entity: Br1740
tags:   part=Enclosure

Значения рядов со временем меняются, и их историю можно анализировать с помощью SQL и визуализировать с помощью графиков(см. рис.1). Динамический пример доступен по ссылке [Источник 10]

Свойства(Properties)

Свойство - это коллекция произвольных пар ключ-значение, описывающих данный объект, сгруппированных по пользовательскому типу. Запись свойства однозначно идентифицируется по типу, сущности и необязательным ключам. В отличие от ряда, запись свойства хранит только самые последние значения. Значения хранятся в виде текста.

Например, тип disk_info для объекта может хранить такие свойства, как disk_type, disk_model и т. Д. Схема свойств аналогична следующему реляционному представлению:

 1  CREATETABLE disk_info (
 2   entity VARCHAR(64),
 3   TIME TIMESTAMP,
 4   disk_name VARCHAR(64),
 5   disk_type VARCHAR(64),
 6   disk_status VARCHAR(64),
 7   disk_model VARCHAR(64),
 8   disk_size VARCHAR(64),
 9   PRIMARY KEY (entity, disk_name)
10 );

Динамический пример доступен по ссылке [Источник 11]

Сообщения(Messages)

Рисунок 3 - Пример использования сообщений

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

date         time       type   source    message
2018-05-20   00:00:00   etl    cp-data   backup job started
2018-05-20   00:42:00   etl    cp-data   backup job completed

Динамический пример доступен по ссылке

Записи Series, Property и Message всегда связаны с объектом.

Рисунок 4 - Пример объекта

[Источник 12]

Установка

Добавление репозиториев

Добавьте следующую строку в /etc/apt/sources.list, чтобы включить пакеты Java 8.

deb http://security.ubuntu.com/ubuntu bionic-security main universe

Обновление репозиториев

sudo apt-get update

Добавление репозитория ATSD

Добавьте axibase.com/public/repository/deb/ репозиторий

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
--recv-keys 26AEE425A57967CFB323846008796A6514F3CB79

sudo sh -c 'echo "deb [arch=amd64] http://axibase.com/public/repository/deb/ ./" \
>> /etc/apt/sources.list.d/axibase.list'

Обновление репозиториев и установка ATSD

Установить ATSD:

sudo apt-get update && sudo apt-get install atsd

Инициализация базы данных может занять до пяти минут.

Проверка установки

tail -f /opt/atsd/atsd/logs/start.log

Следите за сообщением о завершении ATSD в конце файла start.log.

Веб-интерфейс теперь доступен через порт 8443 (HTTPS). [Источник 13]

Возможности ASDT

Подготовка

Вход в Вашу ASDT осуществляется по адресу https://atsd_hostname:8443/

Рисунок 5 - Интерфейс ASDT

Описание объекта исследования

Операции, вставка и анализ измерения температуры, полученные с гипотетического биореактора, такого как реактор с неподвижной головкой Парра, изображенный на рисунке 6.

Рисунок 6 - Наш гипотетический биореактор

В реальной ситуации такие измерения постоянно собираются специализированными контроллерами как часть системы SCADA на заводе.

Чтобы отличить это оборудование от других заводских активов, мы будем ссылаться на реактор с использованием идентификатора в системе управления активами:

br-1905

Запись данных

ATSD имеет множество интерфейсов для записи данных: клиентское API, парсинг CSV и конечные точки REST API, но самый простой способ ввода данных - вручную, т.е. отправить образцы в виде последовательности команд «Данные» -> «Ввод данных» (см. Рис.7).

Рисунок 7 - «Данные» -> «Ввод данных»

Затем выберите Series(Серии) (см. Рис. 8)

Рисунок 8 - Выбор серий

Введите br-1905 в поле Entity. В качестве универсальной базы данных ATSD использует объекты в качестве общего термина для обозначения отслеживаемого объекта. В этом случае объект является синонимом устройства.

Введите температуру в поле Метрика(Metric).

Поле Time/Value требуетcя только того, чтобы был завершен правильный компонент Value. Введите гипотетическое значение. При желании укажите время в формате ISO. Если оставить это поле пустым, отметка времени будет установлена на текущее время с помощью ATSD (см. Рис.9).

Рисунок 9 - Ввод данных для серий

В реальном производственном процессе температура самого оборудования измеряется как наружная температура, а температура соединения внутри реактора записывается как температура продукта.

На рисунке 10 приведен пример температурного графика.

Рисунок 10 - Пример температурного графика

Продолжайте вводить числа в поле «Значение» и нажимайте кнопку «Отправить», например, 20, 22, 30, 22. Эти записи теперь хранятся в базе данных в виде серии, содержащей несколько наблюдений time: value. [Источник 14]

Просмотр статистики

Рисунок 11 - Статистика

Нажмите значок Statistics (см. рис.9), чтобы просмотреть сводную информацию о серии(см. рис.10).

Рисунок 11 - Cводная информация о серии

Вставка исходных данных

Чтобы заполнить базу данных начальными показаниями температуры, откройте вкладку «Commands»(команды) и отправьте эти команды, созданные с помощью циклов. Результат представлен на рисунке 12.

<#list 1..20 as i>
series s:${(nowSeconds - i * 600)?c} e:br-1905 m:temperature=${(60 - 2*i)?c}
</#list>
Рисунок 12 - Результат заполнения БД показаниями температуры

Визуализация данных

Рисунок 13 - Статистика

Нажмите значок Portal, чтобы просмотреть график по умолчанию для текущего температурного ряда.

В качестве альтернативы введите https://atsd_hostname:8443/portals/series?entity=br-1905&metric=temperature температура в адресную строку для просмотра портала.

Портал содержит временную диаграмму (диаграмма представлена на рисунке 14), отображающую средние значения за последние 24 часа.

Рисунок 14 - Временная диаграмма, отображающая данная за последние 24 часа

В верхнем правом углу выберите тип данных детализации, чтобы просмотреть детализированные значения, вставленные предыдущим шагом.

Нажмите all в элементе управления временным диапазоном, чтобы просмотреть все доступные данные, или используйте колесо мыши, чтобы увеличить и переместить ось времени на более короткий интервал времени.

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

Добавление метаданных

Описание оборудования

На этом этапе вы собрали температурные наблюдения от химического реактора br-1905. Измерения сохраняются в базе данных как последовательный объект, содержащий последовательность времени: выборки значений, которые можно анализировать и графически представлять.

Дата Значение
2018-06-01T13:23:25Z 20
2018-06-01T13:23:59Z 22
2018-06-01T13:24:16Z 30
2018-06-01T13:24:24Z 22

Чтобы лучше организовать данные, классифицируйте объект br-1905 и уточните, какую температуру имеет устройство.

Рисунок 15 - Статистика

Откройте страницу объектов в левом меню веб-интерфейса ATSD и найдите br-1905 (см. Рис.15). Панель поиска поддерживает подстановочные знаки и частичное совпадение.

Откройте редактор объектов, чтобы описать объекты с помощью пользовательских тегов, специфичных для данного домена или отрасли.

Установите Label на BR-1905, часовой пояс на США / Тихий океан и установите несколько пользовательских тегов (cм. Рис.16):

type = bioreactor
model = 4520-1
manufacturer = Parr Instruments
reference_url = https://www.parrinst.com/products/stirred-reactors/series-4520-1-2l-bench-top-reactors/
site = SVL
building = A
Рисунок 16 - Описание объектов с помощью пользовательских тэгов

Теги объектов предоставляют собой расширяемый механизм для создания универсальной базы данных, специфичной для текущего домена.

Определите теги и нажмите «Create Tag Template», чтобы сохранить текущую схему тегов в качестве шаблона, который можно назначить объектам, имеющим одинаковые теги.

Описание метрик

Откройте Metrics левом меню и найдите температуру. Панель поиска поддерживает подстановочные знаки и частичное совпадение.

Metric Editor предоставляет дополнительные поля, такие как единицы измерения, точность и сезонность, для описания измеренных атрибутов.

Установите Label на Температуру и установите оставшиеся поля (cм. Рис.17):

units = Celsius
min_value = 0
max_value = 1000
Рисунок 17 - Metric Editor

Обновите страницу Cтатистики Cерии (Series Statistics), которая теперь отображает соответствующие метаданные и метаданные сущности (по адресу: https://atsd_hostname:8443/series/statistics?entity=br-1905&metric=temperature см. Рис.18).

Рисунок 18 - Метрика объектов

[Источник 15]

Ввод данных

Сетевые команды

Сетевые команды предоставляют компактный синтаксис для вставки данных как временных рядов, так и метаданных:

command_name field_prefix:[field_name=]field_value

Откройте консоль и отправьте эти команды в ATSD:

echo -e "series e:br-1905 m:temperature=25" \
  > /dev/tcp/atsd_hostname/8081
echo -e "entity e:br-1905 t:serial_number=N12002" \
  > /dev/tcp/atsd_hostname/8081

Обновите страницу Cтатистики Cерии (Series Statistics) и Редактор Объектов (Entity Editor), чтобы убедиться, что образец температуры получен, а тег сущности series_number установлен базой данных (см. Рис.19).

Рисунок 19 - Установка тэгов на сетевой объект

Взаимодействие с REST API

Хотя сетевые команды оптимизированы для записи данных, REST API предоставляет конечные точки для записи и чтения данных, отправляя HTTP-запросы в формате JSON.

Отправка значений в определенное время

Откройте консоль и отправьте отдельное наблюдение с определенной датой-временем в Серию: Вставьте endpoint. Замените <username> на свое имя пользователя:

curl https://atsd_hostname:8443/api/v1/series/insert \
  --insecure -w "%{http_code}\n" \
  --user <username> \
  --header "Content-Type: application/json" \
  --data '[{"entity": "br-1905", "metric": "temperature", "data": [{ "d": "2018-06-01T14:00:00Z", "v": 17.0 }]}]'

Полезная нагрузка, передаваемая в базу данных, представляет собой документ JSON, содержащий ключ серии и массив образцов datetime: value. Данные массива могут содержать любое количество выборок:

[{
   "entity": "br-1905",
   "metric": "temperature",
   "data": [
     { "d": "2018-06-01T14:00:00Z", "v": 17.0 },
     { "d": "2018-06-01T14:05:00Z", "v": 17.5 }
   ]
}]
Отправка значений в текущее время

Отправьте измененную версию, в которой дата и время установлены на текущее время, с помощью команды: ##i##date -u + "% Y-% m-% dT% H:% M:% SZ".

curl https://atsd_hostname:8443/api/v1/series/insert \
   --insecure -w "%{http_code}\n" \
   --user <USER> \
   --header "Content-Type: application/json" \
   --data '[{"entity": "br-1905", "metric": "temperature", "data": [{ "d": "'$(date -u +"%Y-%m-%dT%H:%M:%SZ")'", "v": 19.0 }]}]'

Перезагрузите страницу статистики серии и обратите внимание на новые значения.

Отправка значений непрерывно

Замените <username>: <password> учетными данными пользователя в приведенной ниже команде curl, чтобы каждые пять секунд отправлять в базу данных случайные значения от 20 до 40.

for i in {1..100}; do \
RANDOM_TEMPERATURE=$((20 + RANDOM % 20)); echo "send ${RANDOM_TEMPERATURE}"; \
curl https://atsd_hostname:8443/api/v1/series/insert \
   --insecure -w "%{http_code}\n" \
   --user <username>:<password> \
   --header "Content-Type: application/json" \
   --data '[{"entity": "br-1905", "metric": "temperature", "data": [{ "d": "'$(date -u +"%Y-%m-%dT%H:%M:%SZ")'", "v": '"$RANDOM_TEMPERATURE"' }]}]'; \
sleep 0.5; \
done

CSV файлы

CSV является одним из наиболее часто используемых табличных форматов. Несмотря на широкое использование, формат остается нестандартизированным. ATSD предоставляет гибкий анализатор CSV, который преобразует файлы CSV любой композиции в структурированные записи базы данных.

Создайте файл CSV temperature.csv:

1 date,asset,temperature
2 2018-Jun-01 00:00:00,BR-1905,32.5
3 2018-Jun-01 00:30:00,BR-1905,31.5
4 2018-Jun-01 01:00:00,BR-1905,30.0
5 2018-Jun-01 01:30:00,BR-1905,29.0
6 2018-Jun-01 02:00:00,BR-1905,25.0

Откройте «Data» -> «CSV Parsers» и выберите «Import» из кнопки разделения, расположенной внизу страницы.

Прикрепите temperature_parser.xml и импортируйте парсер.

Откройте «Data» -> «CSV File Upload», прикрепите файл temperature.csv и обработайте его с помощью только что созданного temperature_parser (cм. Рис.20).

Рисунок 20 - Загрузка файла CSV

Откройте страницу CSV Tasks (Задачи CSV) и убедитесь, что количество обработанных строк равно 6.

Рисунок 21 - Отчет по загрузка файла CSV

В этом базовом примере анализатор сопоставляет столбцы файла с полями команд серии на основе имен столбцов, указанных в заголовке. Парсер выполняет следующие конкретные действия:

  • Столбец data отображается в поле datetime и анализируется с помощью шаблона yyyy-MMM-dd HH:mm:ss в часовом поясе UTC, который установлен явно.
  • Столбец asset отображается в поле объекта.
  • Остальные столбцы, включая temperature, автоматически классифицируются как метрические столбцы.
date = '2018-Jun-01 00:00:00' -> datetime = '2018-06-01T00:00:00Z'
asset = 'BR-1905'             -> entity = 'br-1905'
temperature = 32.5            -> metric (temperature) = 32.5

Обновите страницу Series Statistics, чтобы убедиться, что значения из файла CSV присутствуют в базе данных. [Источник 16]

Portals

Создание порталов

Портал - это набор виджетов, отображаемых на одной странице.

Портал может быть определен как шаблонный портал для отображения данных для конкретной сущности, которые передаются в качестве параметра. Портал также может быть обычным, в этом случае объект определяется в тексте конфигурации пользователем. Эти инструкции подробно описывают создание обычного портала для объекта br-1905.

Разверните Portals(Порталы) в верхнем меню и нажмите Create(Создать).

Рисунок 22 - Отчет по загрузка файла CSV
  1. Укажите имя портала.
  2. Установите для портала значение Regular в раскрывающемся списке Type.
  3. Скопируйте следующий текст конфигурации в окно Content(Контент):
 [configuration]
   height-units = 2
   width-units = 2
   timespan = 24 hour
   update-interval = 5 second

 [group]
   widgets-per-row = 2
   [widget]
     type = chart
     [series]
       entity = br-1905
       metric = temperature

  [widget]
     type = gauge
     mode = half
     thresholds = 0, 20, 40, 60, 100
     [series]
       entity = br-1905
       metric = temperature

Вышеупомянутый портал содержит два виджета: 24-часовую линейную временную диаграмму и измерительную диаграмму, показывающую последнее значение.

  1. Нажмите Save (Сохранить)
  2. Чтобы просмотреть портал, нажмите View By Name (Просмотр по имени).

Визуально показано на рисунке 23

Рисунок 23 - Редактирование портала

Получившийся портал показан на рисунке 24:

Рисунок 24 - Портала

Добавление виджетов

Добавьте третью временную диаграмму, которая содержит рассчитанную серию, добавив следующий текст в конфигурацию виджета в окне «Content»:

 [widget]
   type = chart
   mode = stack
   [series]
     entity = br-1905
     metric = temperature
     color = orange
     # multiply values by 2
     replace-value = value * 2

Перезагрузите портал для просмотра нового графика.

Запустите цикл bash, чтобы наблюдать за новыми точками данных, появляющимися на портале.

Просмотрите документацию «Selecting Series Overview» (Выбор серии) и «Charts Documentation» (Документы к диаграммам) для получения дополнительных примеров компоновки.

Метаданные

Библиотека диаграмм (Charts library) предоставляет настройки и функции для добавления метаданных к диаграммам, что исключает ручной тэггинг и лэйблинг.

Добавьте следующие настройки на уровне [configuration], чтобы автоматически встраивать метаданные сущности и метрики в условные обозначения серии (cм. Рис.25):

 legend-position = top
 add-meta = true
 label-format = meta.entity.label: meta.metric.label (meta.metric.units)
Рисунок 25 - Редактирование метаданных портала

Нажмите View By Name для просмотра обновленного портала (см. Рис.26).

Рисунок 26 - Просмотр метаданных портала

[Источник 17]

Экспорт данных

Форма экспорта

В этом разделе показано, как извлечь данные из базы данных с помощью интерактивной формы экспорта данных. Откройте Data -> Export page (Данные -> Экспорт) (см. Рис.27)

Рисунок 27 - Data -> Export

Определите параметры ряда для загрузки данных в виде файла CSV или отображения в формате HTML.

  1. Введите температуру в поле Metric.
  2. Нажмите Name и введите br-1905 как объект.
  3. Измените Data Interval (Интервал Даты) на 1 Quarter (1 Квартал), чтобы выбрать значения для более длительного промежутка времени.
  4. Выберите CSV в разделе Format(Формат).
  5. Нажмите Submit(Отправить) (см. Рис.28).
Рисунок 28 - Экспорт данных

Чтобы экспортировать статистику вместо необработанных значений, разверните раздел Aggregate(Агрегат) и выберите одну или несколько статистических функций в раскрывающемся списке Statistic. Установите период агрегации на 1 день (см. Рис.29).

Рисунок 29 - Агрегат

Результаты также могут быть экспортированы по расписанию в локальную файловую систему или распространены среди подписчиков электронной почты (см. Рис. 30).

Рисунок 30 - Экспорт по электронной почте

Клиентское API

База данных предоставляет встроенное клиентское API для тестирования конечных точек REST API. В этом разделе показано, как экспортировать данные с использованием конечной точки запроса серии.

Откройте страницу Data -> API Client (см. Рис.31).

Рисунок 31 - Data -> API Client

Выберите Series -> Query Detailed в Template (см. Рис.32)

Рисунок 32 - Series -> Query Detailed в Template

Настройте поля startDate и endDate, соответственно замените значения полей entity и metric. Поля даты поддерживают как даты в формате ISO, так и ключевые слова календаря, такие как now:

 [{
   "startDate": "2018-06-01T00:00:00Z",
   "endDate":   "now",
   "entity": "br-1905",
   "metric": "temperature"
 }]

В ответном документе содержатся ключ серии и массив значений time:value :

 [
   {
     "entity": "br-1905",
     "metric": "temperature",
     "tags": {},
     "type": "HISTORY",
     "aggregate": {
       "type": "DETAIL"
     },
     "data": [
       { "d": "2018-06-01T20:10:00.000Z", "v": 15 },
       { "d": "2018-06-01T20:20:00.000Z", "v": 10.8 },
       { "d": "2018-06-01T20:30:00.000Z", "v": 24 }
     ]
   }
 ]

Выполните еще один запрос, чтобы получить интерполированные значения для вышеуказанного ряда (см. Рис.33):

 [{
   "startDate": "2018-06-01T00:00:00Z",
   "endDate":   "now",
   "entity": "br-1905",
   "metric": "temperature",
   "interpolate" : {
     "function": "LINEAR", 
     "period": {"count": 1, "unit": "DAY"}
   }
 }]
Рисунок 33 - Интерполированные значения

[Источник 18]

SQL

ATSD поддерживает синтаксис SQL для гибкого запроса и анализа данных временных рядов. Одним из вариантов, доступных для выполнения специальных SQL-запросов, является встроенная консоль SQL.

Откройте SQL -> SQL Console из главного меню (cм. Рис.34):

Рисунок 34 - Интерполированные значения

Получите пять последних значений для температурного ряда:

1 SELECT entity, metric, datetime, value
2    FROM "temperature"
3 WHERE entity = 'br-1905'
4    AND datetime >= '2018-06-01T00:00:00Z'
5 ORDER BY datetime DESC
6    LIMIT 5

Вывод:

| asset    | model   | metric       | units    | date                 | value |
|----------|---------|--------------|----------|----------------------|-------|
| BR-1905  | 4520-1  | temperature  | Celsius  | 2018-06-04 02:49:00  | 25.0  |
| BR-1905  | 4520-1  | temperature  | Celsius  | 2018-06-04 02:48:45  | 20.0  |
| BR-1905  | 4520-1  | temperature  | Celsius  | 2018-06-04 02:48:30  | 20.0  |
| BR-1905  | 4520-1  | temperature  | Celsius  | 2018-06-04 02:48:15  | 20.0  |
| BR-1905  | 4520-1  | temperature  | Celsius  | 2018-06-04 02:48:00  | 30.0  |

[Источник 19]

Alerting

Создание правил

Откройте страницу Alerts -> Rules (Предупреждения -> Правила) и нажмите кнопку «Сreate», чтобы настроить правило предупреждения для метрики температуры с помощью Rule Enguine (Механизма Правил) (cм. Рис.35).

Рисунок 35 - Alerts -> Rules

Далее нажмите Create (см. Рис.36):

Рисунок 36 - Alerts -> Rules

Следующее условие оценивается как истинное и создает предупреждение, если среднее значение для трех последних выборок превышает 50:

avg() > 50

Далее введите Temperature в поле Metric (cм. Рис.37):

Рисунок 37 - Введите Temperature в поле Metric

Откройте вкладку «Filter» в редакторе правил, чтобы разрешить неупорядоченные значения и отключить временной фильтр, установив для льготного интервала значение 0. В противном случае механизм правил игнорирует измерения с отметкой времени ранее, чем через 1 минуту от текущего времени:

1 Import the rule from XML file temperature_rule.xml.

Вернитесь к Data Entry (Вводу данных) и отправьте несколько команд со значениями больше 50:

series e:br-1905 m:temperature=55

Откройте страницу Alerts -> Open Alerts в главном меню, чтобы просмотреть открытые в данный момент предупреждения (см. Рис.38).

Рисунок 38 - Alerts -> Open Alerts

Теперь вставьте несколько команд с более низкими значениями, чтобы среднее значение трех последних команд было меньше 50:\

series e:br-1905 m:temperature=20

Обновите страницу Open Alerts, чтобы убедиться, что предупреждение о temperature-too-high (о слишком высокой температуре) закрыто.

Email Alerts

Чтобы получать уведомления о предупреждениях по электронной почте, настройте почтовый клиент в меню Settings -> Mail Client (Настройки -> Почтовый клиент).

Откройте редактор правил и включите оповещения на вкладке (Уведомления по электронной почте) (см. Рис.39).

Рисунок 39 - Настройка уведомлений на электронную почту

Сохраните правило и снова вставьте несколько примеров на страницу ввода данных. ATSD отправляет следующее сообщение при превышении порога (см. Рис.40):

Рисунок 40 - Электронное письмо с уведомлением

Slack Alerts

Чтобы получать оповещения в Slack, создайте пользователя бота и настройте SLACK webhook.

Откройте редактор правил и включите оповещения на вкладке Webhooks, как показано на рисунке 41.

Рисунок 41 - Настройка уведомлений для Slack

Сохраните правило и снова вставьте команды на странице ввода данных.

Следующее сообщение появляется в Slack, когда среднее значение превышает 50 для последних трех образцов (см. рис 42).

Рисунок 41 - Уведомление для Slack

[Источник 20]

Источники

  1. ATSD Licensing // axibase.com. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/licensing.html#licensing (дата обращения: 20.01.2019)
  2. Официальный сайт // axibase.com. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/ (дата обращения: 20.01.2019)
  3. Docker Hub // hub docker.com. [2019-2019]. Дата обновления: 05.11.2018. URL: https://hub.docker.com (дата обращения: 20.01.2019)
  4. ATSD Container Images // ATSD installation. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/installation/#container-images (дата обращения: 20.01.2019)
  5. SLES // suse.com. [2019-2019]. Дата обновления: 05.11.2018. URL: https://www.suse.com (дата обращения: 20.01.2019)
  6. SLES // Википедия. [2019-2019] Дата обновления: 05.11.2018. URL: https://ru.wikipedia.org/wiki/SUSE_Linux_Enterprise_Server (дата обращения: 20.01.2019)
  7. Linux Packages // ATSD Installation. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/installation/#linux-packages (дата обращения: 20.01.2019)
  8. AWS Elastic MapReduce (EMR) in installation // ATSD installation. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/installation/#aws-elastic-mapreduce-emr (дата обращения: 20.01.2019)
  9. Cloudera Distribution Hadoop // ATSD Installation. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/installation/#cloudera-distribution-hadoop (дата обращения: 20.01.2019)
  10. ATSD Series // ATSD Schema. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/schema.html#series (дата обращения: 20.01.2019)
  11. ATSD Properties // ATSD Schema. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/schema.html#properties (дата обращения: 20.01.2019)
  12. ATSD Messages // ATSD Schema. [2019-2019]. Дата обновления: 05.11.2018. URL:https://axibase.com/docs/atsd/schema.html#messages (дата обращения: 20.01.2019)
  13. Ubuntu/Debian: apt. Installation Process // ATSD Install. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/installation/ubuntu-debian-apt.html#installation-apt (дата обращения: 20.01.2019)
  14. Writing Data // ATSD Getting Sarted. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/tutorials/getting-started.html#writing-data (дата обращения: 20.01.2019)
  15. Introduction // ATSD Getting Started. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/tutorials/getting-started.html (дата обращения: 20.01.2019)
  16. Inserting Data // ATSD Getting Started. [2019-2019]. Дата обновления: 05.11.2018. URL:https://axibase.com/docs/atsd/tutorials/getting-started-insert.html (дата обращения: 20.01.2019)
  17. ATSD Portals // ATSD Getting Started. [2019-2019]. Дата обновления: 05.11.2018. URL:https://axibase.com/docs/atsd/tutorials/getting-started-portal.html : 20.01.2019)
  18. Exporting Data // ATSD Getting Started. [2019-2019]. Дата обновления: 05.11.2018. URL:https://axibase.com/docs/atsd/tutorials/getting-started-export.html (дата обращения: 20.01.2019)
  19. SQL // ATSD Getting Started. [2019-2019]. Дата обновления: 05.11.2018. URL: https://axibase.com/docs/atsd/tutorials/getting-started-sql.html (дата обращения: 20.01.2019)
  20. Alerting // ATSD Getting Started. [2019-2019]. Дата обновления: 05.11.2018. URL:https://axibase.com/docs/atsd/tutorials/getting-started-alert.html (дата обращения: 20.01.2019)