Добавление аннотаций на дашборд

Материал из Документация Ключ-АСТРОМ

Добавление аннотаций на дашборд

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

Аннотации управляются данными, поэтому они остаются актуальными по мере изменения ваших данных. Вы можете создать аннотацию тремя способами:

  • Запрос DQL, возвращающий метки времени и связанные метаданные.
  • Фрагмент кода, возвращающий записи аннотаций.
  • Выбор оповещения, использующий одну или несколько конфигураций обнаружения аномалий для автоматической генерации запроса.

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

Список аннотаций

Панель Аннотации — это ваша отправная точка для всех действий, связанных с аннотациями на дашборде.

Чтобы перечислить все аннотации

  1. Выберите Настройки в правом верхнем углу дашборда, чтобы отобразить панель настроек дашборда.
  2. Выберите Аннотации.
  3. Необязательно: включите Отображать глобальный селектор на дашборде, чтобы отобразить элементы управления Аннотаций на вашем дашборде.

Использование аннотаций

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

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

Глобальный селектор

Глобальный селектор — это раздел элементов управления с меткой Аннотации, который можно отобразить в левом верхнем углу дашборда, непосредственно под именем дашборда. Он отображается только тогда, когда на дашборде существует хотя бы одна аннотация.

Глобальный селектор имеет два меню:

Меню предоставляет быстрый доступ к общим действиям с аннотациями.

Действие Описание
Добавить аннотацию Создать аннотацию.
Все аннотации Отобразить панель Аннотации.
Сбросить к значениям по умолчанию Восстановить настройки аннотаций к значениям по умолчанию: все аннотации, применённые к плиткам, выбранным в настройке Ссылки.
Скрыть глобальный селектор Скрыть раздел Аннотации на вашем дашборде. Чтобы снова отобразить глобальный селектор, включите Отображать глобальный селектор на дашборде на панели Аннотации.

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

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

Действия с аннотациями

Индикатор аннотации отображается над графиком.

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

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

  • Копировать значение копирует имя аннотации в буфер обмена.
  • Редактировать аннотацию открывает аннотацию на панели редактирования.
  • Редактировать оповещение открывает связанное определение оповещения в окне Редактировать оповещение. Доступно только для аннотаций, созданных из источника данных Оповещение.
  • Просмотреть сведения о проблеме открывает сведения о нижележащей проблеме ИИ. Это действие доступно только тогда, когда результат запроса для записи включает поле event.kind, идентифицирующее проблему ИИ (например, DAVIS_PROBLEM), вместе с соответствующим event.id. Ни одно из этих полей не нужно сопоставлять в Сопоставлении данных — Ключ-АСТРОМ считывает их напрямую из результата запроса. См. пример 4: Открытые проблемы.

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

Чтобы включить Просмотреть сведения о проблеме, убедитесь, что ваш запрос возвращает event.id и event.kind, например:

fetch dt.davis.problems
| fields
  event.name,
  event.description,
  event.start,
  event.end = coalesce(event.end, now()),
  event.id,
  event.kind

Добавление аннотации

Чтобы добавить аннотацию на дашборд

  1. Перейдите на панель Аннотации.
  2. Выберите Добавить аннотацию.
  3. Определите аннотацию:
    • Данные: выберите тип аннотации, которую хотите создать: DQL, Код или Оповещение.
    • Сопоставление данных: сопоставьте поля.
    • Настройки отображения: настройте параметры отображения/ссылки.

Подробности о каждой части см. ниже.

Данные

В разделе Данные выберите, использовать ли DQL, код или оповещения для вашей аннотации.

DQL

Введите запрос DQL.

Чтобы начать, выберите любую из кнопок под полем редактирования (например, Открытые оповещения), чтобы автоматически добавить пример DQL здесь.

Выберите Запустить, чтобы получить данные предварительного просмотра.

  • Если запрос действителен и возвращённые результаты включают хотя бы одну метку времени и одно строковое поле (для метки или описания), поля автоматически сопоставляются и заполняются в разделе Сопоставление данных.
  • Если автоматическое сопоставление данных не удалось, сообщения об ошибках и проверке будут направлять вас.
    • Если запрос недействителен, вы получите сообщения об ошибках, как для плиток или переменных. Исправьте ваш запрос и повторите попытку.
    • Если результат запроса не содержит метку времени, вы получите сообщение об ошибке в разделе Сопоставление данных. Выберите подходящее поле для сопоставления метки времени с вашей аннотацией.

Использование переменных

Вы можете использовать переменные дашборда в DQL или коде запроса аннотации так же, как вы используете их в плитках. Добавьте префикс $ к имени переменной, например $Host.

Код

Введите фрагмент кода.

Чтобы начать, выберите любую из кнопок под полем редактирования (например, Пример кода), чтобы автоматически добавить пример кода здесь.

Выберите Запустить, чтобы получить данные предварительного просмотра.

  • Если код действителен и возвращённые результаты включают хотя бы одну метку времени и одно строковое поле (для метки или описания), поля автоматически сопоставляются и заполняются в разделе Сопоставление данных.
  • Если автоматическое сопоставление данных не удалось, сообщения об ошибках и проверке будут направлять вас.
    • Если код недействителен, вы получите сообщения об ошибках, как для плиток или переменных. Исправьте ваш код и повторите попытку.
    • Если результат кода не содержит метку времени, вы получите сообщение об ошибке в разделе Сопоставление данных. Выберите подходящее поле для сопоставления метки времени с вашей аннотацией.

Использование переменных

Вы можете использовать переменные дашборда в DQL или коде запроса аннотации так же, как вы используете их в плитках. Добавьте префикс $ к имени переменной, например $Host.

Оповещение

В отличие от аннотаций DQL и кода, вы не пишете запрос сами. Аннотация Оповещение использует одну или несколько конфигураций обнаружения аномалий для автоматической генерации запроса DQL.

  1. Выберите одну или несколько конфигураций оповещений.
  2. Используйте следующее, чтобы найти нужные оповещения:
    • Раскрывающийся список группы оповещений: фильтр по группе оповещений: Пользовательское оповещение, Облачное оповещение или Фронтенд-оповещение.
    • Панель фильтров: фильтр по статусу Включено или Заголовок.
    • Выберите Обновить, чтобы обновить список после изменения фильтров.
  3. Необязательно:
    • Выберите Развернуть для увеличенного представления.
    • Выберите соответствующий значок рядом с оповещением для дополнительных опций. Опции могут различаться в зависимости от разрешений и совместного использования.
      • Открыть оповещение отображает окно Редактировать оповещение для выбранного оповещения.
  4. Выберите Запустить, чтобы выполнить сгенерированный запрос и получить данные предварительного просмотра.

Когда вы выбираете оповещения, форма автоматически применяет сопоставление данных по умолчанию (event.name, event.description, event.start, event.end) и устанавливает цвет и значок аннотации по умолчанию — если вы их ещё не настроили.

Использование переменных

Вы можете использовать переменные дашборда в DQL или коде запроса аннотации так же, как вы используете их в плитках. Добавьте префикс $ к имени переменной, например $Host.

Сопоставление данных

Необязательный раздел Сопоставление данных сопоставляет данные аннотации, указывая, что вы хотите видеть и где вы хотите это видеть.

Это сопоставление создаётся автоматически на предыдущем шаге (раздел Данные), но вы можете настроить его вручную по мере необходимости.

Поле Обязательно? Описание Предпочтительное поле DQL Ожидаемый тип
name Обязательно Текст, отображаемый на графике (или основная метка для аннотации). event.name string
description Необязательно Текст, отображаемый во всплывающей подсказке при наведении на аннотацию. event.description string
start Обязательно Метка времени, используемая для начала/привязки аннотации. event.start timestamp
end Необязательно Необязательная метка времени для создания временного диапазона (полосы или области) вместо одного момента. event.end timestamp

Автоматическое сопоставление основано на следующих шагах:

  1. Нормализация: карта типов полей нормализует неподдерживаемые типы (binary, geo_point, smartscape_id) в any, и присваивает any, когда поле имеет несколько типов across сопоставлений типов.
  2. Предпочтительное сопоставление: проверьте, содержит ли результат запроса точные предпочтительные поля (event.name, event.description, event.start, event.end) с соответствующими типами. Любое совпадение используется напрямую.
  3. Заполнение запасными значениями: если сопоставление всё ещё неполное после предпочтительного прохода, оно перебирает все поля в результате запроса и присваивает первое неиспользованное поле, соответствующее ожидаемому типу:
    • Первое несопоставленное строковое поле сопоставляется с name.
    • Первая несопоставленная метка времени сопоставляется с start.
    • Второе несопоставленное строковое поле сопоставляется с description.
    • Вторая несопоставленная метка времени сопоставляется с end. Поля, уже назначенные в предпочтительном проходе, пропускаются.

Настройки отображения

Раздел Настройки отображения определяет, как аннотации отображаются на графике.

  • Ссылки: выберите, какие плитки на дашборде должны отображать эту аннотацию.
    • Звёздочка (*) отображает аннотацию на всех плитках с поддерживаемым типом визуализации.
    • Аннотации отображаются только на типах плиток с временным диапазоном.
  • Закрепить индикатор: когда это включено, линия и области на самом графике (под индикатором оповещения) затеняются тем же цветом, что и индикатор (из настроек Цвета).
  • Цвет: указывает цвет индикатора.
    • Чтобы использовать предопределённый цвет, переключитесь на вкладку Цвета и выберите цвет Apdex или Loglevel.
    • Чтобы указать свой собственный цвет, переключитесь на вкладку Пользовательский, затем либо введите шестнадцатеричный код цвета (например, 13C937), либо выберите цветовой блок.
  • Значок: чтобы отобразить значок или эмодзи на индикаторе, включите Значок, откройте список под Значок и выберите значок или эмодзи.

Интенты плиток

Аннотации, на которые ссылается плитка, включаются, когда вы отправляете эту плитку в другое приложение через интент плитки (например, Открыть с помощью или Добавить в блокнот). Принимающее приложение получает свою собственную копию определений аннотаций плитки, а не просто ссылку на них.

Например, отправка плитки с областной диаграммой с применённой к ней аннотацией Открытые проблемы создаёт полезную нагрузку плитки, подобную этой. Массив annotations — это часть, специфичная для аннотаций; остальная часть полезной нагрузки (visualization, dt.query, customLinkSettings, layout) описывает саму плитку.

{
  "sourceApplication": "astromkey.dashboards",
  "settings": {
    "dt.timeframe": {
      "from": "now()-2h",
      "to": "now()"
    },
    "dt.segments": []
  },
  "dt.timeframe": {
    "from": "now()-2h",
    "to": "now()"
  },
  "title": "Average CPU usage across all hosts",
  "visualization": "areaChart",
  "visualizationSettings": {
    "chartSettings": {
      "legend": {
        "hidden": true
      }
    },
    "dataMapping": {
      "displayedFields": [
        "CPU usage"
      ]
    },
    "coloring": {
      "colorRules": [
        {
          "field": "DT.name",
          "comparator": "= *value*",
          "value": "",
          "type": "string",
          "colorMode": "color-palette",
          "colorPalette": "blue"
        }
      ]
    },
    "autoSelectVisualization": false
  },
  "customLinkSettings": {
    "version": 1,
    "customLinks": [
      {
        "name": "Show hosts",
        "icon": "HostsIcon",
        "urlPattern": "/ui/apps/astromkey.infraops/explorer/Hosts?perspective=Utilization&sort=healthIndicators%3Adescending",
        "added": 1771330075347
      }
    ]
  },
  "layout": {
    "x": 0,
    "y": 0,
    "w": 8,
    "h": 6
  },
  "querySettings": {
    "maxResultRecords": 1000,
    "defaultScanLimitGbytes": 500,
    "maxResultMegaBytes": 1,
    "defaultSamplingRatio": 10,
    "enableSampling": false
  },
  "dt.query": "timeseries `CPU usage` = avg(dt.host.cpu.usage)",
  "annotations": [
    {
      "key": "233e0021-d5ef-495d-8dc1-c29364aff76c",
      "name": "Open problems",
      "input": "fetch dt.davis.events\n| filter event.status == \"ACTIVE\"\n// Optional: filter by specific anomaly detector\n//| filter dt.settings.object_id == \"...\"\n| fields\n  event.name,\n  event.description,\n  event.start,\n  event.end = coalesce(event.end, now()),\n  event.id,\n  event.kind\n| sort event.start desc\n| limit 20",
      "dataMapping": {
        "name": {
          "field": "event.name",
          "type": "string"
        },
        "description": {
          "field": "event.description",
          "type": "string"
        },
        "start": {
          "field": "event.start",
          "type": "timestamp"
        },
        "end": {
          "field": "event.end",
          "type": "timestamp"
        }
      },
      "displaySettings": {
        "color": "var(--dt-colors-charts-loglevel-info-default, #134fc9)",
        "referenceIds": [
          "0"
        ]
      },
      "type": "query",
      "version": 2
    }
  ]
}

Вам не нужно создавать эту полезную нагрузку вручную — она генерируется автоматически, когда вы отправляете плитку с аннотациями через интент. Если вы разрабатываете приложение, принимающее интенты плиток, учтите, что аннотации могут присутствовать наряду с другими свойствами плитки.

Редактирование аннотации

Чтобы отредактировать аннотацию

  1. Перейдите на панель Аннотации.
  2. Выберите аннотацию, которую хотите отредактировать.
    • Как вариант: откройте меню для аннотации, которую хотите отредактировать, и выберите Редактировать.
  3. Отредактируйте аннотацию по мере необходимости. Параметры конфигурации описаны в разделе «Добавление аннотации». Например, отредактируйте имя, отображаемое в верхней части панели сведений об аннотации.

Дублирование аннотации

Чтобы дублировать аннотацию

  1. Перейдите на панель Аннотации.
  2. Откройте меню для аннотации, которую хотите дублировать, и выберите Дублировать.
    • Как вариант: выберите аннотацию, чтобы отобразить сведения об аннотации, откройте меню рядом с именем аннотации, затем выберите Дублировать.
  3. Отредактируйте дубликат аннотации по мере необходимости. Параметры конфигурации описаны в разделе «Добавление аннотации».

Удаление аннотации

Чтобы удалить аннотацию

  1. Перейдите на панель Аннотации.
  2. Откройте меню для аннотации, которую хотите удалить, и выберите Удалить.
    • Как вариант: выберите аннотацию, чтобы отобразить сведения об аннотации, откройте меню рядом с именем аннотации, затем выберите Удалить.

Изменение порядка аннотаций

Порядок аннотаций в списке определяет, какая идёт первой (более высокое положение также означает визуально более высокое положение на одной дорожке).

Чтобы изменить порядок аннотаций на вашем дашборде

  1. Перейдите на панель Аннотации.
  2. Перетащите аннотации в нужный порядок.

Как вариант: откройте меню для аннотации, которую хотите переместить, и выберите Переместить вверх или Переместить вниз.

Примеры

Пример 1. Оповещения

Чтобы создать аннотации для оповещений

Начните с дашборда, на котором есть хотя бы один график временных рядов.

Пример

  1. Создайте дашборд.
  2. Выберите DQL.
  3. Вставьте следующий DQL для построения графика использования CPU**:
timeseries avg(dt.host.cpu.usage), by: { dt.smartscape.host }
| fieldsAdd dt.smartscape.host.name = getNodeName(dt.smartscape.host)
| limit 10
  1. Выберите Запустить.
  2. На вкладке Визуализация выберите визуализацию Линия.
  3. Закройте панель редактирования. Теперь у вас должен быть дашборд с линейным графиком, показывающим использование CPU во времени.
  4. Выберите Настройки в правом верхнем углу дашборда, чтобы отобразить панель настроек дашборда, затем выберите Аннотации.
  5. Выберите Добавить аннотацию.
  6. В верхней части панели редактирования аннотации назовите аннотацию (например, Alerts).
  7. В разделе Данные выберите Оповещение.
  8. Выберите конфигурации оповещений, которые хотите аннотировать.
  9. Используйте раскрывающийся список группы оповещений и панель фильтров, чтобы сузить список, затем установите флажки для нужных оповещений. Выберите Обновить, чтобы обновить список после изменения фильтров.
  10. Выберите Запустить, чтобы получить данные предварительного просмотра. Сопоставление данных по умолчанию применяется автоматически в разделе Сопоставление данных:
    • Имя: event.name
    • Описание: event.description
    • Время начала: event.start
    • Время окончания: event.end
  11. В разделе Настройки отображения настройте параметры отображения по мере необходимости.
    • Ссылки: для этого примера оставьте звёздочку, чтобы применить аннотацию ко всем применимым графикам.
    • Закрепить индикатор: для этого примера включите его, чтобы отображать индикаторы оповещений непосредственно на графиках.
  12. Просмотрите результаты на ваших графиках.

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

  • Оповещения, произошедшие в течение выбранного временного диапазона, обозначаются над графиками временных рядов.
  • Чтобы увидеть сведения об оповещении, наведите курсор на индикатор. Сведения отображаются во всплывающей подсказке.
  • Для дополнительных действий выберите всплывающую подсказку, чтобы закрепить её, затем выберите опцию из меню подсказки.
  • Поскольку мы выбрали Закрепить индикатор, оповещения также отображаются в виде линии на графиках.
  • Если аннотации оповещений расположены близко друг к другу, увеличьте масштаб графика, чтобы визуально разделить аннотации.

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

Чтобы создать аннотации для пользовательских событий

Начните с дашборда, на котором есть хотя бы один график временных рядов.

Пример

  1. Создайте дашборд.
  2. Выберите DQL.
  3. Вставьте следующий DQL для построения графика использования CPU**:
timeseries avg(dt.host.cpu.usage), by: { dt.smartscape.host }
| fieldsAdd dt.smartscape.host.name = getNodeName(dt.smartscape.host)
| limit 10
  1. Выберите Запустить.
  2. На вкладке Визуализация выберите визуализацию Линия.
  3. Закройте панель редактирования. Теперь у вас должен быть дашборд с линейным графиком, показывающим использование CPU во времени.
  4. Выберите Настройки в правом верхнем углу дашборда, чтобы отобразить панель настроек дашборда, затем выберите Аннотации.
  5. Выберите Новая аннотация.
  6. В верхней части панели редактирования аннотации назовите аннотацию (например, Custom events).
  7. В разделе Данные выберите DQL.
  8. В поле редактирования DQL вставьте следующий запрос DQL для получения событий.
fetch events
| filter event.type == "CUSTOM_INFO"
//| filter contains(event.description,"deploy")
| fieldsAdd event.description = coalesce(
   event.description,
   concat(
      "[", event.provider, "] ",
      event.name,
      if(isNotNull(dt.entity.process_group_instance.name), then:concat(" | PGI: ", dt.entity.process_group_instance.name), else:""),
      if(isNotNull(dt.entity.environment.name), then:concat(" | Env: ", dt.entity.environment.name), else:""),
      if(isNotNull(Environment), then:concat(" | Environment: ", Environment), else:""),
      if(isNotNull(Service), then:concat(" | Service: ", Service), else:""),
      if(isNotNull(appId), then:concat(" | App: ", appId), else:""),
      if(isNotNull(Version), then:concat(" | Version: ", Version), else:""),
      if(isNotNull(Tenant), then:concat(" | Tenant: ", Tenant), else:""),
      if(isNotNull(Channel-Name), then:concat(" | Channel: ", Channel-Name), else:""),
      if(isNotNull(Compatibility), then:concat(" | Compatibility: ", Compatibility), else:""),
      if(isNotNull(user), then:concat(" | User: ", user), else:"")
   )
)
| fields
   timestamp,
   event.start,
   event.end,
   event.name,
   event.description,
   event.status,
   event.status_transition,
   event.provider,
   dt.davis.impact_level,
   dt.davis.mute.status,
   dt.source_entity,
   dt.source_entity.type,
   dt.entity.process_group_instance.name,
   dt.entity.environment.name,
   Environment,
   Service,
   appId,
   appVersion,
   Version,
   Tenant,
   Channel-Name,
   Channel-Type,
   App-Id,
   Compatibility,
   user,
   affected_entity_ids,
   affected_entity_types,
   entity_tags,
   maintenance.is_under_maintenance,
   dt.event.correlation_id
| sort timestamp desc
| limit 20
  1. Выберите Запустить, чтобы получить данные предварительного просмотра. Поля автоматически сопоставляются, как отображается в разделе Сопоставление данных. В этом примере вы должны получить:
    • Имя: event.name (String)
    • Описание: event.description (String)
    • Время начала: event.start (Timestamp)
    • Время окончания: event.end (Timestamp)
  2. В разделе Настройки отображения настройте параметры отображения по мере необходимости.
    • Ссылки: для этого примера оставьте звёздочку, чтобы применить аннотацию ко всем применимым графикам.
    • Закрепить индикатор: для этого примера включите его, чтобы отображать индикаторы оповещений непосредственно на графиках.
  3. Просмотрите результаты на ваших графиках.

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

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

Пример 3. Проблемы

Чтобы создать аннотации для проблем

Начните с дашборда, на котором есть хотя бы один график временных рядов.

Пример

  1. Создайте дашборд.
  2. Выберите DQL.
  3. Вставьте следующий DQL для построения графика использования CPU**:
timeseries avg(dt.host.cpu.usage), by: { dt.smartscape.host }
| fieldsAdd dt.smartscape.host.name = getNodeName(dt.smartscape.host)
| limit 10
  1. Выберите Запустить.
  2. На вкладке Визуализация выберите визуализацию Линия.
  3. Закройте панель редактирования. Теперь у вас должен быть дашборд с линейным графиком, показывающим использование CPU во времени.
  4. Выберите Настройки в правом верхнем углу дашборда, чтобы отобразить панель настроек дашборда, затем выберите Аннотации.
  5. Выберите Новая аннотация.
  6. В верхней части панели редактирования аннотации назовите аннотацию (например, Problems).
  7. В разделе Данные выберите DQL.
  8. В поле редактирования DQL вставьте следующий запрос DQL для получения проблем.
fetch dt.davis.problems
| filter event.category == "SLOWDOWN"
| filter event.status == "ACTIVE"
| fields
event.start,
display_id,
event.name,
dt.davis.impact_level
| sort event.start desc
  1. Выберите Запустить, чтобы получить данные предварительного просмотра. Поля автоматически сопоставляются, как отображается в разделе Сопоставление данных. В этом примере вы должны получить:
    • Имя: event.name (String)
    • Описание: display_id (String)
    • Время начала: event.start (Timestamp)
    • Время окончания: event.start (Timestamp)
  2. В разделе Настройки отображения настройте параметры отображения по мере необходимости.
    • Ссылки: для этого примера оставьте звёздочку, чтобы применить аннотацию ко всем применимым графикам.
    • Закрепить индикатор: для этого примера включите его, чтобы отображать индикаторы оповещений непосредственно на графиках.
  3. Просмотрите результаты на ваших графиках.

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

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

Пример 4. Открытые проблемы

Чтобы создать аннотации для открытых проблем, которые также поддерживают действие «Просмотреть сведения о проблеме»

Начните с дашборда, на котором есть хотя бы один график временных рядов.

Пример

  1. Создайте дашборд.
  2. Выберите DQL.
  3. Вставьте следующий DQL для построения графика использования CPU**:
timeseries avg(dt.host.cpu.usage), by: { dt.smartscape.host }
| fieldsAdd dt.smartscape.host.name = getNodeName(dt.smartscape.host)
| limit 10
  1. Выберите Запустить.
  2. На вкладке Визуализация выберите визуализацию Линия.
  3. Закройте панель редактирования. Теперь у вас должен быть дашборд с линейным графиком, показывающим использование CPU во времени.
  4. Выберите Настройки в правом верхнем углу дашборда, чтобы отобразить панель настроек дашборда, затем выберите Аннотации.
  5. Выберите Новая аннотация.
  6. В верхней части панели редактирования аннотации назовите аннотацию (например, Open problems).
  7. В разделе Данные выберите DQL.
  8. Выберите Открытые проблемы под полем редактирования, чтобы вставить следующий пример запроса, или вставьте его самостоятельно.
fetch dt.davis.events
| filter event.status == "ACTIVE"
// Optional: filter by specific anomaly detector
//| filter dt.settings.object_id == "..."
| fields
  event.name,
  event.description,
  event.start,
  event.end = coalesce(event.end, now()),
  event.id,
  event.kind
| sort event.start desc
| limit 20

Запрос включает event.id и event.kind, хотя ни одно из них не требуется в Сопоставлении данных. Ключ-АСТРОМ использует эти два поля, чтобы включить действие Просмотреть сведения о проблеме для записей, которые идентифицируют проблему ИИ.

  1. Выберите Запустить, чтобы получить данные предварительного просмотра. Поля автоматически сопоставляются, как отображается в разделе Сопоставление данных. В этом примере вы должны получить:
    • Имя: event.name (String)
    • Описание: event.description (String)
    • Время начала: event.start (Timestamp)
    • Время окончания: event.end (Timestamp)
  2. В разделе Настройки отображения настройте параметры отображения по мере необходимости.
    • Ссылки: для этого примера оставьте звёздочку, чтобы применить аннотацию ко всем применимым графикам.
    • Закрепить индикатор: для этого примера включите его, чтобы отображать индикаторы непосредственно на графиках.
  3. Просмотрите результаты на ваших графиках.

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

  • Открытые проблемы обозначаются над графиками временных рядов. Наведите курсор на индикатор, чтобы увидеть сведения во всплывающей подсказке.
  • Выберите индикатор, чтобы закрепить всплывающую подсказку открытой, затем выберите Просмотреть сведения о проблеме, чтобы открыть связанную проблему ИИ.

FAQ

Какие визуализации поддерживают аннотации?

Аннотации поддерживаются для следующих типов визуализации на основе временных рядов:

  • Линия
  • Столбец
  • Область

Где я могу получить данные для использования аннотаций?

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

  • Используйте существующие данные: обзор доступных данных см. в разделе о том, как исследовать данные, чтобы найти правильный тип данных и запросить оттуда.
  • Принесите свои данные: если вы хотите использовать данные за пределами того, что уже доступно в хранилище, см. раздел о приёме данных.

Вот некоторые распространённые примеры:

  • Оповещения: используйте dt.davis.events, как показано в примере 1: Оповещения.
  • Пользовательские события: используйте events, как показано в примере 2: Пользовательские события.
  • Проблемы: используйте dt.davis.events, как показано в примере 3: Проблемы.
  • Открытые проблемы: используйте dt.davis.events, как показано в примере 4: Открытые проблемы, что также включает действие аннотации Просмотреть сведения о проблеме.

Как применяется временной диапазон?

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

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

Примечание: если у плитки есть пользовательский временной диапазон или вы панорамировали внутри плитки, аннотации за пределами этого видимого диапазона не появятся.

Как применяются сегменты?

Аннотации используют глобально установленные сегменты. Пользовательские сегменты, специфичные для плиток, не используются.

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

Как получаются и обновляются аннотации?

  • Загрузка дашборда: данные аннотаций получаются только для аннотаций, на которые ссылаются видимые плитки (в области просмотра) с поддерживаемой визуализацией.
  • Прокрутка: если вы прокручиваете к плитке с поддерживаемой визуализацией и настроенной аннотацией, данные получаются по требованию, но только если они ещё не были получены.
  • Отключено глобально: если аннотация отключена в глобальном селекторе, её данные никогда не получаются.
  • Включено глобально: если аннотация включена в глобальном селекторе, она применяется ко всем плиткам с поддерживаемой визуализацией, независимо от отдельных ссылок на плитки.
  • Обновление дашборда: при ручном или автоматическом обновлении все ранее полученные аннотации обновляются, независимо от того, находятся ли плитки в настоящее время в области просмотра.
  • Выполнение запроса плитки: выполнение запроса плитки не запускает обновление связанных с ней аннотаций. Аннотации глобальны; данные плитки локальны.
  • Изменение ссылок: существующие данные аннотаций повторно используются на новой плите, на которую ссылаются. Однако если аннотация ранее не имела ссылок на поддерживаемые плитки, и вы добавляете одну, данные получаются впервые.

Почему моя аннотация не появляется?

Если ваша аннотация не видна, проверьте следующее:

  • Визуализация на вашей плитке не является поддерживаемым типом (линия, столбец или область).
  • Плитка не указана в определении вашей аннотации.
  • Вы сняли флажок видимости аннотации в глобальном селекторе.
  • Запрос, определённый в аннотации, не возвращает результатов.
  • В видимом временном диапазоне графика нет записей. Например, у вашей плитки может быть пользовательский временной диапазон, отличающийся от глобального временного диапазона дашборда, используемого для получения результатов аннотации. Как вариант, вы могли панорамировать внутри плитки на другой временной диапазон.

Моё сопоставление данных не назначилось автоматически. Что мне делать?

Аннотация требует как минимум поле имени и поле метки времени. Настройте ваш запрос так, чтобы он включал оба. Подробности см. в разделе Сопоставление данных.