Сценарии администрирования EVPT#
Предусловия#
Параметры установки продукта EVPT описаны в документе «Руководство по установке», разделы «Установка EVPT на ВМ», «Установка EVPT для облачных сред». При необходимости параметры могут быть изменены.
Предусловия для ручных вариантов администрирования#
Все команды выполняются под учетной записью пользователя с правами администратора виртуальной машины, в случае установки на ВМ, или с правами администратора, в случае установки в OS.
В случае ручной установки необходимо, чтобы у пользователя были права администратора в операционной системе на директорию.
В случае установки через Jenkins также необходимо, чтобы были права на запуск.
Правила эксплуатации#
Не применимо.
Описание механизмов безопасности#
Не применимо.
Последовательность выполнения#
Сценарий 1. Запуск EVPT#
Запуск EVPT, установленного на виртуальной машине#
Установка ручным способом с помощью Ansible#
Зайти на узел, на котором будет производиться перезапуск. Определить наличие сервиса, запустив команду:
systemctl status <имя сервиса>.service
При отсутствии сервиса команда завершится с ошибкой. Получение иного результата свидетельствует о наличии сервиса.
При наличии сервиса выполнить:
Запустить сервис:
sudo systemctl start <имя сервиса>.service
При отсутствии сервиса выполнить:
Запустить EVPT. Из директории установки запустить команду:
./bin/scheduler-run-nohup.sh
Здесь <имя сервиса> соответствует имени scheduler из документа «Руководство по установке», разделы «Подготовка окружения EVPT на ВМ», «Подготовка окружения EVPT для облачных сред».
Установка с помощью Jenkins#
Для запуска компонентов с помощью Jenkins используйте задание Jenkins по установке EVPT (название может быть произвольным, задается в процессе установки. Подробнее в документе «Руководство по установке»):
с выбором playbook scheduler.yml с тегом start (запустит EVPT);
Настраиваемые параметры:
job_config_renew— перенастройка задания Jenkins. Данный параметр используется, если был добавлен новый inventory. Меняет значения по умолчанию всех параметров. Сохраняет предыдущее состояние параметров inventories_repo, inventories_branch, inventories_path;inventory— имя inventory для установки;nexusUrl— полный путь до дистрибутива (можно указать несколько через запятую);emailto— список адресатов, кому будут приходить письма о статусе выполнения задания Jenkins;playbook— выбрать необходимый playbook;tags- список тегов, указываются через запятую. При незаданном значении выполняется скачивание дистрибутива из Nexus, установка и запуск EVPT из конфигурационного дистрибутива. При тегах start, stop выполняется старт или стоп существующего EVPT из дистрибутива. При теге adapter_already_installed выполняется установка и запуск EVPT из конфигурационного дистрибутива без выкачивания дистрибутива EVPT из nexusDistribUrl;select_all_hosts— запуск задания Jenkins на всех хостах из указанного inventory;only_on_host— отметить галочками необходимые хосты;custom_vault_password— указываем, если нужен ручной ввод пароля для Ansible Vault;jenkins_slave— выбор jenkins slave;jdk_tool— указание Jenkins Tool с нужной версией JDK, конкретное значение необходимо получить у администратора Jenkins;ansible_branch— используется для работы с несколькими ветками скриптов развертывания. Работает только при значении Branch Specifier (blank for „any“) равным ${ansible_branch};ansible_version— указание Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins;nexus_user_cred— ID credential типа username with password для выкачивания дистрибутива. При заданииsecman_url- полный путь в HashiCorp Vault до УЗ и пароля, например, {ID credential типа vault app role для получение секретов из HashiCorp Vault}|path/to/nexus:{УЗ},{пароль};vault_cred— ID credential типа secret file со строкой для расшифровки паролей (ansible vault) (несколько через запятую); при заданииsecman_url— полный путь в HashiCorp Vault до пароля, например {ID credential}|/path/to/vault:{password_1},{ID credential_2}|/path/to/vault:{password_2} (в качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например, myVaultBase64);server_ssh_cred— ID credential типа ssh key для подключения к серверам. При заданииsecman_url- полный путь в HashiCorp Vault, например {ID credential типа vault app role для получение секретов из HashiCorp Vault}|/path/to/ssh:{УЗ},{ключ},{passphrase} (в качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myPrivateKeyBase64);secman_url— URL для подключения к HashiCorp Vault;ssl_verify— проверяем, являются ли сертификаты HashiCorp Vault/Nexus доверенными;second_hand_approve— подтверждение запуска другим администратором (контроль «второй рукой»). Двухэтапное подтверждение запуска, требующее действия другого администратора для запуска задания Jenkins Job. При активации этой опции одному администратору будет недоступна возможность запуска задания Jenkins Job без подтверждения со стороны другого администратора;inventories_repo,inventories_branch,inventories_path— необязательные параметры. Выкачивание inventory из стороннего репозитория.
Если не выбран ни один из параметров only_on_host, select_all_hosts выполнение задания Jenkins прервется с ошибкой Не выбраны хосты.
Запуск EVPT, установленного в OS#
Отдельная операция запуска EVPT отсутствует, запуск осуществляется «автоматически» после установки (описана в документе «Руководство по установке»).
Получение данных по установленным компонентам продукта#
Для получения данных по установленным компонентам продукта можно воспользоваться утилитой discovery_component.py.
На стороне компонента, если соответствующий порт для компонента уже занят, будет открыт следующий первый свободный порт. Утилита discovery_component.py принимает на вход название компонента и опционально IP адрес, маску подсети, discovery порт, значение таймаута и флаг расширенного логирования.
При запуске происходит выборка целевых IP адресов по IP адресу и маске подсети. По каждому IP адресу последовательно производится проверка на доступность интересующего порта и валидность возвращаемого ответа на запрос /discovery. По мере сканирования в стандартный вывод консоли возвращается информация о найденных установленных компонентах.
Для использования утилиты необходимо выполнить команду:
discovery_component.py [-h] --component COMPONENT [--discovery-port DISCOVERY_PORT] [--mask MASK] [--ip IP] [--closed-port-threshold CLOSED_PORT_THRESHOLD] [--timeout TIMEOUT] [--verbose]
Аргументы:
Параметр |
Назначение |
|---|---|
-h, –help |
show this help message and exit. |
–component COMPONENT |
Четырехсимвольный код компонента для поиска. Возможное значение: „EVPT“. |
–discovery-port DISCOVERY_PORT |
Discovery порт компонента который будет опрашиваться на хостах подсети. По умолчанию берется discovery порт в зависимости от компонента: {„EVPT“: 24000}. Если порт занят - сервер пытается найти свободный порт, увеличивая его на 1 ( |
–mask MASK |
Маска подсети для поиска компонент в нотации CIDR. По умолчанию: /24. |
–ip IP |
IP адрес, подсеть которой будет просканирована. По умолчанию сканируется подсеть локального адреса машины, с которой произведен запуск. |
–closed-port-threshold CLOSED_PORT_THRESHOLD |
Порог количества закрытых подряд портов для перехода проверки на следующий хост. По умолчанию: 5. |
–timeout TIMEOUT |
Тайм-аут на ожидание подключения к порту сканируемого хоста в секундах. По умолчанию: 0.1 секунды. |
–verbose |
Расширенное логирование сканирования. |
Пример возвращаемых данных компонента EVPT при обращении на discovery порт:
{
'product': 'EM',
'component': 'EVPT',
'version': '3.2.0',
'cpuCount': '4'
}
Подробнее с параметрами утилиты можно ознакомиться в файле README.txt, размещенном в папке discovery архива EM-*-metadata-distrib.zip в пакете продукта EM-*-distrib.zip.
Сценарий 2. Остановка EVPT#
Остановка EVPT, установленного на виртуальной машине#
Ручной способ#
Зайти на узел, на котором будет производиться остановка. Определить наличие сервиса, запустив команду:
systemctl status <имя сервиса>.service
При отсутствии сервиса команда завершится с ошибкой. Получение иного результата свидетельствует о наличии сервиса.
При наличии сервиса выполнить:
Остановить сервис:
sudo systemctl stop <имя сервиса>.service
При отсутствии сервиса выполнить:
Остановить EVPT. Из директории установки запустить команду:
./bin/scheduler stop
Здесь <имя сервиса> соответствует имени EVPT из документа «Руководство по установке», раздел «Общие предусловия установки EVPT».
При помощи Jenkins#
Для остановки компонентов с помощью Jenkins используйте задание Jenkins по установке EVPT (название может быть произвольным, задается в процессе установки. Подробнее в документе «Руководство по установке»):
с выбором playbook scheduler.yml с тегом stop.
Настраиваемые параметры:
job_config_renew— перенастройка задания Jenkins. Данный параметр используется, если был добавлен новый inventory. Меняет значения по умолчанию всех параметров. Сохраняет предыдущее состояние параметров inventories_repo, inventories_branch, inventories_path;inventory— имя inventory для установки;nexusUrl— полный путь до дистрибутива (можно указать несколько через запятую);emailto— список адресатов, кому будут приходить письма о статусе выполнения задания Jenkins;playbook— выбрать необходимый playbook;tags— список тегов, указываются через запятую. При незаданном значении выполняется скачивание дистрибутива из Nexus, установка и запуск EVPT из конфигурационного дистрибутива. При тегах start, stop выполняется старт или стоп существующего EVPT из дистрибутива. При теге adapter_already_installed выполняется установка и запуск EVPT из конфигурационного дистрибутива без выкачивания дистрибутива EVPT из nexusDistribUrl;select_all_hosts— запуск задания Jenkins на всех hosts из указанного inventory;only_on_host— отметить галочками необходимые hosts;custom_vault_password— указываем, если нужен ручной ввод пароля для Ansible Vault;jenkins_slave— выбор jenkins slave;jdk_tool— указание Jenkins Tool с нужной версией JDK, конкретное значение необходимо получить у администратора Jenkins;ansible_branch— используется для работы с несколькими ветками скриптов развертывания. Работает только при значении Branch Specifier (blank for „any“) равным ${ansible_branch};ansible_version— указание Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins;nexus_user_cred— ID credential типа username with password для выкачивания дистрибутива. При заданииsecman_url— полный путь в HashiCorp Vault до УЗ и пароля, например, {ID credential типа vault app role для получение секретов из SecMan}|path/to/nexus:{УЗ},{пароль};vault_cred— ID credential типа secret file со строкой для расшифровки паролей (ansible vault) (несколько через запятую). При заданииsecman_url— полный путь в HashiCorp Vault до пароля, например {ID credential}|/path/to/vault:{password_1},{ID credential_2}|/path/to/vault:{password_2} (в качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например, myVaultBase64);server_ssh_cred— ID credential типа ssh key для подключения к серверам. При заданииsecman_url— полный путь в HashiCorp Vault, например {ID credential типа vault app role для получение секретов из SecMan}|/path/to/ssh:{УЗ},{ключ},{passphrase} (в качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myPrivateKeyBase64);secman_url— URL для подключения к HashiCorp Vault;ssl_verify— проверяем, являются ли сертификаты HashiCorp Vault/Nexus доверенными;second_hand_approve— подтверждение запуска другим администратором (контроль «второй рукой»). Двухэтапное подтверждение запуска, требующее действия другого администратора для запуска задания Jenkins Job. При активации этой опции одному администратору будет недоступна возможность запуска задания Jenkins Job без подтверждения со стороны другого администратора;inventories_repo,inventories_branch,inventories_path— необязательные параметры. Выкачивание inventory из стороннего репозитория.
Если не выбран ни один из параметров only_on_host, select_all_hosts выполнение задания Jenkins прервется с ошибкой Не выбраны хосты.
Перезапуск EVPT, установленного в OS#
Не производится операции остановки EVPT, только операция удаления (описана в документе «Руководство по установке»).
Сценарий 3. Перезапуск EVPT#
Перезапуск EVPT, установленного на VM#
Ручной способ#
Зайти на узел, на котором будет производиться перезапуск. Определить наличие сервиса, запустив команду:
systemctl status <имя сервиса>.service
При отсутствии сервиса команда завершится с ошибкой. Получение иного результата свидетельствует о наличии сервиса.
При наличии сервиса выполнить:
Остановить сервис:
sudo systemctl stop <имя сервиса>.serviceЗапустить сервис:
sudo systemctl start <имя сервиса>.service
При отсутствии сервиса выполнить:
Остановить EVPT. Из директории установки запустить команду:
./bin/scheduler stopЗапустить EVPT. Из директории установки запустить команду:
./bin/scheduler-run-nohup.sh
Здесь <имя сервиса> соответствует имени scheduler из документа «Руководство по установке«, раздел «Подготовка окружения EVPT на ВМ», «Подготовка окружения EVPT для облачных сред».
При помощи Jenkins#
Для перезапуска компонентов с помощью Jenkins используйте задание Jenkins по установке EVPT (название может быть произвольным, задается в процессе установки. Подробнее в документе «Руководство по установке»):
с выбором playbook scheduler.yml с тегами stop, start.
Настраиваемые параметры:
job_config_renew— перенастройка задания Jenkins. Данный параметр используется, если был добавлен новый inventory. Меняет значения по умолчанию всех параметров. Сохраняет предыдущее состояние параметров inventories_repo, inventories_branch, inventories_path;inventory— имя inventory для установки;nexusUrl— полный путь до дистрибутива (можно указать несколько через запятую);emailto— список адресатов, кому будут приходить письма о статусе выполнения задания Jenkins;playbook— выбрать необходимый playbook;tags— список тегов, указываются через запятую. При незаданном значении выполняется скачивание дистрибутива из Nexus, установка и запуск EVPT из конфигурационного дистрибутива. При тегах start, stop выполняется старт или стоп существующего EVPT из дистрибутива. При теге adapter_already_installed выполняется установка и запуск EVPT из конфигурационного дистрибутива без выкачивания дистрибутива EVPT из nexusDistribUrl;select_all_hosts— запуск задания Jenkins на всех хостах из указанного inventory;only_on_host— отметить галочками необходимые хосты;custom_vault_password— указываем, если нужен ручной ввод пароля для Ansible Vault;jenkins_slave— выбор jenkins slave;jdk_tool— указание Jenkins Tool с нужной версией JDK, конкретное значение необходимо получить у администратора Jenkins;ansible_branch— используется для работы с несколькими ветками скриптов развертывания. Работает только при значении Branch Specifier (blank for „any“) равным ${ansible_branch};ansible_version— указание Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins;nexus_user_cred— ID credential типа username with password для выкачивания дистрибутива. При заданииsecman_url— полный путь в HashiCorp Vault до УЗ и пароля, например, {ID credential типа vault app role для получение секретов из HashiCorp Vault}|path/to/nexus:{УЗ},{пароль};vault_cred— ID credential типа secret file со строкой для расшифровки паролей (ansible vault) (несколько через запятую). При заданииsecman_url- полный путь в HashiCorp Vault до пароля, например {ID credential}|/path/to/vault:{password_1},{ID credential_2}|/path/to/vault:{password_2} (в качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например, myVaultBase64);server_ssh_cred— ID credential типа ssh key для подключения к серверам. При заданииsecman_url- полный путь в HashiCorp Vault, например {ID credential типа vault app role для получение секретов из HashiCorp Vault}|/path/to/ssh:{УЗ},{ключ},{passphrase} (в качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myPrivateKeyBase64);secman_url— URL для подключения к HashiCorp Vault;ssl_verify— проверяем, являются ли сертификаты HashiCorp Vault/Nexus доверенными;second_hand_approve— подтверждение запуска другим администратором (контроль «второй рукой»). Двухэтапное подтверждение запуска, требующее действия другого администратора для запуска задания Jenkins Job. При активации этой опции одному администратору будет недоступна возможность запуска задания Jenkins Job без подтверждения со стороны другого администратора;inventories_repo,inventories_branch,inventories_path— необязательные параметры. Выкачивание inventory из стороннего репозитория.
Если не выбран ни один из параметров only_on_host, select_all_hosts выполнение задания Jenkins прервется с ошибкой Не выбраны хосты.
Перезапуск EVPT, установленного в OS#
Не производится операции перезапуска EVPT, только операция установки и удаления (описаны в документе «Руководство по установке»).
Сценарий 4. Удаление системных и пользовательских сервисов обслуживания на ВМ для EVPT#
Процесс создания системных и пользовательских сервисов обслуживания описан в документе: «Руководство по установке» в разделе «Подготовка окружения EVPT на ВМ» (подраздел «Создание системных и пользовательских сервисов обслуживания для EVPT»).
Пререквизиты для удаления системных сервисов обслуживания#
Выдайте требуемому пользователю (далее в примере - пользователю scheduler) права на удаление, остановку и редактирование сервиса.
Для этого под пользователем root добавьте строки в файл /etc/sudoers:
scheduler ALL= NOPASSWD: /bin/systemctl daemon-reload
scheduler ALL= NOPASSWD: /bin/systemctl start scheduler
scheduler ALL= NOPASSWD: /bin/systemctl stop scheduler
scheduler ALL= NOPASSWD: /bin/systemctl status scheduler
scheduler ALL= NOPASSWD: /bin/systemctl restart scheduler
scheduler ALL= NOPASSWD: /bin/systemctl enable scheduler
scheduler ALL= NOPASSWD: /bin/systemctl disable scheduler
scheduler ALL= NOPASSWD: /bin/rm /etc/systemd/system/scheduler.service
Ручное удаления системного сервиса обслуживания EVPT#
Под пользователем scheduler выполните следующие действия:
Остановите и выключите системный сервис. Для этого выполните команду
sudo systemctl stop scheduler.service && sudo systemctl disable scheduler.service.Удалите unit файл системного сервиса. Для этого выполните команду
sudo rm /etc/systemd/system/scheduler.service.Для применения изменений выполните команду
sudo systemctl daemon-reload.
Ручное удаление пользовательского сервиса обслуживания EVPT#
Под пользователем scheduler выполните следующие действия:
Остановите и выключите пользовательский сервис. Для этого выполните команду
systemctl stop scheduler.service --user && systemctl disable scheduler.service --user.Удалите unit файл пользовательского сервиса. Для этого выполните команду
rm ~/.config/systemd/user/scheduler.serviceДля применения изменений выполните команду
systemctl daemon-reload --user.
Автоматическое удаление системных и пользовательских сервисов обслуживания с помощью Jenkins#
Выберите соответствующий playbook в Jenkins job, в параметре «playbook»:
scheduler_system_service_delete.yml - удаление системного сервиса обслуживания EVPT;
scheduler_user_service_delete.yml - удаление пользовательского сервиса обслуживания EVPT.
Выберите сервер (host), параметр «only_on_host» или «select_all_hosts» для установки на всех хостах.
Запустите работу Jenkins Job.
Проверьте статус Jenkins Job, для успешной работы должно быть - Finished: SUCCESS.
Сценарий 5. Перешифрование паролей в конфигурационных файлах при установке на ВМ для EVPT#
В случае компрометации чувствительных данных или при изменении алгоритма шифрования можно запустить принудительное перешифрование паролей в конфигурационных файлах с помощью запуска playbook reencrypt_passwords.yml.
Перед осуществлением данной операции рекомендуется всегда создавать архивную копию EVPT.
Предварительно необходимо добавить в конфигурационный файл vars.yml (при установке на ВМ) блок настроек:
reencrypt_passwords:
old_algorithm: PBEWithHmacSHA512AndAES_256 # алгоритм, с которого осуществляется перешифрация (допустимы PBEWithMD5AndTripleDES, PBEWithHmacSHA512AndAES_256)
new_algorithm: PBEWithHmacSHA512AndAES_256 # алгоритм, на который перешифровываем (допустимы PBEWithMD5AndTripleDES, PBEWithHmacSHA512AndAES_256)
change_key: false # удалить старый ключ encrypt.pass и сгенерировать новый, которым требуется перешифровать пароли; false - замены ключа не требуется.
Ручной способ#
На сервере, с которого производилась установка, выполнить команду:
ansible-playbook -i inventories/<ID>/inventory reencrypt_passwords.yml --ask-vault-pass
, где ID — имя созданного inventory.
С помощью Jenkins#
Наименование задания Jenkins: scheduler_VM_install. Запустить данную Jenkins Job с ниже перечисленными параметрами.
Параметры запуска:
job_config_renew— параметр, использующийся для перенастройки задания Jenkins. Данный параметр используется, если был добавлен новый inventory. Меняет значения по умолчанию всех параметров. Сохраняет предыдущее состояние параметров inventories_repo, inventories_branch, inventories_path. Обновляет список тегов для всех playbooks. По умолчанию не указывается;inventory— выбратьinventory, для которого необходимо произвести последовательное обновление;nexusUrl— полный путь до дистрибутива (можно указать несколько через запятую);nexusUrlKafka— полный путь до дистрибутива KFKA или дистрибутива Apache Kafka;emailto— список адресов электронной почты, на которые придет письмо с результатом выполнения задания Jenkins;playbook— указать значение reencrypt_passwords.yml;tags— используемые теги. Если ни один тег не выбран, то отрабатывается весь playbook;select_all_hosts— запуск задания Jenkins на всех hosts из указанного inventory;only_on_host— отметить галочками необходимые hosts. Доступен для выбора только в случае, когда не выбран параметрselect_all_hosts;custom_vault_password— указывается, если нужен ручной ввод пароля для Ansible Vault;jenkins_slave— выбор Slave Jenkins;jdk_tool— указание Jenkins Tool с нужной версией JDK, конкретное значение необходимо получить у администратора Jenkins;ansible_branch— ветка скриптов развертывания (в настройках Jenkins Job указать ${ansible_branch});;ansible_version— указание Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins;nexus_user_cred— ID credential типа username with password для выкачивания дистрибутива. При заданииsecman_url- полный путь в HashiCorp Vault до УЗ и пароля, например, {ID credential типа vault app role для получение секретов из HashiCorp Vault}|path/to/nexus:{УЗ},{пароль};vault_cred— ID credential типа secret file со строкой для расшифровки паролей (ansible vault) (несколько через запятую); при заданииsecman_url— полный путь в HashiCorp Vault до пароля, например {ID credential}|/path/to/vault:{password_1},{ID credential_2}|/path/to/vault:{password_2} (в качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например, myVaultBase64);server_ssh_cred— ID credential типа ssh key для подключения к серверам. При заданииsecman_url- полный путь в HashiCorp Vault, например {ID credential типа vault app role для получение секретов из HashiCorp Vault}|/path/to/ssh:{УЗ},{ключ},{passphrase} (в качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myPrivateKeyBase64);secman_url— URL для подключения к HashiCorp Vault;ssl_verify— проверка, являются ли сертификаты HashiCorp Vault/Nexus доверенными;second_hand_approve— подтверждение запуска другим администратором (контроль «второй рукой»). Двухэтапное подтверждение запуска, требующее действия другого администратора для запуска задания Jenkins Job. При активации этой опции одному администратору будет недоступна возможность запуска задания Jenkins Job без подтверждения со стороны другого администратора;inventories_repo— репозиторий с inventory (ssh://);inventories_branch— ветка репозитория;inventories_path— путь до inventories от корня репозитория.
Процесс перешифрации паролей#
Запускается перешифрация паролей в конфигурационных файлах на каждом планировщике.
В случае, если в vars.yml задан параметр change_key: true, старый ключ, хранящийся в файле /conf/encrypt.pass, будет удален, а затем будет автоматически сгенерирован новый ключ, которым будут перешифрованы пароли в конфигурационных файлах.
После перешифрации паролей на каждом планировщике производится проверка, что каждый «обработанный» планировщик восстановил работу.
Если после перешифрации паролей планировщик не запускается — происходит прерывание работы процесса проверки запуска планировщика. После чего необходимо либо восстановить архивную копию компонента EVPT, либо проанализировать логи, исправить ошибки конфигурирования и перезапустить процесс перешифрования паролей компонента EVPT.
Сценарий 6. Подключение стандарта OpenTelemetry для EVPT#
Настройки подключения#
Для настройки OpenTelemetry необходимо в файле vars.yaml задать параметры настройки конфигурации (для корректной работы Open Telemetry необходимо указать host экспортера
endpointи имя сервисаservice.name):
# Конфигурация для Open Telemetry
telemetry:
config:
file_format: "0.1"
resource:
attributes:
service.name: "<имя сервиса>"
propagators: [ tracecontext ]
tracer_provider:
processors:
- simple:
exporter:
otlp:
endpoint: http://<host>:<port>
sampler:
always_on: { }
При установке компонента EVPT автоматически сформируется файл telemetry.json, в котором задаются параметры
endpointи имя сервисаservice.nameиз файла vars.yaml.
Пример конфигурации Open Telemetry в формате JSON#
{
"file_format": "0.1",
"tracer_provider": {
"processors": [
{
"simple": {
"exporter": {
"otlp": {
"endpoint": "http://<host>:<port>"
}
}
}
}
],
"sampler": {
"always_on": {}
}
},
"propagators": [
"tracecontext"
],
"resource": {
"attributes": {
"service.name": "<имя сервиса>"
}
}
}
Атрибуты трассировки#
Наименование поля |
Тип |
Описание |
Возможное значение |
|---|---|---|---|
http.request.method |
String |
Тип запроса |
POST |
http.route |
String |
Вызываемый url-адрес |
/schedule/ |
http.task.id |
String |
id задачи |
02560757-7130-4148-b4db-182e4b47b892 |
http.resend_number |
String |
Номер попытки ответа при срабатывании внешней системы |
— |
Сценарий 7. Просмотр событий системного журнала и событий мониторинга для EVPT#
Просмотр событий мониторинга#
Подробнее в разделе Мониторинг EVPT.
Просмотр событий системного журнала#
Подробнее в разделе Системный журнал EVPT.
Результат#
Сценарии администрирования выполнены.