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

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

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

detailsSettings

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

detailsSettings:

      staticContent:

        showProblems: true

        showProperties: true

        showTags: true

        showGlobalFilter: true

        showAddTag: true

      layout:

        autoGenerate: false

        cards:

          - key: cpu_mem

            type: CHART_GROUP

          - key: disks

            type: ENTITIES_LIST

staticContent

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

Поле Тип Описание Необходимость
showProblems boolean Если true, то на экране с подробной информацией отобразится проблемная карта. Необходимо
showProperties boolean Если true, на экране с подробной информацией отобразится карточка свойств. Необходимо
showTags boolean Если true, на экране с подробной информацией отображаются теги сущностей. Необходимо
showFilterBar boolean Если true, на экране с подробной информацией отобразится панель фильтров. Необходимо
showAddTag boolean Если true, на экране с подробной информацией отобразится опция Добавить тег. Необходимо

layout

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

Поле Тип Описание Необходимость
autoGenerate boolean Если true, содержимое экрана генерируется автоматически. Необходимо
cards enum Возможные значения для поля type: CHART_GROUP, ENTITIES_LIST, EVENTS, LOGS, MESSAGE, METRIC_TABLE, INJECTIONS, BREAK_LINE, HEALTH_CARD, CARD_GROUP. Необязательно

detailsInjections

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

Экран должен поддерживать внедрение контента — макет должен включать в себя место для размещения внедряемых карточек.
detailsInjections:

      - type: CHART_GROUP

        entitySelectorTemplate: type(custom:host), toRelationship.sameAs($(entityConditions))

        key: injectedChartGroups

      - type: ENTITIES_LIST

        key: injectedList

        width: HALF_SIZE

      - type: EVENTS

        key: injectedEvents

        width: FULL_SIZE

Поле Тип Описание Необходимость
type enum Определяет тип карточек, доступных для внедренмия. Возможные значения: CHART_GROUP, ENTITIES_LIST, EVENTS, LOGS, MESSAGE, HEALTH_CARD, CARD_GROUP, METRIC_TABLE. Необходимо
key String Уникальный ключ карточки, используемый для указания желаемой конфигурации карты. Необходимо
entitySelectorTemplate String Селектор сущностей, указывающий на связанные сущности.
Подробнее
Он может служить нескольким целям — выбору Objectа, для которого будет отображаться диаграмма, и фильтрации их на основе определенных правил или связанных Objectов. Он используется в сочетании с entityType для дальнейшего уточнения того, какие Objectы подходят для карточки. Например, если entityType это HOST, вы можете использовать entitySelectorTemplate для отображения карточки только для хостов, использующих определенную операционную систему.

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

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

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

Заполнитель $(entityConditions) будет автоматически заменен, чтобы указывать на конкретный хост-Object.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
Необязательно
width enum Параметр, определяющий, сколько вертикального пространства занимает карточка. Возможные значения: HALF_SIZE, FULL_SIZE. Необязательно

detailsFilter

Поле detailsFilter определяет фильтры для экрана с подробными сведениями об Objectе. Оно позволяет настроить страницу таким образом, чтобы отображались только нужные данные. Если на экране есть разбиения по измерениям (диаграмма или таблица метрик), автоматически отображаются фильтры по метрическим измерениям. Чтобы отображать только фильтры по метрическим измерениям, задайте для этого поля пустое значение (detailsFilters: {}).

detailsFilters:

      relationships:

        - type(HOST_GROUP), toRelationship.isInstanceOf($(entityConditions))

        - type(AZURE_REGION), fromRelationship.isSiteOf($(entityConditions))

      entityFilters:

        - displayName: filters

          filters:

            - type: entityName

              displayName: name

              freeText: false

              modifier: contains

              defaultSearch: true

              distinct: false

              entityTypes:

                - my:interface

relationships

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

relationships:

  - type(HOST) AND toRelationship.isProcessOf($(entityConditions))

Вы также можете настроить фильтрацию на нескольких уровнях. Например, отфильтровать процессы по имени группы хостов:

relationships:

  - type(HOST) AND toRelationship.isProcessOf($(entityConditions))

  - type(HOST) AND fromRelationship.isInstanceOf(type(HOST_GROUP))

entityFilters

Блок, определяющий группы фильтров (они отображаются слегка затемненными в списке фильтров).

Поле Тип Описание Необходимость
filters Array Сами фильтры, входящие в эту группу. Необходимо
type String Необходимо указать атрибут сущности, которую вы фильтруете. Примечание: каждая сущность имеет атрибут entityName по умолчанию. Необходимо
displayName String Как этот фильтр обозначен в веб-интерфейсе. Необходимо
freeText boolean Если значение равно true, пользователь может свободно вводить текст; в противном случае он должен выбрать текст из списка подсказок. Примечание: только атрибуты по умолчанию, такие как entityName, могут предлагать списки подсказок. Необходимо
modifier boolean Если значение freeText true, это определяет, как текст должен сопоставляться с атрибутом. Если значение freeText false, этот параметр необходимо опустить. Примечание: Все атрибуты, отличные от атрибутов по умолчанию, должны соответствовать этому значению equals независимо от этого параметра. Необязательно
defaultSearch boolean Если true пользователь начинает вводить текст, не выбрав предварительно фильтр, этот фильтр выбирается по умолчанию. В пределах блока filtering может быть включен только один фильтр. Необязательно
distinct boolean Если true, то может быть применен только один экземпляр этого фильтра. Необходимо
entityTypes Array Обязательный список типов сущностей, к которым применяется этот фильтр. Если вы его опустите, на панели фильтрации отобразится только вращающееся колесо из-за неполного определения. Необязательно

listSettings

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

listSettings:

      staticContent:

        showGlobalFilter: true

        header:

          title: My hosts

          description: My hosts list

          icon: host

      layout:

        autoGenerate: false

        cards:

          - type: CHART_GROUP

            key: chart

          - type: ENTITIES_LIST

            key: entitiesList

          - type: INJECTIONS

staticContent Необходимо

Включать или отключать статические элементы, такие как задачи, свойства, теги, глобальный фильтр и параметр Добавить тег.

Поле Тип Описание Необходимость
showProblems boolean Если true, то на экране с подробной информацией отобразится проблемная карта. Необязательно
showProperties boolean Если true, на экране с подробной информацией отобразится карточка свойств. Необязательно
showTags boolean Если true, на экране с подробной информацией отображаются теги сущностей. Необязательно
showGlobalFilter boolean Если true, на экране с подробной информацией отобразится панель фильтров. Необходимо
showAddTag boolean Если true, на экране с подробной информацией отобразится опция Добавить тег. Необязательно
header Object Определение заголовка страницы. Необязательно
breadcrumbs Array Список навигационных цепочек, ведущих на страницу. Необязательно
hideDefaultBreadcrumb boolean Если установлено значение true, то стандартная навигационная цепочка для текущей страницы будет скрыта. Необязательно

layout Необходимо

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

Поле Тип Описание Необходимость
autoGenerate boolean Если true, содержимое экрана генерируется автоматически. Необходимо
cards enum Возможные значения для поля type: CHART_GROUP, ENTITIES_LIST, MESSAGE, INJECTIONS, BREAK_LINE. Необязательно

listInjections

Поле listInjections определяет параметры внедрения кода для экрана с подробными сведениями о сущности. Внедрение кода должно поддерживаться самим экраном — макет должен включать в себя место для размещения внедряемых карточек.

listInjections:

      - type: CHART_GROUP

        key: injectedChartGroups

      - type: ENTITIES_LIST

        key: injectedList

        width: HALF_SIZE

Поле Тип Описание Необходимость
type enum Определяет тип карточек, доступных для внедрений. Возможные значения: CHART_GROUP, ENTITIES_LIST, MESSAGE, METRIC_TABLE. Необходимо
key String Уникальный ключ карточки, используемый для указания желаемой конфигурации карточки. Необходимо

listFilters

Поле listFilters определяет фильтры на странице списка.

listFilters:

      relationships:

        - type(HOST_GROUP), toRelationship.isInstanceOf($(entityConditions))

        - type(AZURE_REGION), fromRelationship.isSiteOf($(entityConditions))

      entityFilters:

        - displayName: filters

          filters:

            - type: entityName

              entityTypes:

                - HOST_GROUP

                - AZURE_REGION

              freeText: false

              displayName: name

              distinct: true

relationships

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

relationships:

  - type(HOST) AND toRelationship.isProcessOf($(entityConditions))

Вы также можете настроить фильтрацию на нескольких уровнях. Например, отфильтровать процессы по имени группы хостов:

relationships:

  - type(HOST) AND toRelationship.isProcessOf($(entityConditions))

  - type(HOST) AND fromRelationship.isInstanceOf(type(HOST_GROUP))

entityFilters

Список фильтров сущностей. Для общих сущностей подсказки доступны только для типов фильтров entityName, tag, healthState, и ipAddress / dt.ip_addresses. Любые пользовательские атрибуты должны быть установлены в значение freeText: true с помощью modifier: equals. Подсказки не поддерживаются, поэтому необходимо ввести точное значение для фильтрации.

Поле Тип Описание Необходимость
filters Array Сами фильтры, входящие в эту группу. Необходимо
type String Необходимо указать атрибут сущности, которую вы фильтруете. Примечание: каждая сущность имеет entityNameатрибут по умолчанию. Необходимо
displayName String Как этот фильтр обозначен в веб-интерфейсе. Необходимо
freeText boolean Если значение равно true, пользователь может свободно вводить текст; в противном случае он должен выбрать текст из списка подсказок. Примечание: только атрибуты по умолчанию, такие как entityName, могут предлагать списки подсказок. Необходимо
modifier boolean Если значение freeText true, это определяет, как текст должен сопоставляться с атрибутом. Если значение freeText false, этот параметр необходимо опустить. Примечание: Все атрибуты, отличные от атрибутов по умолчанию, должны соответствовать значению equals независимо от этого параметра. Необязательно
defaultSearch boolean Если true пользователь начинает вводить текст, не выбрав предварительно фильтр, этот фильтр выбирается по умолчанию. В пределах блока filtering может быть включен только один фильтр. Необязательно
distinct boolean Если true, то может быть применен только один экземпляр этого фильтра. Необходимо
entityTypes Array Обязательный список типов сущностей, к которым применяется этот фильтр. Если вы его опустите, на панели фильтрации отобразится только вращающееся колесо из-за неполного определения. Необязательно

propertiesCard

В поле propertiesCard отображаются свойства сущности, показанные на карточке, в виде пар «ключ-значение». По умолчанию отображаются все доступные свойства атрибутов.

propertiesCard:

      properties:

        - type: RELATION

          relation:

            entitySelectorTemplate: NOT VALIDATED IN SCHEMA

            displayName: default

        - type: ATTRIBUTE

          attribute:

            key: attribute

            displayName: Attribute

properties Необходимо

Используйте эту конфигурацию для указания карточки свойств.

Поле Тип Описание Необходимость
type enum Определяет тип свойства. Возможные значения: RELATION, ATTRIBUTE. Необязательно

RELATION

Позволяет указать связь с конкретной сущностью.

Поле Тип Описание Необходимость
entitySelectorTemplate String Селектор сущностей, используемый для получения выбранных сущностей.
Подробнее
Он может служить нескольким целям — выбору Objectа, для которого будет отображаться диаграмма, и фильтрации их на основе определенных правил или связанных Objectов. Он используется в сочетании с entityType для дальнейшего уточнения того, какие Objectы подходят для карточки. Например, если entityType это HOST, вы можете использовать entitySelectorTemplate для отображения карточки только для хостов, использующих определенную операционную систему.

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

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

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

Заполнитель $(entityConditions) будет автоматически заменен, чтобы указывать на конкретный хост-Object.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
Необходимо
displayName String Название отношения. Необходимо
fallbackMessage String Отображает дополнительное сообщение, если сущность не найдена. По умолчанию всё свойство скрыто. Необязательно

ATTRIBUTE

Позволяет переопределять параметры отображения атрибутов.

Поле Тип Описание Необходимость
key String Используется для ссылки на требуемый атрибут. Необходимо
displayName String Название атрибута. Необязательно

Карточки групп диаграмм

Карточки групп диаграмм позволяют визуализировать указанные показатели на отдельных диаграммах.

  • Выражение metricSelector определяет метрики, на которых основана ваша диаграмма. Для получения дополнительной информации см. API метрик — Селектор метрик. В приведенных ниже примерах используются простые выражения селектора метрик, напрямую ссылающиеся на ключи метрик.
chartsCards:

      - key: chartGroup

        conditions:

          - NOT VALIDATED IN SCHEMA

        numberOfVisibleCharts: 2

        charts:

          - displayName: Chart

            conditions:

              - NOT VALIDATED IN SCHEMA

            visualizationType: GRAPH_CHART

            graphChartConfig:

              visualization:

                themeColor: DEFAULT

                seriesType: LINE

              metrics:

                - metricSelector: NOT VALIDATED IN SCHEMA

                - metricSelector: builtin:host.cpu.usage:avg

                  visualization:

                    themeColor: DEFAULT

                    seriesType: LINE

          - displayName: Chart2

            visualizationType: PIE_CHART

            pieChartConfig:

              metric:

                metricSelector: NOT VALIDATED IN SCHEMA

              defaultAggregation: AVG

              showLegend: true

              themeColor: ORANGE

          - displayName: Chart3

            visualizationType: SINGLE_VALUE

            singleValueConfig:

              metric:

                metricSelector: NOT VALIDATED IN SCHEMA

              displayName: Single value

              defaultAggregation: COUNT

              showSparkline: true

              showTrend: true

Поле Тип Описание Необходимость
key String Уникальный ключ карточки, используемый для указания желаемой конфигурации карточки. Необходимо
conditions Array Определяет условия, которые должны быть выполнены для того, чтобы карточка группы диаграмм была видна. Необязательно
numberOfVisibleCharts Integer Количество диаграмм, отображаемых на странице единого анализа. Необходимо
mode enum Определяет поведение и интерактивность группы диаграмм. Возможные значения: NORMAL, STATIC.1 Необходимо

1 Режим NORMAL позволяет взаимодействовать с диаграммами (просматривать различные точки данных или увеличивать/уменьшать масштаб). Диаграммы в режиме STATIC отображаются в фиксированном, ограниченном виде.

charts

Поле Тип Описание Необходимость
displayName String Название карточки. Необходимо
conditions Array Определяет условия, которые должны быть выполнены для того, чтобы карточка группы диаграмм была видна. Необязательно

visualizationType

Параметр visualizationType определяет тип диаграммы: график GRAPH_CHART, круговая диаграмма PIE_CHART или диаграмма с одним значением SINGLE_VALUE. Если тип визуализации не указан, по умолчанию отображается график.

GRAPH_CHART

Поле Тип Описание Необходимость
visualization enum Позволяет задать цвет темы и тип области (COLUMN, LINE или AREA). Также можно включить отображение легенды оси, установив флаг showLegend в значение true. Необходимо
metrics Array Определяет способ получения данных для отдельной линии на графике. Необходимо
thresholds Array Определяет пороговые значения, после превышения которых фон диаграммы изменит цвет на выбранный. Необязательно
metricSelector

Выражение для выбора метрики для выделенной метрической строки.

Поле Тип Описание Необходимость
visualization enum Позволяет задать цвет темы и тип области (COLUMN, LINE или AREA). Также можно включить отображение легенды оси, установив флаг showLegend в значение true. Необязательно

PIE_CHART

Поле Тип Описание Необходимость
metric Object Определяет способ получения данных для круговой диаграммы. Необходимо
defaultAggregation enum Определяет агрегацию по умолчанию для временных рядов диаграммы. Если она не определена или не выбрана, агрегация не поддерживается, она определяется на основе метаданных метрик. Необязательно

SINGLE_VALUE

Поле Тип Описание Необходимость
metric Object Определяет способ получения данных для отдельного графика. Необходимо
displayName String Определяет имя значения. Необязательно
defaultAggregation enum Определяет агрегацию по умолчанию для временных рядов диаграммы. Если она не определена или не выбрана, агрегация не поддерживается, она определяется на основе метаданных метрик. Необязательно
showSparkline boolean Если true, то линия развертки видна. Необязательно
showTrend boolean Если true, то тенденция видна. Необязательно
thresholds Array Определяет пороговые значения, после превышения которых фон диаграммы изменит цвет на выбранный. Необязательно
foldTransformation enum Определяет метод преобразования, который сводит данные к одному значению. Возможные значения: AUTO, LAST_VALUE, MAX, MIN, SUM, MEDIAN, VALUE, PERCENTILE_10, PERCENTILE_75, PERCENTILE_90. Необязательно

Список доступных условий

ConditionName|param1key=param1value|param2key=param2value
Состояние Параметры Минимальная версия схемы Описание
demo Нет 224 Используется для демонстрации функции определения условий.
isSaaS Нет 233 Указывает, является ли тип развертывания сервера SaaS.
featureFlag Ключ флага функции 233 Проверяет состояние флага конкретной функции.
entityAttribute Динамические параметры 1 231 Проверяет, обладает ли отслеживаемый на экране Object определенными атрибутами с указанными значениями или же он существует с любым значением.
relatedEntity entitySelectorTemplate 230 Проверяет существование указанной связанной сущности в среде.
extensionConfigured extensionId, aboveOrEqualVersion, belowOrEqualVersion, featureSets, activatedOnHost2 243 Проверяет наличие указанного расширения в среде, учитывая другие параметры.
uiPermission Указанное разрешение пользовательского интерфейса 243 Подтверждает наличие у вас указанного разрешения (например, CONFIG_WRITE).
isActive Нет 246 Определяет, активен ли отслеживаемый Object на экране.
serviceType Тип сервиса 246 Подтверждает тип сервиса. Область действия METype.SERVICE ограничена экранами с подробной информацией.
typeExists Тип службы 248 Проверяет наличие указанной службы в среде METype.
platform Нет 254 Проверяет совместимость с 3-м поколением.
metricAvailable metric3 ,lastWrittenWithinDays 4 256 Проверяет, связаны ли с данным ключом метрики метаданные и когда они были обновлены в последний раз.

1 Если параметры заданы с конкретным значением, они форматируются как key=value. Система проверит точное совпадение этой пары key-value. Если указан только ключ без какого-либо сопутствующего значения, система просто проверит наличие этого ключа с помощью .exists().

2 Расширение настроено для работы на текущем хосте.

3 Ключ метрики

4 Указанное количество дней, в течение которых система проверяет наличие последних обновлений.

Карточки со списками сущностей

В карточке списка сущностей отображаются другие сущности, связанные с выбранной сущностью. Приведенный ниже YAML-файл содержит список всех дисков Synology, сопоставленных с экземпляром DiskStation Manager, на котором сосредоточено внимание на экране с подробными сведениями.

  • Выражение entitySelectorTemplate задаёт сущности, которые следует отобразить на карточке. Для получения дополнительной информации см. Environment API v2 — Селектор сущностей.
  • В выражении type(syn:disk),fromRelationships.runsOn($(entityConditions)) перечислены сущности типа syn:disk, имеющие отношение направления from и типа runsOn к Objectу syn:diskmanager, представленному с помощью заполнителя $(entityConditions), обозначающего сфокусированную сущность.
entitiesListCards:

      - key: disks

        displayName: Synology disks

        pageSize: 10

        displayCharts: false

        entitySelectorTemplate: "type(syn:disk),fromRelationships.runsOn($(entityConditions))"

        displayIcons: true

        enableDetailsExpandability: true

        numberOfVisibleCharts: 2

        columns:

          - type: ATTRIBUTE

            attribute:

              key: some_attribute

              displayName: Some attribute

          - type: RELATION

            relation:

              entitySelectorTemplate: type("syn:partition"),fromRelationship.isChildOf($(entityConditions))

              displayName: Partitions

              displayAmount: false

              fallbackMessage: "no partition"

        filtering:

          relationships:

            - type(syn:partition), fromRelationship.isChildOf($(entityConditions))

          entityFilters:

            - displayName: filters

              filters:

                - type: entityName

                  displayName: name

                  freeText: true

                  modifier: contains

                  defaultSearch: true

                  distinct: false

                  entityTypes:

                    - my:interface

                - type: entityName

                  displayName: Partition name

                  freeText: true

                  modifier: contains

                  defaultSearch: false

                  distinct: false

                  entityTypes:

                    - syn:partition

Поле Тип Описание Необходимость
key String Уникальный ключ карты, используемый для указания желаемой конфигурации карты. Необходимо
displayName String Название карты. Необязательно
pageSize Integer Количество строк, отображаемых на одной странице. Необходимо
displayCharts boolean Если значение равно trueнулю, то над таблицей отобразятся диаграммы с агрегированными данными. Необходимо
entitySelectorTemplate String Селектор сущностей используется для поиска сущностей, которые должны быть отображены в списке.
Подробнее
Он может служить нескольким целям — выбору Objectа, для которого будет отображаться диаграмма, и фильтрации их на основе определенных правил или связанных Objectов. Он используется в сочетании с entityType для дальнейшего уточнения того, какие Objectы подходят для карточки. Например, если entityType это HOST, вы можете использовать entitySelectorTemplate для отображения карточки только для хостов, использующих определенную операционную систему.

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

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

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

Заполнитель $(entityConditions) будет автоматически заменен, чтобы указывать на конкретный хост-Object.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
Необязательно
displayIcons boolean Если значение true равно нулю, в столбце name отображается значок Objectа. Необходимо
enableDetailsExpandability boolean Если задано значение true, строки можно развернуть диаграммами, связанными со значениями измерений в этой строке. Необходимо
numberOfVisibleCharts Integer Количество диаграмм, отображаемых на странице единого анализа. Необходимо
displayProblemImpactWidget boolean Если значение true равно нулю, над списком отобразится виджет, указывающий на то, что некоторые Objectы находятся в неисправном состоянии. Убедитесь, что включена видимая фильтрация с использованием фильтра состояния здоровья. Необязательно
columns Object Дополнительные столбцы атрибутов или связей. Необязательно
filtering Object Фильтрация внутри карточки списка сущностей. Она затрагивает только группу таблиц и диаграмм этой карточки. Необязательно

columns

Дополнительные столбцы, отображаемые между столбцами Имя и Диаграмма. Доступны 2 типа: АТРИБУ» и СВЯЗЬ.

RELATION

Позволяет указать отношение к сущности (отношение 1:1) или к списку сущностей (отношение 1:n).

Поле Тип Описание Необходимость
entitySelectorTemplate String Селектор сущностей, используемый для получения выбранных сущностей.
Подробнее
Он может служить нескольким целям — выбору Objectа, для которого будет отображаться диаграмма, и фильтрации их на основе определенных правил или связанных Objectов. Он используется в сочетании с entityType для дальнейшего уточнения того, какие Objectы подходят для карточки. Например, если entityType это HOST, вы можете использовать entitySelectorTemplate для отображения карточки только для хостов, использующих определенную операционную систему.

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

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

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

Заполнитель $(entityConditions) будет автоматически заменен, чтобы указывать на конкретный хост-Object.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
Необходимо
displayName String Название колонки. Необходимо
displayAmount String Если значение равно false, сущности отображаются в виде списка (до 20 сущностей). Если значение равно true, количество связанных сущностей отображается в виде ссылки на экран списка. Связанный список предварительно фильтруется только в том случае, если он настроен listFilters с соответствующими связями и фильтром entityName (freeText: true и modifier: contains). Необходимо
fallbackMessage String Отображает дополнительное сообщение, если Object не найден. Необязательно

ATTRIBUTE

Позволяет указать пользовательский столбец атрибутов.

Поле Тип Описание Необходимо
key String Используется для ссылки на требуемый атрибут. Необходимо
displayName String Название атрибута. Необходимо

Карточки событий

На карточках событий отображаются события, связанные с указанными сущностями.

eventsCards:

      - key: events

        displayName: Events

        entitySelectorTemplates:

        - "$(entityConditions)",

        - "type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions))",

        - "type(PROCESS_GROUP_INSTANCE),fromRelationships.isPgiOfCgi(type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions)))"

        showFiltering: true

        showPagination: true

        pageSize: 10

Поле Тип Описание Необходимость
key String Уникальный ключ карты, используемый для указания желаемой конфигурации карты. Необходимо
displayName String Название карты. Если не указано, карты называются по-разному Events. Необязательно
entitySelectorTemplates Array Список шаблонов выбора сущностей. Определяет, откуда собираются события. Если список пуст, события собираются для текущей сущности. Необязательно
showFiltering boolean Если значение равно нулю true, то над диаграммой событий отобразится панель фильтрации. Необходимо
showPagination boolean Если это так true, то действие « Показать больше» доступно в списке событий. Необходимо
pageSize Integer Количество строк, отображаемых при загрузке карты. Необходимо
description String Описание карты. Необязательно
eventSelectorTemplate String Селектор событий, используемый для получения событий для связанных сущностей. Необязательно
displayChart boolean Показать или скрыть диаграмму на карточке. Необязательно

Карточки логов

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

logsCards:

      - key: logs

        displayName: Logs

        enablePaging: true

        filterQuery: event.type!="k8s" AND ($(logEntityAttributeKey) inEntitySelector "$(entityConditions)" OR dt.entity.container_group_instance inEntitySelector "type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions))" OR dt.entity.process_group_instance inEntitySelector "type(PROCESS_GROUP_INSTANCE),fromRelationships.isPgiOfCgi(type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions)))")

        showFiltering: true

        pageSize: 10

Поле Тип Описание Необходимость
key String Уникальный ключ карточки, используемый для указания желаемой конфигурации карточки. Необходимо
displayName String Название какарточкирты. Необязательно
enablePaging boolean Если установлено значение true, это включает постраничную навигацию результатов логов в таблице. Необязательно
filterQuery String Предварительно заданная фильтрация для таблицы логов. Синтаксис LQL можно использовать и в более сложных случаях, включающих селекторы сущностей с унифицированными заполнителями анализа в формате: expression {attribute} inEntitySelector "{entitySelector}" для отображения логов связанных сущностей. Например, dt.entity.host inEntitySelector "type(PROCESS_GROUP_INSTANCE) AND fromRelationship.isProcessOf($(entityConditions))". Необязательно
showFiltering boolean Управляет видимостью панели фильтров. Необязательно
pageSize Integer Количество строк, отображаемых на одной странице. Необязательно
description String Описание карточки. Необязательно
displayChart boolean Показать или скрыть диаграмму на карточке. Необязательно

Карточки сообщения

В поле messageCards задается поведение карточки сообщения, например, параметры визуализации, тема оформления или текст.

messageCards:

      - key: message-card

        type: CARD

        card:

          text: internal text

          theme: MAIN

          displayName: Message Card

      - key: message-card2

        type: MESSAGE

        message:

          text: internal text

          theme: INFO

Поле Тип Описание Необходимость
key String Уникальный ключ карточки, используемый для указания желаемой конфигурации карточки. Необходимо
type enum Определяет тип вашей карточки сообщения. Возможные значения: CARD, MESSAGE. Необходимо

CARD

Отображает сообщение в формате карточки с заголовком, описанием и кнопками.

Поле Тип Описание Необходимость
text String Определяет описание карточки. Необходимо
theme enum Определяет цветовую тему карточки. Возможные значения: WARNING, MAIN, CTA. Необходимо
displayName String Определяет заголовок карточки. Необязательно

MESSAGE

Отображает сообщение в формате карточки, содержащее только описание.

Поле Тип Описание Необходимость
text String Определяет описание карточки. Необходимо
theme enum Определяет цветовую тему сообщения. Возможные значения: INFO, WARNING, ERROR. Необходимо

Карточки проблем

В поле problemsCard определяется поведение карточки с проблемой.

problemsCard:

      entitySelectorTemplates:

        - NOT VALIDATED IN SCHEMA

        - NOT VALIDATED IN SCHEMA1

        - NOT VALIDATED IN SCHEMA2

Поле Тип Описание Необходимость
entitySelectorTemplates Array До 10 селекторов сущностей, используемых для получения данных о связанных сущностях. Необязательно

Действия

В поле actions определяются действия, доступные из меню.

actions:

      - actionScope: GLOBAL_DETAILS

        actions:

          - actionExpression: actionName|key1=value1

      - actionScope: CHART_GROUP

        key: chart

        actionLocation: CHART

        actions:

          - actionExpression: actionName|key1=value1

      - actionScope: ENTITIES_LIST

        key: entitiesList

        actionLocation: TABLE_ENTRY

        actions:

          - actionExpression: actionName|key1=value1

Поле Тип Описание Необходимость
actionScope enum Заданное действие отображается в настройках выбранного типа карточки. Возможные значения: GLOBAL_DETAILS, GLOBAL_LIST, PROPERTIES, PROBLEMS, CHART_GROUP, ENTITIES_LIST, EVENTS, LOGS, METRIC_TABLE. Необходимо
key String Вы можете указать key, если хотите, чтобы действие было доступно только в одной конкретной карточке. Чтобы добавить это действие во все карточки этого типа, оставьте это поле пустым. Необходимо
actionExpression String Определяет выражение действия. Необходимо
actionLocation enum Определяет местоположение созданного вами действия. Возможные значения: HEADER, CHART, TABLE_ENTRY. Необязательно

Список доступных действий

ActionName|param1key=param1value|param2key=param2value

Общие действия

Действие Параметры Минимальная версия схемы Описание
configuration Нет 221 Создает ссылку на страницу конфигурации сущности. Например, на страницу настроек хоста.
relatedEntityConfiguration entitySelectorTemplate,name 234 Создает ссылку на страницу конфигурации сущности. Например, настройки PGI со страницы хоста.
settings name, scopeClass1 , scopeIdentifier2 , schemaId3 236 Создает ссылку на указанный пользовательский интерфейс настройки темы Settings 2.0.
hubCapability text4 ,hubCapability 5 243 Создает ссылку на указанную функцию Ключ-АСТРОМ Расширения.
hubExtension text4 ,extensionId 6 243 Создает ссылку на указанное расширение в Ключ-АСТРОМ Расширения.
relatedEntityScreen entitySelectorTemplate,name 253 Создает ссылку на страницу унифицированного анализа связанных сущностей.
platform.intent json7 ,label,appId,intentId 254 Действие, запрашиваемое платформой.
smartscape Нет 255 Перенаправляет на smartscape.

1 Класс области действия настроек

2 Идентификатор области действия настроек

3 Идентификатор схемы настроек

4 Отображаемое имя действия

5 Часть URL-адреса, описывающая возможности хаба.

6 Идентификатор расширения используется в качестве части URL.

7 Полный JSON-Object действия

Основные действия

Действие Параметры Действительно для данного условия Минимальная версия схемы Описание
core.editConfig Нет UAScreenFeatureFlags.ENABLE_CONFIG_BUTTONS 218 Перенаправляет на страницу настроек сущности и создает ссылки для всех ее подтипов.
core.shareScreenUrl Нет Область охвата всего экрана 218 Предоставляет ссылку для отправки отзывов.
core.share.feedback Нет Область охвата всего экрана 218 Открывает форму для обратной связи.
core.dataExplorer Нет Тип элемента диаграммы 223 Перенаправляет диаграммы в обозреватель данных.
core.alerting Нет разрешения CONFIG_WRITE, тип элемента диаграммы 224 Перенаправляет графики для установки оповещений по выбранному показателю.
core.pinToDashboard Нет Область действия экрана «Диаграмма или весь дашборд» с UAScreenFeatureFlags.ENABLE_PIN_TO_DASHBOARD 224 Прикрепляет диаграммы или целые сервисы к дашборду.
core.problems Нет - 224 Переходит в раздел «Проблемы» .
core.screenType Нет UAScreenFeatureFlags.ENABLE_CONFIG_BUTTONS 224 Создаёт несколько предопределённых действий для разных типов экранов.
core.singleCard Нет UAScreenFeatureFlags.ENABLE_SINGLE_CARD_BUTTONS 232 Отображает одну карточку.
core.logs.createMetric Нет Тип элемента карточки логов 233 Перенаправляет на страницу настроек логирования для создания метрики лога.
core.opt.out Нет Область охвата всего экрана 235 Переход к классическому виду страницы.
core.useLocalConfig Нет UAScreenFeatureFlags.ENABLE_USE_LOCAL_CONFIG_BUTTON 236 Активирует режим локальной конфигурации.
core.sidebar screenTypeExpression1 UAScreenFeatureFlags.ENABLE_SIDE_BAR_BUTTONS 244 Открывает боковую панель.
core.problems.details pid2 Экран с подробной информацией 243 Переходит к подробной информации о конкретной проблеме.
core.logs.filtered Нет Тип элемента карточки логов 246 Перенаправляет карточки логов в средство просмотра логов.
core.slos.create Нет разрешения CONFIG_WRITE, тип элемента Slo List 255 Перенаправляет диаграммы для создания целевого уровня обслуживания (SLO).

1 Выражение типа экрана, которое будет отображаться в боковой панели.

2 Идентификатор проблемы

Карточки с метрическими таблицами

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

metricTableCards:

      - key: metricTable

        pageSize: 5

        displayCharts: true

        enableDetailsExpandability: true

        numberOfVisibleCharts: 2

        filtering: {}

        charts:

          - displayName: Chart

            conditions:

              - NOT VALIDATED IN SCHEMA

            visualizationType: GRAPH_CHART

            graphChartConfig:

              visualization:

                themeColor: DEFAULT

                seriesType: LINE

              metrics:

                - metricSelector: NOT VALIDATED IN SCHEMA

                - metricSelector: builtin:process.cpu:splitBy("process.pid","process.parent_pid","process.executable.name","process.executable.path","process.command_line","process.owner", "dt.entity.process_group_instance")

                  visualization:

                    themeColor: DEFAULT

                    seriesType: LINE

        conditions:

          - NOT VALIDATED IN SCHEMA

Поле Тип Описание Необходимость
key String Уникальный ключ карточки, используемый для указания желаемой конфигурации карточки. Необходимо
pageSize Integer Количество строк, отображаемых на одной странице. Необходимо
displayCharts boolean Если значение true равно нулю, то над таблицей отобразятся диаграммы с агрегированными данными. Необходимо
enableDetailsExpandability boolean Если задано значение true, строки можно развернуть диаграммами, связанными со значениями измерений в этой строке. Необходимо
numberOfVisibleCharts Integer Количество видимых диаграмм. Необходимо
charts Object Определите диаграммы для отображения данных временных рядов в таблице. Столбцы таблицы основаны на измерениях, полученных из результатов метрик этих диаграмм. Убедитесь, что метрики всех диаграмм имеют одинаковые измерения в результатах. Необязательно
conditions Array Условия отображения диаграммы. Необязательно
filtering Object Фильтрация внутри карточки таблицы метрик. Она затрагивает только эту таблицу и группу диаграмм. Фильтры метрических измерений автоматически отображаются, если есть какие-либо разделения измерений. Чтобы отображать только фильтры метрических измерений, определите поле как пустое (detailsFilters: {}). Необязательно

Карточки здоровья

Карточки состояния здоровья обеспечивают визуальное представление конкретных показателей в пользовательском интерфейсе Ключ-АСТРОМ. Каждую карточку можно настроить для отображения до шести различных плиток, каждая из которых представляет собой уникальный показатель или точку данных.

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

healthCards:

  - key: health_card

    tiles:

    - displayName: Uptime

      metricSelector: builtin:host.uptime

      displayMetricValue: 'true'

      foldTransformation: LAST_VALUE

    - displayName: CPU

      metricSelector: builtin:host.cpu.usage:avg

      displayMetricValue: 'true'

      foldTransformation: LAST_VALUE

      anchor:

        cardName: Host performance

        chartName: CPU usage

    - displayName: Available memory

      metricSelector: builtin:host.mem.avail.pct

      displayMetricValue: 'true'

      foldTransformation: LAST_VALUE

      anchor:

        cardName: Host performance

        chartName: Memory usage

    - displayName: Network

      metricSelector: (builtin:host.net.nic.trafficIn:merge("dt.entity.network_interface"):avg)+(builtin:host.net.nic.trafficOut:merge("dt.entity.network_interface"):avg)

      additionalMetricSelectors:

        collection:

        - builtin:host.net.nic.trafficIn:merge("dt.entity.network_interface")

        - builtin:host.net.nic.trafficOut:merge("dt.entity.network_interface")

      displayMetricValue: 'true'

      foldTransformation: LAST_VALUE

      anchor:

        cardName: Host performance

        chartName: Traffic

Поле Тип Описание Необходимость
key String Уникальный ключ, используемый для сопоставления с данной карточкой здоровья в настройках расположения элементов на экране. Необходимо
tiles Array Набор определений элементов на карточке здоровья. Каждый элемент может отображать определенный показатель. Карточка здоровья может содержать до 6 элементов. Необязательно

tiles

Поле Тип Описание Необходимость
displayName String Название плитки карточки здоровья. Необходимо
metricSelector String Используется для сопоставления проблем и указания показателя, отображаемого на плитке. Необходимо
additionalMetricSelectors Array Используется для сопоставления проблем. Скрыто в пользовательском интерфейсе. Необязательно
displayMetricValue boolean Определяет, следует ли отображать значение метрики на плитке. Необязательно
foldTransformation enum Определяет метод преобразования, который сводит данные к одному значению. Возможные значения: AUTO, LAST_VALUE, MAX, MIN, SUM, MEDIAN, VALUE, PERCENTILE_10, PERCENTILE_75, PERCENTILE_90. Необходимо
anchor Object Определяет элемент, на который будет осуществлено перенаправление при выборе плитки. Это может быть название конкретной карточки или диаграммы. Необязательно