Чек-лист валидации установки EVTD#
Убедиться, что в лог-файлах узлов брокеров Platform V Corax / Apache Kafka присутствует запись о старте сервера. Для этого на узле выполнить команду и убедиться, что вхождение строки есть:
cat /opt/Apache/kafka/logs/server.log | grep "started (kafka.server.KafkaServer)"
Убедиться, что сервис Zookeeper работает корректно, выполнив команду:
telnet <адрес узла zookeeper> 2181
В появившемся приглашении ввода ввести ruok и нажать Enter. В случае, если узел работает корректно, от него поступит ответ imok и соединение закроется.
Проверить работу сервисов Zookeeper. Для этого требуется зайти на каждый из серверов Zookeeper и выполнить команду:
systemctl list-unit-files | grep -e zookeeper
Проверить содержимое конфигурации сервиса командой:
cat /etc/systemd/system/zookeeper.service
Проверить, что исполняемые команды в параметрах ExecStart и ExecStop ссылаются на существующие файлы.
Проверить работу сервисов Platform V Corax / Apache Kafka. Для этого требуется зайти на каждый из серверов и выполнить команду:
systemctl list-unit-files | grep -e kafka
Проверить содержимое конфигурации сервиса командой:
cat /etc/systemd/system/kafka.service
Проверить, что исполняемые команды в параметрах ExecStart и ExecStop ссылаются на существующие файлы.
Убедиться, что в лог-файлах узлов компонента EVTD присутствует запись об интеграции с системой аудита. Для этого на узле выполнить команду и убедиться, что вхождение строки есть:
cat /opt/Apache/kafka/logs/server.log | grep "INFO Success response from server on sending audit event: kafka.audit.model.AuditMessage"
Проверить настройку интеграций:
Проверка интеграции с системой аудита (AUDT)
Проверить наличие и значения (если они приведены) настроек подключения к системе аудита в файле server.properties:
kafka.se.audit.enable = true
system.id = <System_ID>
kafka.se.audit.provider = kafka.audit.provider.TsAuditProvider
kafka.se.audit.provider.tsaudit.model.url = https://<host>:<port>
kafka.se.audit.provider.tsaudit.event.url = https://<host>:<port>
kafka.se.audit.provider.tsaudit.ssl.keystore.location = ...
kafka.se.audit.provider.tsaudit.ssl.keystore.password = ...
kafka.se.audit.provider.tsaudit.ssl.truststore.location = ...
kafka.se.audit.provider.tsaudit.ssl.truststore.password = ...
Если значение параметра приведено, оно должно соответствовать указанному. В ином случае — значения параметров вариативны и определяются конкретной инсталляцией Platform V Corax / Apache Kafka.
Проверка интеграции с KFKA
Если произведена настройка интеграции с компонентом KFKA - после завершения установки необходимо проверить наличие логов в EVTD. Признаком корректной работы интеграции является наличие опубликованных сообщений и вычитка из указанного топика.
Проверка интеграции с системой мониторинга Platform V Synapse Event-domain management (EDMN)
После установки брокеров Platform V Corax / Apache Kafka производится настройка мониторинга на кластерах брокеров. Проверка подключения мониторинга осуществляется специалистом сопровождения мониторинга с ролью Metrix monitoring admin.
Эта проверка проводится на сервере, на котором установлен коллектор метрик мониторинга каталоге установки коллектора метрик.
Необходимо проверить:
связь с брокерами настроена. Для этого в файле <имя коллектора метрик>.properties проверить наличие параметров:
no_edBootstrapServers=<список хост:порт для подключения к кластеру Kafka через Kafka admin clients>
no_edBootstrapJmx=<список хост:порт для подключения к кластеру Kafka через JMX>
Здесь и далее <имя коллектора метрик> – имя коллектора метрик, считывающего метрики данной установки Platform V Corax / Apache Kafka, имя элемента словаря collector.list в файле настроек коллектора vars.yml. По умолчанию имеет вид <Имя домена>-kafka-metrics.
запущен коллектор.
Для этого выполнить команду:
ps aux | grep "<имя коллектора метрик>.properties"
В ответе должна прийти строка с параметрами запуска.
Пример команды:
ps aux | grep "<имя коллектора метрик>.properties"
Пример ответа:
wfadmin <pid> 10.1 8.1 4983936 655956 ? Sl <date>:41 java -Djava.security.egd=file:/dev/./urandom -Dlogback.configurationFile=path/to/logback.xml -Xms128M -Xmx1G -classpath path/to/lib/* ru.fpss.monitoring.collector.Main -c ./path/to/application.conf -m ./config/kafka-metrics-ed-prom.conf -d /path/to/Domain-kafka-metrics.properties -l /path/to/logback-Domain-kafka-metrics.xml
wfadmin 23863 0.0 0.0 113100 1260 pts/40 S+ 12:47 0:00 grep --color=auto Domain-kafka-metrics-ed-prom.properties
что в логах присутствуют вхождения логов записи метрик. Для этого:
В файле logback-<имя коллектора метрик>.xml найти имя файла логов для данного кластера брокеров Platform V Corax / Apache Kafka. В appender file в теге
<file></file>присутствует имя файла логов, например:
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/path/to/<имя коллектора метрик>.log</file>
В файле логов (<имя коллектора метрик>.log) произвести поиск логов записи метрик. Для этого выполнить команду:
>cat <имя коллектора метрик>.log | grep "<SINK>" | grep -v 'metricSize=[0,1]'
Дополнительные параметры (ограничения):
только количество строк в логах, удовлетворяющих поиску (а не текст логов):
>cat *<имя коллектора метрик>.log | grep "<SINK>" | grep -v 'metricSize=[0,1]' | wc -l
>3596
только за конкретный период времени логов:
>cat *<имя коллектора метрик>.log | grep "<SINK>" | grep -v 'metricSize=[0,1]' | grep "2022-10-17 13:50:01"
>2022-10-17 13:38:01.231 [MetricCollector-akka.actor.default-dispatcher-12] INFO ru.fpss.monitoring.collector.controller.flow.FlowBuilder - Success<SINK>[collectorId=<collectorId>,collectorName=KafkaMetricsPrometheus,host=<host>,class=FlowBuilder,flowId=<flowId>,flowName=KafkaProcessCpuLoadToInfluxDb,componentName=PrometheusPushGatewayOutput,processName=MetricOutput,metricSize=3]=List(Metric(Segment(Seg).Federation(Fed).Domain(Domain_promet).Kafka.Cluster(KafkaMetricsPrometheus).Broker(<host>).ProcessCpuLoad,Gauge,2022-10-17T10:38:01.213132Z,HashMap(description -> Загрузка CPU в процентах, unit -> %),Map(Value_Double -> 0.9)), Metric(Segment(Seg).Federation(Fed).Domain(Domain_promet).Kafka.Cluster(KafkaMetricsPrometheus).Broker(<host>).ProcessCpuLoad,Gauge,2022-10-17T10:38:00,HashMap(description -> Загрузка CPU в процентах, unit -> %),Map(Value_Double -> 0.9)), Metric(LivenessProbe.Collector(KafkaMetricsPrometheus).Instance(<collectorId>).Flow(KafkaProcessCpuLoadToInfluxDb).Instance(<flowId>).IsAlive,Gauge,2022-10-17T10:38,HashMap(description -> Liveness-проба Потока (1 - статус успеха)),Map(Value_String -> 1))) with result='true'
>2022-10-17 13:38:01.935 [MetricCollector-akka.actor.default-dispatcher-9] INFO ru.fpss.monitoring.collector.controller.flow.FlowBuilder - Success<SINK>[collectorId=<collectorId>,collectorName=KafkaMetricsPrometheus,host=<host>,class=FlowBuilder,flowId=<flowId>,flowName=KafkaTopicBytesInPerSecCountToInfluxDb,componentName=PrometheusPushGatewayOutput,processName=MetricOutput,metricSize=47] with result='true'
Результат положительного ответа на команду приведен выше (либо ненулевое количество строк, либо сами строки с результатами поиска).
Проверка интеграции с компонентом EVTA
Проверка подключения классов-перехватчиков с EVTA осуществляется со стороны EVTA.
Проверка интеграции с системой управления ключами и сертификатами (HashiCorp Vault):
Убедиться, что сертификаты Vault получены.
Проверить, что на сервере в установочной директории в папке SSL есть валидный сертификат.