Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

GET список*

Материал из Документация АппОптима

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

Проблема включается в ответ, если метка времени начала или окончания проблемы находится в пределах заданного периода времени.

Вы можете сузить вывод, указав критерии фильтрации — см. раздел « Параметры » .

Запрос создает application/jsonполезную нагрузку.

GET АппОптима https://{your-domain}/e/{your-environment-id}/api/v2/problems
Cреда АктивногоШлюза https://{your-activegate-domain}/e/{your-environment-id}/api/v2/problems

Аутентификация

Чтобы выполнить этот запрос, вам нужен токен доступа с областью чтения проблем ( problems.read) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

Параметр Тип Описание In Необходимость
fields string Список дополнительных свойств проблемы, которые вы можете добавить к ответу.

Доступны следующие свойства (все остальные свойства включены всегда, и их нельзя удалить из ответа):

  • evidenceDetails: Детали основной причины.
  • impactAnalysis: анализ воздействия проблемы на другие объекты/пользователей.
  • recentComments: Список самых последних комментариев к проблеме.

Чтобы добавить свойства, укажите их в виде списка, разделенного запятыми (например, evidenceDetails,impactAnalysis).

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

query по желанию
nextPageKey string Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.

Первая страница всегда возвращается, если вы не укажете параметр запроса nextPageKey .

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

query по желанию
pageSize integer Количество проблем в полезной нагрузке одного ответа.

Максимально допустимый размер страницы – 500.

Если не установлено, используется 50.

query по желанию
from string Начало запрошенного таймфрейма.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минуты
    • h: часы
    • d: дни
    • w: недели
    • M: месяцы
    • y: годы

Если не установлено, используется относительный таймфрейм в два часа ( now-2h).

query по желанию
to string Конец запрошенного периода времени.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минуты
    • h: часы
    • d: дни
    • w: недели
    • M: месяцы
    • y: годы

Если не установлено, используется текущая метка времени.

query по желанию
problemSelector string Определяет область запроса. В ответ включаются только проблемы, соответствующие заданным критериям.

Вы можете добавить один или несколько из перечисленных ниже критериев. Для каждого критерия можно указать несколько значений, разделенных запятыми, если не указано иное. Если указано несколько значений, применяется логика ИЛИ . Все значения должны быть указаны.

  • Статус: status("open")или status("closed"). Вы можете указать только один статус.
  • Уровень серьезности: severityLevel("level-1","level-2"). Найдите возможные значения в описании поля серьезности ответа.
  • Уровень воздействия: impactLevel("level-11","level-2")Найдите возможные значения в описании поля ImpactLevel ответа.
  • Объект первопричины: rootCauseEntity("id-1", "id-2").
  • Идентификатор зоны управления: managementZoneIds("mZId-1", "mzId-2").
  • Имя зоны управления: managementZones("value-1","value-2").
  • Затронутые объекты: impactedEntities("id-1", "id-2").
  • Затронутые объекты: affectedEntities("id-1", "id-2").
  • Тип затронутых объектов: affectedEntityTypes("value-1","value-2").
  • Идентификатор проблемы: problemId("id-1", "id-2").
  • Идентификатор профиля оповещения: problemFilterIds("id-1", "id-2").
  • Имя профиля оповещения (содержит без учета регистра): problemFilterNames("value-1","value-2").
  • Имя профиля оповещения (точное совпадение, без учета регистра): problemFilterNames.equals("value-1","value-2").
  • Теги объекта: entityTags("[context]key:value","key:value"). Теги в форматах [context]key:value, key:valueи valueобнаруживаются и анализируются автоматически. Если в теге, содержащем только значение, есть двоеточие ( :), вы должны экранировать двоеточие обратной косой чертой ( \). В противном случае тег будет проанализирован как файл key:value tag. Все значения тегов чувствительны к регистру.
  • Показать идентификатор проблемы: displayId("id-1", "id-2").
  • На обслуживании: underMaintenance(true|false). Показывает (true) или скрывает (false) все проблемы, возникшие в режиме обслуживания.
  • Текстовый поиск: text("value"). Текстовый поиск по следующим полям: название проблемы, заголовки событий, displayId и идентификатор затронутых и затронутых объектов. Текстовый поиск нечувствителен к регистру, имеет частичное совпадение и основан на оценке релевантности. Поэтому relevanceследует использовать параметр сортировки, чтобы сначала получить наиболее важные проблемы. Специальные символы ~и "необходимо экранировать с помощью a ~(например, поиск в двойных кавычках text("~"")). Значение поиска ограничено 30 символами.

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

query по желанию
entitySelector string Область сущности запроса. Вы должны установить один из этих критериев:
  • Тип объекта:type("TYPE")
  • Идентификатор объекта АппОптима: entityId("id"). Вы можете указать несколько идентификаторов, разделенных запятой ( entityId("id-1","id-2")). Все запрошенные сущности должны быть одного типа.

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

  • Тег: tag("value"). Теги в форматах [context]key:value, key:valueи valueобнаруживаются и анализируются автоматически. Любые двоеточия ( :), которые являются частью ключа или значения, должны быть экранированы обратной косой чертой ( \), в противном случае она будет интерпретироваться как разделитель между ключом и значением. Все значения тегов чувствительны к регистру.
  • Идентификатор зоны управления:mzId(123)
  • Название зоны управления:mzName("value")
  • Имя сущности:
    • entityName.equals: выполняет EQUALSзапрос без учета регистра.
    • entityName.startsWith: изменяет оператор на BEGINS WITH.
    • entityName.in: позволяет указать несколько значений. Оператор EQUALSобращается.
    • caseSensitive(entityName.equals("value")): принимает любой критерий имени сущности в качестве аргументов и делает значение чувствительным к регистру.
  • Состояние здоровья (HEALTHY,UNHEALTHY):healthState("HEALTHY")
  • Отметка времени первого увиденного: firstSeenTms.<operator>(now-3h). Используйте любой формат метки времени из параметров from / to . Доступны следующие операторы:
    • lte: раньше или в указанное время
    • lt: раньше указанного времени
    • gte: позже или в указанное время
    • gt: позже указанного времени
  • Атрибут объекта: <attribute>("value1","value2")и <attribute>.exists(). Чтобы получить список доступных атрибутов, выполните запрос типа сущности GET и проверьте поле свойств ответа.
  • Отношения: fromRelationships.<relationshipName>()и toRelationships.<relationshipName>(). Критерий принимает селектор объектов в качестве атрибута. Чтобы получить список доступных отношений, выполните запрос типа сущности GET и проверьте поля fromRelationships и toRelationships .
  • Отрицание: not(<criterion>). Инвертирует любой критерий, кроме type .

Дополнительные сведения см. в разделе Селектор объектов в документации АппОптима.

Чтобы задать несколько критериев, разделите их запятой ( ,). Например, type("HOST"),healthState("HEALTHY"). В ответ включаются только результаты, соответствующие всем критериям.

Поддерживаемая длина строки составляет 2000 символов.

Максимальное количество объектов, которые могут быть выбраны, ограничено 10000.

query по желанию
sort string Указывает набор разделенных запятыми ( ,) полей для сортировки в списке задач.

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

  • status: статус проблемы ( +сначала открытые проблемы или сначала -закрытые проблемы)
  • startTime: время начала проблемы ( +сначала старые проблемы или сначала -новые проблемы)
  • relevance: релевантность проблемы ( +сначала наименее релевантные проблемы или сначала -наиболее релевантные проблемы) — может использоваться только в сочетании с текстовым поиском .

Если префикс не установлен, +используется .

Вы можете указать несколько уровней сортировки. Например, +status,-startTimeсортирует проблемы по статусу, открывая проблемы первыми. В статусе проблемы отсортированы по времени начала, сначала самые старые.

query по желанию

Ответ

Некоторые модели JSON различаются в зависимости от типа модели. Чтобы найти все возможные варианты, обратитесь к моделям JSON .

Коды ответов

Код Тип Описание
200 Problems Успех

Объекты тела ответа

Объект Problems

Список проблем.

Элемент Тип Описание
totalCount integer Общее количество записей в результате.
pageSize integer Количество записей на странице.
nextPageKey string Курсор для следующей страницы результатов. Имеет значение nullна последней странице.

Используйте его в параметре запроса nextPageKey для получения последующих страниц результата.

problems Problem[] Записи результатов.
warnings string [] Список предупреждений

Объект Problem

Свойства проблемы.

Элемент Тип Описание
affectedEntities EntityStub[] Список всех объектов, затронутых проблемой.
rootCauseEntity EntityStub Краткое представление отслеживаемого объекта.
impactedEntities EntityStub[] Список всех объектов, затронутых проблемой.
linkedProblemInfo LinkedProblem Свойства связанной задачи.
problemFilters AlertingProfileStub[] Список профилей предупреждений, соответствующих проблеме.
evidenceDetails EvidenceDetails Доказательства подробности проблемы.
recentComments CommentsList Список комментариев.
impactAnalysis ImpactAnalysis Список всех последствий проблемы.
displayId string Идентификатор отображения проблемы.
impactLevel string Уровень воздействия проблемы. Он показывает, на что влияет проблема.

Элемент может содержать эти значения

  • APPLICATION
  • ENVIRONMENT
  • INFRASTRUCTURE
  • SERVICES
managementZones ManagementZone[] Список всех зон управления, к которым относится проблема.
severityLevel string Серьезность проблемы.

Элемент может содержать эти значения

  • AVAILABILITY
  • CUSTOM_ALERT
  • ERROR
  • INFO
  • MONITORING_UNAVAILABLE
  • PERFORMANCE
  • RESOURCE_CONTENTION
entityTags METag[] Список всех тегов объектов проблемы.
problemId string Идентификатор проблемы.
status string Статус проблемы.

Элемент может содержать эти значения

  • CLOSED
  • OPEN
startTime integer Отметка времени начала проблемы в миллисекундах UTC.
endTime integer Отметка времени окончания проблемы в миллисекундах UTC.

Имеет -1значение, если проблема все еще остается открытой.

title string Название проблемы, отображаемое в пользовательском интерфейсе.

Объект EntityStub

Краткое представление отслеживаемого объекта.

Элемент Тип Описание
entityId EntityId Краткое представление отслеживаемого объекта.
name string Имя объекта.

Не включается в ответ, если сущность с соответствующим идентификатором не найдена.

Объект EntityId

Краткое представление отслеживаемого объекта.

Элемент Тип Описание
id string Идентификатор объекта.
type string Тип объекта.

Объект LinkedProblem

Свойства связанной задачи.

Элемент Тип Описание
displayId string Идентификатор отображения проблемы.
details string Идентификатор проблемы.

Объект AlertingProfileStub

Краткое представление профиля предупреждений.

Элемент Тип Описание
name string Имя профиля предупреждений.
id string Идентификатор профиля оповещения.

Объект EvidenceDetails

Доказательства подробности проблемы.

Элемент Тип Описание
totalCount integer Общее количество признаков проблемы.
details Evidence[] Список всех доказательств.

Объект Evidence

Доказательство первопричины.

Фактический набор полей зависит от типа свидетельства. Найдите список актуальных объектов в описании поляvideType или посмотрите модели Problems API v2-JSON .

Элемент Тип Описание
evidenceType string Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
  • EVENT -> EventEvidence
  • METRIC -> MetricEvidence
  • TRANSACTIONAL -> TransactionalEvidence
  • MAINTENANCE_WINDOW -> MaintenanceWindowEvidence
  • AVAILABILITY_EVIDENCE -> AvailabilityEvidence

Элемент может содержать эти значения

  • AVAILABILITY_EVIDENCE
  • EVENT
  • MAINTENANCE_WINDOW
  • METRIC
  • TRANSACTIONAL
displayName string Отображаемое имя свидетельства.
entity EntityStub Краткое представление отслеживаемого объекта.
groupingEntity EntityStub Краткое представление отслеживаемого объекта.
rootCauseRelevant boolean Свидетельство является ( true) или не является ( false) частью первопричины.
startTime integer Время начала доказательства в миллисекундах UTC.

Объект CommentsList

Список комментариев.

Элемент Тип Описание
comments Comment[] Записи результатов.
pageSize integer Количество записей на странице.
nextPageKey string Курсор для следующей страницы результатов. Имеет значение nullна последней странице.

Используйте его в параметре запроса nextPageKey для получения последующих страниц результата.

totalCount integer Общее количество записей в результате.

Объект Comment

Комментарий к проблеме.

Элемент Тип Описание
authorName string Пользователь, написавший комментарий.
createdAtTimestamp integer Отметка времени создания комментария в миллисекундах UTC.
context string Контекст комментария.
id string Идентификатор комментария.
content string Текст комментария.

Объект ImpactAnalysis

Список всех последствий проблемы.

Элемент Тип Описание
impacts Impact[] Список всех последствий проблемы.

Объект Impact

Анализ воздействия проблемы на другие объекты/пользователей.

Фактический набор полей зависит от типа воздействия. Найдите список актуальных объектов в описании поля ImpactType или посмотрите модели Problems API v2-JSON .

Элемент Тип Описание
impactType string Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
  • SERVICE -> ServiceImpact
  • APPLICATION -> ApplicationImpact
  • MOBILE -> MobileImpact
  • CUSTOM_APPLICATION -> CustomApplicationImpact

Элемент может содержать эти значения

  • APPLICATION
  • CUSTOM_APPLICATION
  • MOBILE
  • SERVICE
impactedEntity EntityStub Краткое представление отслеживаемого объекта.
estimatedAffectedUsers integer Предполагаемое количество затронутых пользователей.

Объект ManagementZone

Краткое представление зоны управления.

Элемент Тип Описание
name string Имя зоны управления.
id string Идентификатор зоны управления.

Объект METag

Тег отслеживаемого объекта.

Элемент Тип Описание
stringRepresentation string Строковое представление тега.
value string Значение тега.
key string Ключ тега.
context string Происхождение тега, например AWS или Cloud Foundry.

Пользовательские теги используют это CONTEXTLESSзначение.

JSON-модель тела ответа

<{
  "totalCount": 1,
  "pageSize": 1,
  "nextPageKey": "AQAAABQBAAAABQ==",
  "problems": [
    {
      "affectedEntities": [
        {
          "entityId": {
            "id": "string",
            "type": "string"
          },
          "name": "string"
        }
      ],
      "rootCauseEntity": {},
      "impactedEntities": [
        {}
      ],
      "linkedProblemInfo": {
        "displayId": "string",
        "problemId": "string"
      },
      "problemFilters": [
        {
          "name": "string",
          "id": "string"
        }
      ],
      "evidenceDetails": {
        "totalCount": 1,
        "details": [
          {
            "evidenceType": "AVAILABILITY_EVIDENCE",
            "displayName": "string",
            "entity": {},
            "groupingEntity": {},
            "rootCauseRelevant": true,
            "startTime": 1
          }
        ]
      },
      "recentComments": {
        "comments": [
          {
            "authorName": "string",
            "createdAtTimestamp": 1,
            "context": "string",
            "id": "string",
            "content": "string"
          }
        ],
        "pageSize": 1,
        "nextPageKey": "AQAAABQBAAAABQ==",
        "totalCount": 1
      },
      "impactAnalysis": {
        "impacts": [
          {
            "impactType": "APPLICATION",
            "impactedEntity": {},
            "estimatedAffectedUsers": 1
          }
        ]
      },
      "displayId": "string",
      "impactLevel": "APPLICATION",
      "managementZones": [
        {
          "name": "string",
          "id": "string"
        }
      ],
      "severityLevel": "AVAILABILITY",
      "entityTags": [
        {
          "stringRepresentation": "string",
          "value": "string",
          "key": "string",
          "context": "string"
        }
      ],
      "problemId": "string",
      "status": "CLOSED",
      "startTime": 1,
      "endTime": 1,
      "title": "string"
    }
  ],
  "warnings": [
    "string"
  ]
}