Инструмент проверки сетевой связанности элементов контура на уровне портов и протоколов. Позволяет выявлять проблемы с подключением и конфигурацией сетевых устройств, а также генерировать отчеты о готовности окружения к работе.
- Доступность удаленного TCP порта
- Доступность порта по HTTP или HTTPS
- Работа DNS
- Поиск тестов по Имени хоста или Алиасам
- Если нет совпадений, то берем из
_default_секции
- Если нет совпадений, то берем из
- Разрешение DNS имен в Тестах
- Выполнение проверок в сл. порядке:
- PORT - Открытость TCP порта
- HTTP - Проверка протокола HTTP и кода ответа из диапазона 2xx или 3xx
- HTTPS - Проверка протокола HTTPS, валидация защищенного соединения и кода ответа из диапазона 2xx или 3xx
- Формирование отчета в формате Markdown
- PowerShell 6, лучше 7 и выше
- OS
- AltLinux p8, лучше p10 и выше
- AstraLinux 1.7 и выше
- MacOS 10.15 и выше
- Windows 2012 R2 и выше
- Powershell Module
powershell-yaml. Описание
.
├── doc # папка с дополнительной документацией
├── PSConnectivityCheck.ps1 # основной скрипт
├── EnvironmentConnectivityExample.yaml # пример конфигурации окружения
├── EnvironmentConnectivity.yaml # файл конфигурации окружения по умолчанию
├── DemoConnectCheckReport.md # пример отчета# Запуск скрипта с указанием файла конфигурации окружения
.\PSConnectivityCheck.ps1 -EnvironmentConfigFilePath .\EnvironmentConnectivityExample.yaml
# Если не указать путь к файлу конфигурации,
# то будет использован файл по умолчанию - EnvironmentConnectivity.yaml---
HostBusinessName1: # Основное имя хоста
alias: # Не обязательный параметр, альтернативные имена хоста
- Name1.domain.ru # Альтернативное DNS имя
- AltName1 # Альтернативное DNS имя
services: # Обязательный параметр вместе с одним из протоколов
port:
- 10.0.0.4: # Можно указывать несколько портов для проверки
- 111 # TCP Порт
- 444
- hostName2: 222
http:
- 10.0.0.3: 80
- hostName3: 8080
https:
- github.com: 443
serviceGroups: # Блок проверок объеденных в группы
db-cluster: # Имя группы, прохождение всех проверок в группе обязательно
Exadata:
# на общий результат не влияет
_default_: # Не обязательная секция, для не сопоставленных хостов
services:
port:
- huggingface.co: 443
_serviceGroups_: # Не обязательная секция, коллекция групп сервисов
db-cluster : # Имя группы
port:
- db-master:
- 5432
- 5433
- db-slave: 5432
Exadata:
port:
- db-Exadata: 1251
- Exit code в зависимости от результата, для использования в CI/CD
- Возможность указать диапазон портов
- Повтор тестов N раз
- Загрузка файла конфигурации по http/https
- Отчет в формате Allure Report (json)
- Добавить поддержку других протоколов( S3, PostgreSQL, gRPC и т.д. )
- В
HostBusinessName1можно использовать Regex выражения - Запись респонса в отчет для анализа позже
- Добавить поддержку UDP портов
- Порт по умолчанию для HTTP и HTTPS
- Централизованный запуск тестов через Ansible
- WarningOnly для Сервис групп - Только предупреждения, при провале проверок в группе
