Рекомендуемый язык программирования для управления сервером Linux и интеграции с веб-интерфейсом [закрыто]

Я заинтересован в создании собственного веб-интерфейса для облегчения некоторых задач управления, с которыми я сталкиваюсь при администрировании множества серверов; подумайте о каноническом ландшафте. Это означает выполнение таких действий, как одновременное применение обновлений пакетов на серверах, возможно, установка пользовательского .deb (я использую ubuntu / debian). Просмотр журналов сервера, выполнение пользовательских сценариев, просмотр информации о состоянии для всех моих серверов. Я надеюсь, что смогу повторно использовать существующие инструменты командной строки вместо того, чтобы самому переписывать одни и те же операции на другом языке.

Я действительно хочу разработать что-то, что позволит мне продолжать управлять на уровне ssh, но предлагает мощь веб-интерфейса для легкого применения тех же изменений в инфраструктуре. Они не должны быть взаимоисключающими.

Какие языки программирования рекомендуется использовать для разработки такого рода и привязки их к веб-интерфейсу? Почему вы рекомендуете язык (и), который вы предпочитаете?

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

Не стесняйтесь рекомендовать любые существующие проекты, которые уже интегрируют управление многими системами в единый сплоченный веб-интерфейс, за исключением ландшафта (не бесплатно), Ebox (центр управления ebox не бесплатный) и webmin (мне это не нравится, кажется неуклюжий и плохо интегрируется с "debian способом" обслуживания сервера, имо. Кроме того, управляет только одной системой.)

Спасибо за любые идеи!

Обновление:

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

0
задан 14 March 2015 в 18:24
4 ответа

Python (безусловно) является лучшим всесторонним языком для этого типа материала. Это является межплатформенным и используется для всего от 3D игр до веб-приложений в наше время. Инвестирование времени, изучая это даст Вам очень портативный навык. Python также имеет очень чистый синтаксис и легкий взять основы.

2
ответ дан 4 December 2019 в 11:38
  • 1
    Python является действительно способом пойти. Для распределения ssh управляют взглядом на Матрицу. Для сети frontend я посмотрел бы на Django. Но почему изобретают велосипед? 3dinfluence перечислил много больших инструментов, которое уже существует. –  Espennilsen 18 March 2010 в 10:11

Ответ коленного рефлекса должен поддерживать 3dinfluence's идеи, что вещь, которую Вы хотите, была уже изобретена.

Если Вы действительно хотите разработать, вместо того, чтобы создать еще один веб-Интерфейс управления, почему бы не способствовать Webmin и записать лучший интерфейс? Или плагин "Debian", который работает способ, которым Вы хотите?

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

1
ответ дан 4 December 2019 в 11:38
  • 1
    Я не настроен против содействия в существующий ранее проект, если это, кажется, делает то, что я хочу, и работает хорошо с debian средой. До сих пор я не нашел ничего, что делает это свободное, и делает это в сети ui созданный для обслуживания многих систем, в противоположность всего один. Мой основной вопрос с webmin - то, что он разработан только для работы на сервер it' s установленный на; это не разработано, чтобы быть веб-инструментом для управления многими серверами. Если я неправ в этом, исправьте меня. –  Brendan Martens 12 March 2010 в 23:42

Я повторил бы то, что другие люди говорят здесь. Используйте существующие инструменты и затем запишите немного связующего звена между ними, если Вы хотите. Я использую Zabbix (раньше был Zenoss) для контроля, Bcfg2 с Подверсией для управления конфигурацией и Trac для покупки билетов и документации.

Я часто "связываю все это" в Trac, потому что это имеет превосходный API для расширения интерфейса. Я записал плагины, которые позволяют легкие перекрестные ссылки (поэтому, если я упоминаю сервер в билете Trac, они автоматически связываются со страницей состояния Zenoss, например).

Я использую Python для всего моего кода связующего звена, потому что Zenoss, Bcfg2 и Trac является весь Python, и Zabbix имеет API Python.

Надежда, которая помогает!

1
ответ дан 4 December 2019 в 11:38

Хорошо, где запустить здесь.

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

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

Марионетка для управления конфигурацией и управления изменениями. Это позволяет Вам централизованно управлять тем, какие пакеты установлены и как они настроены через все Ваше различное на основе ролей сервера.

Nagios, Icinga, Munin, и т.д. для контроля Вашего хоста, сервисов и инфраструктуры. Я также рекомендую Кактусы для контроля использования.

Настройте центральный сервер системного журнала, затем используют Epylog или SEC для корреляции событий и предупреждения. Также взгляните на octopussy для контроля журнала.

1
ответ дан 4 December 2019 в 11:38
  • 1
    Несомненно, я знаю примерно обо всех инструментах, которые Вы упомянули, но я хочу интегрировать их в сеть ui, в котором я могу легко управлять ими через все свои серверы, я не интересуюсь сетью ui, который только показывает операцию для сервера его установленный на. Интеграция с существующими инструментами идеальна, где возможный и соответствующий... Но мой вопрос, как лучше всего сделать это при учете того факта, что я хочу смочь управлять им через сеть ui. Хорошие мысли, но действительно doesn' t отвечают на мой вопрос вообще. –  Brendan Martens 12 March 2010 в 23:20
  • 2
    хорошо все эти инструменты сделаны управлять и контролировать целую инфраструктуру и не только компьютер это it' s установленный на. Таким образом, я предполагаю I' m упускающий Вашей сути там. Но Вы попросили предложения проектов, которые уже делают эти вещи так that' s, что я дал Вам. Никто не собирается быть способным выбрать язык программирования для Вас как that' s чисто субъективный. –  3dinfluence 12 March 2010 в 23:28
  • 3
    Я попросил предложения на языке, с которым можно интегрировать эти существующие проекты в сеть ui, сказал, что сеть ui будет управлять многими серверами. Что Вы предлагаете, проекты, которые существуют, чтобы сделать одну задачу или несколько очень определенных задач. Да, некоторые проекты Вы уже упоминаете работу через многие серверы, но, a: не свободный, b: не интегрированный в сеть ui. Когда я сказал для предложения существующих проектов, я имел в виду проекты, которые уже интегрируют управление системами с сетью ui, такой как среда, webmin, или выход в открытый космос. –  Brendan Martens 12 March 2010 в 23:36
  • 4
    Все проекты, которые я просто предложил, являются на 100% бесплатными и с открытым исходным кодом. –  3dinfluence 12 March 2010 в 23:40
  • 5
    Mmm я думал, что Вы упомянули monit там, перепутал это с munin (monit, свободно, но его веб-интерфейс, mmonit, для управления многими monits не.) Главная проблема - то, что они не интегрируются в единственную связную сеть ui. Это - основное преследование здесь. –  Brendan Martens 12 March 2010 в 23:45

Теги

Похожие вопросы