Проверка работоспособности#

Проверка работоспособности сервиса Batch Scheduler#

Для проверки работоспособности сервиса Batch Scheduler:

  1. В ConfigMap scheduler-server (scheduler-server-app-config) вручную установите флаг allow-local-hosts: true под свойством server для выполнения запросов на localhost через терминал.

  2. Перезагрузите pod scheduler-server, выполнив команду Start rollout, чтобы внесенные изменения вступили в силу.

  3. Последовательно перейдите по вкладкам Pod scheduler-serverTerminal и выполните запрос на создание Задания.

curl --request POST \
  --url http://localhost:8080/batch/v1/jobs \
  --header 'content-type: application/json' \
  --header 'ott-subject: test' \
  --data '{
    "jsonrpc": "2.0",
    "method": "create",
    "params": {
        "name": "test",
        "description": "Не пишите сюда К1/К2",
        "schedule": "* * * * *",
        "httpTarget": {
            "url": "http://localhost:8081/actuator/health",
            "method": "GET",
            "headers": {
                "k1": "v1",
                "key11": "value11"
            },
            "body": "bodyStr"
        },
        "onlyOneInstance": false,
        "retryPolicy": {
            "maxAttempts": 5,
            "startRetryDuration": "1s",
            "increasePercentage": 0,
            "maxRetryDuration": "5s"
        }
    },
    "id": 555}'
  1. Проверьте выполнение объекта httpTarget с помощью метода get для Задания (поле lastAttempt).

curl --request POST \
  --url http://localhost:8080/batch/v1/jobs \
  --header 'content-type: application/json' \
  --header 'ott-subject: test' \
  --data '{
  "jsonrpc": "2.0",
  "method": "get",
  "params": {
    "name": "test"
  },
  "id": 555}'
  1. При успешном ответе удалите созданное Задание методом delete.

curl --request POST \
  --url http://localhost:8080/batch/v1/jobs \
  --header 'content-type: application/json' \
  --header 'ott-subject: test' \
  --data '{
    "jsonrpc": "2.0",
    "method": "delete",
    "params": {
        "name": "test"
    },
    "id": 555}'

Пример успешного ответа:

{
  "jsonrpc": "2.0",
  "id": 555,
  "result": {
    "name": "test1",
    "description": "Не пишите сюда К1/К2",
    "schedule": " *",
    "state": "ENABLED",
    "httpTarget": {
      "url": "http://localhost:8081/actuator/health",
      "method": "GET",
      "headers": {
        "k1": "v1",
        "key11": "value11"
      },
      "body": "bodyStr"
    },
    "updateTime": "2022-03-22T04:39:00.068Z",
    "lastAttempt": {
      "scheduleTime": "2022-03-22T04:39Z",
      "dispatchTime": "2022-03-22T04:39:00.017Z",
      "responseTime": "2022-03-22T04:39:00.068Z",
      "responseStatus": {
        "code": 200,
        "message": "{\"status\":\"UP\",\"components\":{\"livenessState\":{\"status\":\"UP\"},\"readinessState\":{\"status\":\"UP\"},\"schedulerReadiness\":{\"status\":\"UP\",\"details\":{\"Active БД\":{\"status\":\"UP\"}}}},\"groups\":[\"liveness\",\"readiness\"]}"
      }
    },
    "onlyOneInstance": false,
    "retryPolicy": {
      "maxAttempts": 5,
      "startRetryDuration": "1s",
      "increasePercentage": 0,
      "maxRetryDuration": "5s"
    }
  }
}
  1. В ConfigMap scheduler-server удалите флаг allow-local-hosts: true.

  2. Перезагрузите Pod scheduler-server, выполнив команду Start rollout, чтобы внесенные изменения вступили в силу.

Чек-лист проверки работоспособности интеграций#

Предупреждение

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

  • для основной и репликационной БД - 10 с;

  • для сервисов AUDT и APLJ — 10 с;

  • для HashiCorp Vault/ Secret Management System — 5 мин.

Проверка работоспособности компонента One-Time Password (OTP) / OTT#

Для проверки работоспособности OTT выполните следующие действия:

  1. В системе оркестрации контейнерами перейдите в namespace и найдите pod, которому идут запросы, например, scheduler-server.

  2. Перейдите в лог-записи и проверьте наличие ott-sidecar для подключения к необходимому pod.

  3. Проверьте наличие в pod Ingress ott-sidecar и Egress ott-sidecar.

  4. Отправьте запрос на целевой route сервиса, содержащий OTT-Token (в OTT-Token зашит тенант ott-subject клиента).

  5. Проверьте наличие в лог-записях OTT сообщений, которые укажут на работоспособность сервиса.

Проверка работоспособности компонента Объединенный мониторинг Unimon#

Для проверки работоспособности сервиса Объединенный мониторинг Unimon выполните следующие действия:

  1. В системе оркестрации контейнерами перейдите на вкладку Pods и выберете pod scheduler-server.

  2. Перейдите в Terminal и введите команду:

curl localhost:8081/actuator/prometheus
  1. Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.

Проверка работоспособности компонента Аудит#

Для проверки работоспособности компонента Аудит выполните следующие действия:

  1. Перейдите в АРМ Аудит.

  2. Выберите поле Поиск событий аудита и на открывшейся странице заполните:

    • поля Период — необходимым временным периодом (текущая дата);

    • поле Исходный текст — «batch.scheduler-server».

  3. Нажмите кнопку Найти.

  4. Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.

Проверка работоспособности компонента Журналирование#

Для проверки работоспособности компонента Журналирование выполните следующие действия:

  1. Перейдите в АРМ Журналирование.

  2. Перейдите на вкладку Системный журнал и на открывшейся странице заполните:

    • поля: Начальная дата, Начальное время, Конечная дата, Конечное время;

    • поле Модуль — «scheduler-server».

  3. Нажмите кнопку Поиск.

  4. Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.

Проверка работоспособности компонента Прикладной журнал#

Для проверки работоспособности компонента Прикладной журнал выполните следующие действия:

  1. Перейдите в АРМ Прикладной журнал.

  2. На открывшейся странице Журнал выберите в поле Зона — «SCHD», уберите галочку с чекбокса С ошибками репликации и нажмите кнопку Найти.

  3. Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.

Проверка работоспособности продукта Secret Management System#

Для проверки работоспособности компонента SecMan выполните следующие действия:

  1. В консоли среды контейнеризации последовательно перейдите по вкладкам Deployments —> scheduler-server-ver4 —> YAML. Найдите блок настроек spec —> template —> metadata —> annotations.

annotations:
  vault.hashicorp.com/agent-inject-default-template: json
  vault.hashicorp.com/namespace: CI_******
  vault.hashicorp.com/role: demo
  sidecar.istio.io/inject: 'true'
  vault.hashicorp.com/agent-inject: 'true'
  vault.hashicorp.com/agent-init-first: 'true'
  vault.hashicorp.com/agent-pre-populate: 'true'
  vault.hashicorp.com/agent-inject-secret-kv1-secret: CI_******_CI_******
  deployDate: 'null'
  1. В консоли среды контейнеризации последовательно перейдите по вкладкам Deployments —> scheduler-dispatcher-ver4 —> YAML. Найдите блок настроек spec —> template —> metadata —> annotations.

annotations:
  vault.hashicorp.com/agent-inject-default-template: json
  vault.hashicorp.com/namespace: CI_******
  vault.hashicorp.com/role: demo
  sidecar.istio.io/inject: 'true'
  vault.hashicorp.com/agent-inject: 'true'
  vault.hashicorp.com/agent-init-first: 'true'
  vault.hashicorp.com/agent-pre-populate: 'true'
  vault.hashicorp.com/agent-inject-secret-kv1-secret: CI_******_CI_******
  deployDate: 'null'
  1. В консоли среды контейнеризации последовательно перейдите по вкладкам Deployments —> scheduler-gc-ver4 —> YAML. Найдите блок настроек spec —> template —> metadata —> annotations.

annotations:
  vault.hashicorp.com/agent-inject-default-template: json
  vault.hashicorp.com/namespace: CI_******
  vault.hashicorp.com/role: demo
  sidecar.istio.io/inject: 'true'
  vault.hashicorp.com/agent-inject: 'true'
  vault.hashicorp.com/agent-init-first: 'true'
  vault.hashicorp.com/agent-pre-populate: 'true'
  vault.hashicorp.com/agent-inject-secret-kv1-secret: CI_******_CI_******
  deployDate: 'null'
  1. В консоли среды контейнеризации последовательно перейдите по вкладкам Deployments —> scheduler-journal-applier-ver4 —> YAML. Найдите блок настроек spec —> template —> metadata —> annotations.

annotations:
  vault.hashicorp.com/agent-inject-default-template: json
  vault.hashicorp.com/namespace: CI_******
  vault.hashicorp.com/role: demo
  sidecar.istio.io/inject: 'true'
  vault.hashicorp.com/agent-inject: 'true'
  vault.hashicorp.com/agent-init-first: 'true'
  vault.hashicorp.com/agent-pre-populate: 'true'
  vault.hashicorp.com/agent-inject-secret-kv1-secret: CI_******_CI_******
  deployDate: 'null'

Проверка работоспособности компонента Synapse Rate Limiter Service#

Для проверки работоспособности компонента SRLS выполните следующие действия:

  1. В системе оркестрации контейнеров последовательно перейдите по вкладкам Home -> Search, выберите Resources и введите GlobalRateLimit.

  2. Запомните значения параметра value из блока:

spec:
  endpoints:
    - by_header:
        anon_value: 10
        header: ott-invoker
        invokers:
          - header_value: batch-scheduler
            name: simple
            unit: minute
            value: 5
  1. За 1 мин выполните 6 запросов на создание Задания. Пример запроса:

{
	"jsonrpc": "2.0",
	"method": "create",
	"params": {
		"name": "",
		"description": "Не пишите сюда К1/К2",
		"schedule": "0/15 * * * * *",
		"httpTarget": {
			"url": "{{ _.httpTarget_endpoint }}",
			"method": "GET",
			"headers": {
				"k1": "v1",
				"key11": "value11"
			},
			"body": "bodyStr"
		},
		"onlyOneInstance": true
	},
	"id": 555
}
  1. В системе оркестрации контейнерами перейдите на вкладку Pods, выберете pod scheduler-egress и перейдите в Logs.

  2. В лог-записях на выполненные запросы найдите:

  • 5 ответов с кодом 200;

  • 1 ответ с кодом 429.