← На главный сайт itvik.tech

Version Inventory — Excel + Zabbix (Frontend Only)

👋 Новый пользователь? Начни отсюда →

Dashboard & Analytics

Что это?
Dashboard — это аналитическая панель, которая показывает общую картину по версиям сервисов, окружениям и хостам. Здесь вы можете увидеть распределение версий, найти отстающие окружения и проследить историю изменений.
Как использовать:
  • Просмотрите Overview — общую статистику по количеству окружений, хостов, сервисов и эндпоинтов
  • Изучите графики распределения версий по окружениям и сервисам
  • Проверьте раздел Anomalies & Alerts — здесь показаны отстающие версии и проблемы
  • Просмотрите Version History — историю изменений версий во времени
Источники данных: VersionSnapshot, Endpoint, Service, Environment

Фильтры

Overview

Источник данных: Environment, Host, Service, Endpoint, VersionSnapshot

Version Distribution by Environment

Источник данных: VersionSnapshot → Endpoint → Environment

Version Distribution by Service

Источник данных: VersionSnapshot → Endpoint → Service

Anomalies & Alerts

Источник данных: VersionSnapshot, Endpoint, Service, Environment (анализ несоответствий и отстающих версий)

Version History

Источник данных: VersionSnapshot → Endpoint → Service, Environment (сортировка по timestamp)

Environment

Что это?
Environment — это окружения, в которых работают ваши сервисы (например: Production, Testing, Development). Окружения используются для группировки хостов и эндпоинтов.
Как использовать:
  • Нажмите "Добавить окружение" для создания нового окружения
  • Заполните поля: id (уникальный идентификатор), name (название), description (описание)
  • Редактируйте данные прямо в таблице — просто кликните на ячейку
  • Удалите строку кнопкой ✕ справа

Host

Что это?
Host — это физические или виртуальные хосты (серверы), на которых работают ваши сервисы. Каждый хост привязан к окружению.
Как использовать:
  • Нажмите "Добавить хост" для создания нового хоста
  • Заполните поля: id (уникальный идентификатор), name (имя хоста), ip (IP-адрес), envId (ID окружения)
  • Редактируйте данные прямо в таблице — просто кликните на ячейку
  • Удалите строку кнопкой ✕ справа
  • Импортируйте хосты из Excel через вкладку Excel Workspace

Service

Что это?
Service — это логические сервисы (приложения, брокеры, монолиты), версии которых вы отслеживаете. Сервисы не привязаны к конкретным хостам, но связаны с эндпоинтами.
Как использовать:
  • Нажмите "Добавить сервис" для создания нового сервиса
  • Заполните поля: id (уникальный идентификатор), name (название сервиса), owner (владелец/команда)
  • Редактируйте данные прямо в таблице — просто кликните на ячейку
  • Удалите строку кнопкой ✕ справа
  • Импортируйте сервисы из Excel через вкладку Excel Workspace

Endpoint

Что это?
Endpoint — это точки опроса версий сервисов. Каждый эндпоинт привязан к сервису и окружению, имеет URL и метод запроса (GET/POST).
Как использовать:
  • Нажмите "Добавить endpoint" для создания нового эндпоинта
  • Заполните поля: id (уникальный идентификатор), serviceId (ID сервиса), envId (ID окружения), url (URL для опроса), method (HTTP метод)
  • Редактируйте данные прямо в таблице — просто кликните на ячейку
  • Используйте кнопку "Сформировать curl-команды" для генерации команд опроса всех эндпоинтов
  • Импортируйте эндпоинты из Excel через вкладку Excel Workspace

Автогенерация curl / HTTP-запросов

Version Snapshot

Что это?
Version Snapshot — это снимки версий эндпоинтов на определённый момент времени. Здесь хранится история версий: какая версия была на каком эндпоинте и когда.
Как использовать:
  • Нажмите "Добавить снапшот вручную" для ручного добавления версии
  • Или используйте "Импорт результата опроса" — вставьте JSON с результатами опроса эндпоинтов
  • Формат JSON: {"endpointId": "svc1-prod", "version": "1.0.0", "build": "42"} или массив таких объектов
  • Редактируйте данные прямо в таблице — просто кликните на ячейку
  • Данные используются в Dashboard для анализа и в Version Matrix для сравнения

Импорт результата опроса (JSON)

Поддерживается один объект или массив объектов, вид:
{ "endpointId": "svc1-prod", "version": "1.0.0", "build": "42" }

Матрица версий (Service × Environment)

Что это?
Version Matrix — это таблица для сравнения версий сервисов по окружениям. Вы можете выбрать эталонное окружение и увидеть, какие версии отличаются от эталона.
Как использовать:
  • Выберите эталонное окружение из выпадающего списка
  • Заполните версии в ячейках таблицы — просто кликните на ячейку и введите версию
  • Ячейки, отличающиеся от эталонного окружения, будут подсвечены красным
  • Данные матрицы хранятся отдельно и не зависят от Version Snapshot
  • Используйте матрицу для планирования обновлений и выравнивания версий

Ячейки, отличающиеся от эталонного окружения, подсвечены. Данные матрицы хранятся отдельно в localStorage и не завязаны на снапшоты.

Excel Workspace (универсальный)

Что это?
Excel Workspace — это универсальная рабочая зона для работы с Excel и CSV файлами. Здесь вы можете загружать файлы, просматривать данные, искать информацию, генерировать команды и скрипты, а также импортировать данные в инвентарь.
Как использовать:
  • Загрузите Excel/CSV файл(ы) — можно выбрать несколько файлов одновременно
  • Выберите лист из выпадающего списка (если в файле несколько листов)
  • Используйте поиск для быстрого нахождения данных (локальный по текущему листу или глобальный по всем файлам)
  • Отметьте нужные колонки чекбоксами для использования в билдере строк
  • Создайте шаблон команды с плейсхолдерами {ColumnName} и сформируйте команды для всех строк
  • Импортируйте данные в инвентарь через маппинг колонок или используйте Zabbix Builder для генерации скриптов
Основные функции: Загрузка файлов, поиск, фильтрация, генерация команд, импорт в инвентарь, Zabbix Builder

Загрузка Excel

Можно загружать несколько Excel/CSV файлов одновременно. Структура не жёсткая.

Поиск и фильтрация

Колонки листа

Отмеченные колонки будут использоваться в билдере строк.

    Билдер строк (шаблон)

    Используйте плейсхолдеры вида {ColumnName}.
    Например: ssh {host} -p {port} или curl http://{ip}:{port}/version.

    Импорт в инвентарь (из Excel)

    Маппинг: какие поля сущности брать из каких колонок Excel. Импортируются строки текущего листа с учётом фильтра. Поля пытаются автоматически сопоставляться по названию (host/ip/port/env/service и т.п.).

    Превью данных листа

    Результат (скрипты / команды)

    Zabbix Agent Builder

    Использует текущий лист Excel. По выбранным колонкам строит:
    1) заготовку скрипта для zabbix-агента,
    2) строку UserParameter для zabbix_agentd.conf,
    3) inventory-файл (host;port) по текущему листу и фильтру.

    Скрипт для zabbix-агента

    UserParameter для zabbix_agentd.conf

    Inventory host;port (по Excel)

    SQL / BI Engine

    Что это?
    SQL / BI Engine — это инструмент для выполнения SQL-подобных запросов к данным из загруженных Excel/CSV файлов. Позволяет фильтровать, группировать, сортировать и объединять данные без написания кода.
    Как использовать:
    • Выберите источник данных (лист) из выпадающего списка
    • Опционально выберите лист для JOIN (объединения данных)
    • Введите SQL-запрос в текстовое поле (например: SELECT host, ip WHERE env = "prod")
    • Нажмите "Выполнить" для выполнения запроса
    • Просмотрите результаты в таблице
    • Используйте "Примеры" для просмотра примеров запросов
    • Экспортируйте результаты в CSV или JSON
    Поддерживаемые операции: SELECT, WHERE, ORDER BY, GROUP BY, JOIN, агрегации (COUNT, SUM, AVG, MIN, MAX)

    SQL Запрос

    Результаты

    Templates & Script Builder

    Что это?
    Templates — это сохранённые шаблоны команд и скриптов, которые можно применять к данным из Excel. Шаблоны используют плейсхолдеры {ColumnName} для подстановки значений из таблиц.
    Как использовать:
    • Нажмите "Создать шаблон" для создания нового шаблона
    • Укажите название, тип (SSH, CURL, SQL, Ansible, Zabbix и др.), категорию и описание
    • Напишите шаблон с плейсхолдерами (например: ssh {host} -p {port})
    • Используйте кнопку "Тест" для проверки шаблона на примере
    • Сохраните шаблон — он будет доступен для использования в Excel Workspace
    • Фильтруйте шаблоны по типу для быстрого поиска
    Типы шаблонов: SSH, CURL, SQL, Ansible, Zabbix, Bash, PowerShell, Generic

    Сохраненные шаблоны

    Редактор шаблона

    Datasets (Конструктор данных)

    Что это?
    Datasets — это конструктор для создания логических наборов данных из разных источников. Вы можете собрать собственный инвентарь, выбрав нужные колонки из загруженных Excel/CSV файлов, применив фильтры и дав колонкам понятные имена.
    Как использовать:
    • Нажмите "Создать Dataset" для создания нового набора данных
    • Выберите источник: файл и лист из уже загруженных Excel/CSV
    • Выберите нужные колонки и задайте им понятные имена (опционально)
    • Добавьте простые фильтры (по env/host/port и т.п.)
    • Сохраните Dataset — он будет доступен для просмотра, экспорта и использования в других модулях
    • Используйте Dataset для генерации команд (как в Excel Workspace) или импорта в Inventory
    Источники данных: Загруженные Excel/CSV файлы и их листы. Интеграция: Excel Workspace (генерация команд), Inventory (импорт данных)

    Сохраненные Datasets

    Редактор Dataset

    Выбор колонок

    Фильтры

    Фильтры будут добавлены в следующей итерации

    Предпросмотр данных

    Выберите Dataset для предпросмотра

    Scan / Jobs

    Что это?
    Scan / Jobs — это модуль для управления задачами опроса эндпоинтов и хостов. Здесь вы можете создавать задачи опроса, запускать их вручную, просматривать результаты и автоматически создавать снапшоты версий из успешных опросов.
    Как использовать:
    • Создайте Job — задачу опроса, выбрав тип (endpoints или hosts) и целевые объекты
    • Выберите шаблон команды (опционально) для генерации команд опроса
    • Запустите Job вручную — получите список команд для выполнения
    • Выполните команды вручную (или через скрипт) и вставьте результаты
    • Просмотрите результаты опросов — статусы, извлеченные версии, ошибки
    • Успешные опросы автоматически создают Version Snapshots
    Источники данных: Endpoint, Host (для выбора целей), Template (для шаблонов команд), VersionSnapshot (автоматическое создание)

    Задачи опроса (Jobs)

    Редактор Job

    Выбор целей

    Результаты опросов

    Импорт результатов опроса

    Вставьте результаты опроса в формате JSON. Каждый результат должен содержать: jobId, endpointId или hostId, status, response (опционально), error (если есть).

    Credentials (Учетные данные)

    Что это?
    Credentials — это безопасное хранилище учетных данных для опроса закрытых контуров. Здесь вы можете сохранять технические и пользовательские учетные данные (пароли, SSH ключи), которые будут использоваться при выполнении Jobs для опроса endpoints и hosts.
    Как использовать:
    • Создайте новый Credential — укажите название, тип (технический/пользовательский), тип аутентификации (password/SSH)
    • Введите учетные данные — пароли и SSH ключи автоматически шифруются
    • Выберите Credential при создании Job — он будет использоваться для аутентификации при опросе
    • Пароли хранятся в зашифрованном виде и недоступны после закрытия браузера
    Безопасность: Все пароли и SSH ключи шифруются через Web Crypto API (AES-GCM). Ключ шифрования хранится только в sessionStorage (теряется при закрытии браузера). Интеграция: Jobs (выбор креденшала для опроса)

    Сохраненные креденшалы

    Редактор креденшала

    Экспорт / Импорт

    Что это?
    Import / Export — это инструмент для экспорта данных из инвентаря в JSON/CSV и импорта данных обратно. Позволяет создавать резервные копии и переносить данные между экземплярами приложения.
    Как использовать:
    • Экспорт JSON: Выберите сущность (Environment, Host, Service и т.д.) и нажмите "Экспорт JSON" — данные появятся в текстовом поле
    • Экспорт CSV: Выберите сущность и нажмите "Экспорт CSV" — данные появятся в текстовом поле
    • Импорт JSON: Вставьте полный JSON дамп базы в текстовое поле и нажмите "Импорт с полной заменой" — все данные будут заменены
    • Скопируйте экспортированные данные для сохранения или переноса
    Формат импорта: {"environments": [...], "hosts": [...], "services": [...], "endpoints": [...], "snapshots": [...]}

    Экспорт JSON

    Экспорт CSV

    Импорт JSON (полная замена всей базы)

    Ожидается объект вида:
    { "environments": [...], "hosts": [...], "services": [...], "endpoints": [...], "snapshots": [...] }

    Экспорт / Импорт конфигурации проекта

    Что это?
    Экспорт/Импорт конфигурации — это инструмент для создания полной резервной копии проекта и восстановления из неё. Экспортирует всю конфигурацию (инвентарь, Excel данные, шаблоны, datasets, профили маппинга, Jobs, креденшалы) в один JSON файл.
    Как использовать:
    • Экспорт: Выберите, что включить в экспорт (чекбоксы), нажмите "Экспортировать конфигурацию" — файл будет скачан автоматически
    • Импорт: Выберите JSON файл конфигурации, просмотрите предпросмотр, выберите режим (Заменить/Объединить), нажмите "Импортировать"
    • Безопасность: Креденшалы экспортируются в зашифрованном виде и могут быть недоступны при импорте на другом компьютере

    Экспорт конфигурации

    Импорт конфигурации