Проверка работоспособности#
Проверка работоспособности сервиса Batch Scheduler#
Для проверки работоспособности сервиса Batch Scheduler:
В ConfigMap scheduler-server (scheduler-server-app-config) вручную установите флаг allow-local-hosts: true под свойством server для выполнения запросов на localhost через терминал.
Перезагрузите pod scheduler-server, выполнив команду Start rollout, чтобы внесенные изменения вступили в силу.
Последовательно перейдите по вкладкам Pod scheduler-server → Terminal и выполните запрос на создание Задания.
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}'
Проверьте выполнение объекта 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}'
При успешном ответе удалите созданное Задание методом
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"
}
}
}
В ConfigMap scheduler-server удалите флаг allow-local-hosts: true.
Перезагрузите Pod scheduler-server, выполнив команду Start rollout, чтобы внесенные изменения вступили в силу.
Чек-лист проверки работоспособности интеграций#
Предупреждение
При проверке настроек интеграций выполняется периодичность запуска проверки:
для основной и репликационной БД - 10 с;
для сервисов AUDT и APLJ — 10 с;
для HashiCorp Vault/ Secret Management System — 5 мин.
Проверка работоспособности компонента One-Time Password (OTP) / OTT#
Для проверки работоспособности OTT выполните следующие действия:
В системе оркестрации контейнерами перейдите в namespace и найдите pod, которому идут запросы, например, scheduler-server.
Перейдите в лог-записи и проверьте наличие ott-sidecar для подключения к необходимому pod.
Проверьте наличие в pod Ingress ott-sidecar и Egress ott-sidecar.
Отправьте запрос на целевой route сервиса, содержащий OTT-Token (в OTT-Token зашит тенант ott-subject клиента).
Проверьте наличие в лог-записях OTT сообщений, которые укажут на работоспособность сервиса.
Проверка работоспособности компонента Объединенный мониторинг Unimon#
Для проверки работоспособности сервиса Объединенный мониторинг Unimon выполните следующие действия:
В системе оркестрации контейнерами перейдите на вкладку Pods и выберете pod scheduler-server.
Перейдите в Terminal и введите команду:
curl localhost:8081/actuator/prometheus
Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.
Проверка работоспособности компонента Аудит#
Для проверки работоспособности компонента Аудит выполните следующие действия:
Перейдите в АРМ Аудит.
Выберите поле Поиск событий аудита и на открывшейся странице заполните:
поля Период — необходимым временным периодом (текущая дата);
поле Исходный текст — «batch.scheduler-server».
Нажмите кнопку Найти.
Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.
Проверка работоспособности компонента Журналирование#
Для проверки работоспособности компонента Журналирование выполните следующие действия:
Перейдите в АРМ Журналирование.
Перейдите на вкладку Системный журнал и на открывшейся странице заполните:
поля: Начальная дата, Начальное время, Конечная дата, Конечное время;
поле Модуль — «scheduler-server».
Нажмите кнопку Поиск.
Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.
Проверка работоспособности компонента Прикладной журнал#
Для проверки работоспособности компонента Прикладной журнал выполните следующие действия:
Перейдите в АРМ Прикладной журнал.
На открывшейся странице Журнал выберите в поле Зона — «SCHD», уберите галочку с чекбокса С ошибками репликации и нажмите кнопку Найти.
Если в результатах поиска присутствуют записи, созданные по времени после запуска сервиса, то проверка выполнена успешно.
Проверка работоспособности продукта Secret Management System#
Для проверки работоспособности компонента SecMan выполните следующие действия:
В консоли среды контейнеризации последовательно перейдите по вкладкам 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'
В консоли среды контейнеризации последовательно перейдите по вкладкам 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'
В консоли среды контейнеризации последовательно перейдите по вкладкам 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'
В консоли среды контейнеризации последовательно перейдите по вкладкам 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 выполните следующие действия:
В системе оркестрации контейнеров последовательно перейдите по вкладкам Home -> Search, выберите Resources и введите
GlobalRateLimit.Запомните значения параметра
valueиз блока:
spec:
endpoints:
- by_header:
anon_value: 10
header: ott-invoker
invokers:
- header_value: batch-scheduler
name: simple
unit: minute
value: 5
За 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
}
В системе оркестрации контейнерами перейдите на вкладку Pods, выберете pod scheduler-egress и перейдите в Logs.
В лог-записях на выполненные запросы найдите:
5 ответов с кодом 200;
1 ответ с кодом 429.