Поделиться через


Получение событий хаоса

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

Для получения следующего сегмента событий службы Chaos можно указать маркер продолжения. Чтобы получить начало нового сегмента событий службы Chaos, можно указать в системе UTC время начала и окончания диапазона времени. В одном и том же вызове запрещено одновременно указывать маркер продолжения и диапазон времени. Когда в службе Chaos происходит более 100 событий, то события Chaos возвращаются несколькими сегментами. Каждый сегмент содержит не более 100 событий Chaos. Для получения следующего сегмента делается вызов этого API с помощью токена продолжения.

Запрос

Метод Универсальный код ресурса (URI) запроса
GET /Tools/Chaos/Events?api-version=6.2&ContinuationToken={ContinuationToken}&StartTimeUtc={StartTimeUtc}&EndTimeUtc={EndTimeUtc}&MaxResults={MaxResults}&timeout={timeout}

Параметры

Имя Тип Обязательно Расположение
api-version строка Да Запрос
ContinuationToken строка Нет Запрос
StartTimeUtc строка Нет Запрос
EndTimeUtc строка Нет Запрос
MaxResults integer (int64) Нет Запрос
timeout integer (int64) Нет Запрос

api-version

Тип: string
Обязательный: да
По умолчанию: 6.2

Версия API. Этот параметр является обязательным и его значение должно быть "6.2".

Версия REST API Service Fabric основана на версии среды выполнения, в которой api был представлен или был изменен. Среда выполнения Service Fabric поддерживает несколько версий API. Эта версия является последней поддерживаемой версией API. Если передается более ранжная версия API, возвращаемый ответ может отличаться от ответа, описанного в этой спецификации.

Кроме того, среда выполнения принимает любую версию, которая выше последней поддерживаемой версии, вплоть до текущей версии среды выполнения. Поэтому если последняя версия API — 6.0, а среда выполнения — 6.1, среда выполнения будет принимать версию 6.1 для этого API. Однако поведение API будет выполняться в документе версии 6.0.


ContinuationToken

Тип: string
Обязательный: нет

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


StartTimeUtc

Тип: string
Обязательный: нет

Время файла Windows, представляющее время начала периода, за который создается отчет Chaos. Дополнительные сведения см. в описании метода DateTime.ToFileTimeUtc.


EndTimeUtc

Тип: string
Обязательный: нет

Время файла Windows, представляющее время окончания периода, за который создается отчет Chaos. Дополнительные сведения см. в описании метода DateTime.ToFileTimeUtc.


MaxResults

Тип: integer (int64)
Обязательный: нет
По умолчанию: 0
InclusiveMinimum: 0

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


timeout

Тип: integer (int64)
Обязательный: нет
По умолчанию: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

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

Ответы

Код состояния HTTP Описание схеме ответа.
200 OK; Следующий сегмент событий Chaos.
ChaosEventsSegment
Все остальные коды состояния Подробный ответ об ошибке.
FabricError

Примеры

Получение событий Chaos по заданному диапазону времени

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

Запрос

GET http://localhost:19080/Tools/Chaos/Events?api-version=6.2&StartTimeUtc=0&EndTimeUtc=3155378975999999999

Ответ 200

Текст
{
  "ContinuationToken": "",
  "History": [
    {
      "ChaosEvent": {
        "Kind": "Started",
        "TimeStampUtc": "2017-04-14T04:27:19.049Z",
        "ChaosParameters": {
          "MaxClusterStabilizationTimeoutInSeconds": "30",
          "MaxConcurrentFaults": "3",
          "WaitTimeBetweenIterationsInSeconds": "10",
          "WaitTimeBetweenFaultsInSeconds": "1",
          "TimeToRunInSeconds": "3600",
          "EnableMoveReplicaFaults": true,
          "ClusterHealthPolicy": {
            "ConsiderWarningAsError": true,
            "MaxPercentUnhealthyNodes": "0",
            "MaxPercentUnhealthyApplications": "10",
            "ApplicationTypeHealthPolicyMap": [
              {
                "Key": "myapp",
                "Value": "3"
              }
            ]
          },
          "Context": {
            "Map": {
              "k1": "v1",
              "k2": "v2",
              "k3": "v5"
            }
          }
        }
      }
    },
    {
      "ChaosEvent": {
        "Kind": "ExecutingFaults",
        "TimeStampUtc": "2017-04-14T04:27:20.667Z",
        "Faults": [
          "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_1, PartitionId: 6a91b09a-bd76-45da-afaa-ed0fd9bfe7d2, ReplicaId: 131366172775684622",
          "ActionType: CodePackageRestart, NodeName: N0050, ApplicationName: fabric:/TestApp1, ServiceManifestName: SP1, ServiceManifestName: , CodePackageName: CP1.",
          "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_3, PartitionId: baa3a51e-5c42-435e-89d3-6e97b2164661, ReplicaId: 131366172988968762"
        ]
      }
    }
  ]
}