Веб-основной анализатор дискового пространства с открытым исходным кодом (адаптировать его к моему удаленному протоколу)

Вопрос или проблема

Существует множество инструментов для анализа использования диска: Baobab, WinDirStat, JDiskReport и множество других.
Они обычно выглядят так:
Baobab

Сейчас я ищу веб-ориентированный инструмент для анализа использования диска. Для любого удаленного протокола, например, FTP, WebDAV, JCR или CMIS. Например, он бы показывал, как используется пространство на удаленном FTP-сервере (так что это не совсем “диск” в аппаратном смысле, скорее “хранилище”).

Моя цель — взять исходный код и адаптировать его к моему собственному удаленному протоколу (который концептуально похож на WebDAV, но использует другой синтаксис API).

Требования:

  • Веб-ориентированный
  • С открытым исходным кодом
  • Показывает красивую диаграмму, где используется пространство на диске (любой формы)
  • Показывает “Вычисление…” или что-то подобное во время обработки, так как ожидается большой объем данных
  • Либо 100% браузерная часть (использует HTTP-запросы для запроса папок с сервера) или браузер+шлюз, где шлюз делает запросы к фактическому удаленному серверу
  • Предпочтительно написан на современных языках, таких как Rails/Play/Node.js/Java. Например, не DUC, который написан на C (и не выглядит/ощущается прекрасно)

Я в настоящее время искал что-то подобное и нашел diskover. Не уверен, соответствует ли он всем вашим требованиям (docker-контейнер подходит под ваше описание шлюза?), но, по крайней мере, это самая привлекательная вещь, которую я смог найти. Но мне хотелось бы чего-то простого, как treesize с веб-интерфейсом, а эта штука имеет много функционала, не уверен, будет ли легко адаптировать.

Официальная страница: https://diskoverdata.com/

Docker-образ: https://github.com/diskoverdata/diskover-community

Статья-превью (упоминаются важные предпосылки): https://blog.linuxserver.io/2019/06/28/getting-started-with-diskover-in-docker/

Другие инструменты (на базе VNC):

Ответ или решение

Вопрос о поиске веб-ориентированного анализатора использования дискового пространства, который можно адаптировать под собственный протокол, заслуживает глубокого рассмотрения и анализа. Рассмотрим теоретическую часть, примеры, а затем как это может быть применено на практике.

Теория

Существует множество инструментов для анализа использования дискового пространства, таких как Baobab, WinDirStat, JDiskReport и другие. Они успешно справляются с задачей локального анализа, но для анализа на удалённых серверах, таких как FTP, WebDAV, JCR или CMIS, требуется решение с веб-интерфейсом. Основной целью является адаптация существующего инструмента под специфический протокол, который имеет сходство с WebDAV, посредством модификации API.

Программы с открытым исходным кодом предоставляют отличные возможности для адаптации и доработки в соответствии с уникальными требованиями. Важно учесть, что выбранный инструмент должен быть удобным для интеграции, поддерживать визуальное отображение структуры данных и быть написанным на современном языке программирования, таком как Rails, Play, Node.js или Java.

Примеры

  1. Diskover: Это мощный инструмент для анализа использования файловых систем, который доступен как Docker-контейнер. Возможность использования через Docker делает его гибким для развёртывания как на локальных, так и на удалённых серверах. Однако он может иметь избыточную функциональность для простых задач использования дискового пространства.

  2. Другое VNC-решение: Такие инструменты, как QDirStat или Baobab, адаптированные для использования через Docker, могут быть полезны. Однако их выполнение через VNC может оказаться не самым эффективным решением для задач, ориентированных на веб.

Применение

Для достижения целей, изложенных в вашём запросе, необходимо следующее:

  • Поиск и оценка готовых решений: Необходимо проанализировать инструменты, такие как Diskover и другие, доступные варианты для анализа через веб-интерфейс. Следует убедиться, что их функционал действительно перекрывает ваши потребности, и они предоставляют необходимые возможности для интеграции с вашим протоколом.

  • Адаптация под протокол: При наличии базового понимания API предложенных инструментов, можно приступить к изменению их исходного кода под ваши требования. Это может включать в себя модификацию обработки HTTP-запросов, а также изменение представления данных на клиентской стороне. На этом этапе может быть полезно использовать фреймворк, поддерживающий базовую инфраструктуру для создания веб-приложений, что упростит интеграционные процессы.

  • Реализация визуализации: Важно убедиться, что выбранный инструмент предоставляет удобную визуализацию данных о занятом пространстве. Диаграммы, такие как круговые или столбчатые, помогают интуитивно оценивать распределение файла в пространстве сервера. Вам может потребоваться адаптировать графический интерфейс для наилучшего отображения информации в соответствии с возможностями вашего протокола.

  • Тестирование и развертывание: После завершения адаптации необходимо провести тщательное тестирование, чтобы убедиться, что все изменения работают согласно ожиданиям. В этом процессе может быть выявлены скрытые проблемы или недочёты, которые потребуется устранить до развертывания в рабочей среде.

Для начала версии с сильной поддержкой веб-технологий, таких как Node.js или Java, могут стать основой для успешной адаптации. Выбор стека технологий должен быть обусловлен не только собственными навыками и предпочтениями, но и тем, насколько эти технологии совместимы с архитектурными особенностями вашего решения.

Таким образом, создание удобного и мощного инструмента для анализа использования дискового пространства на удалённых серверах требует тщательного планирования и интеграции инновационных подходов и технологий.

Оцените материал
Добавить комментарий

Капча загружается...