推荐用于linux服务器pipe理和web ui集成的编程语言

我有兴趣制作一个内部networking用户界面,以减轻我pipe理许多服务器所面临的一些pipe理任务; 认为规范的景观。 这意味着要做一些事情,比如跨服务器同时应用软件包更新,也许安装一个自定义的.deb(我使用ubuntu / debian)。查看服务器日志,执行自定义脚本,查看我所有服务器的状态信息。 我希望能够重用现有的命令行工具,而不是用不同的语言重写完全相同的操作。

我真的希望开发一些能够让我继续在ssh级别pipe理的东西,但是提供了一个web接口的强大function,可以轻松应用相同的基础设施范围的变化。 它们不应该是相互排斥的。

什么是一些推荐的编程语言来进行这种开发,并将其绑定到Web UI? 你为什么推荐你所使用的语言?

我不是一个有经验的程序员,但是把它看作是一个抓住我自己痒的机会,并且成为一个更好的程序员。 如果一种语言比另一种语言更困难,我并不在乎,但是从一开始就对select最好的工具感兴趣。

随意推荐任何现有的项目,已经集成了许多系统pipe理到一个唯一的凝聚力networking用户界面,除了景观(不是免费的),Ebox(ebox控制中心不是免费的)和webmin(我不喜欢它,感觉笨重,不能很好地与维护服务器的“debian方式”,imo相结合,而且,只pipe理一个系统。)

感谢您的任何想法!

更新:

我不想重塑系统pipe理,我只是想在可能和恰当的情况下将许多先前存在的优秀工具“粘合”在一起; 这就是为什么我想知道什么语言可以与预先存在的命令行工具良好交互,同时使它们可以通过Web UI进行pipe理。

Python(到目前为止)是这种types的最好的全面的语言。 它是跨平台的,现在用于从3D游戏到networking应用的所有应用。 投入时间学习它会给你一个非常便携的技能。 Python也有一个非常干净的语法,很容易find基本的东西。

Kneejerk的回应是支持3dinfluence的想法,你想要的东西已经被发明了。

如果你真的想开发,而不是创build另一个Webpipe理界面,为什么不为Webmin做出贡献,并写出更好的界面? 还是一个“Debian”插件,以你想要的方式工作?

我永远不会build议有人对开源环境做出贡献,但是你所build议的能量对于现有的需要帮助的项目来说可能是非常有用的。

我会回应其他人在这里说什么。 使用现有的工具,然后在他们之间写一些胶水,如果你想。 我使用Zabbix(曾经是Zenoss)进行监控,Bcfg2使用Subversion进行configurationpipe理,Trac使用于售票和文档。

在Trac中,我经常把它们联系在一起,因为它有一个非常好的API来扩展界面。 我编写的插件允许轻松地进行交叉引用(例如,如果我提到Trac票证中的服务器,它会自动链接到Zenoss状态页面)。

因为Zenoss,Bcfg2和Trac都是Python,而Zabbix有一个Python API,所以我使用Python来实现所有的粘合代码。

希望有所帮助!

好的,从哪里开始。

你试图把一堆东西放到一个单一的接口中。 没有什么不对的,但是有很多项目可以很好地解决所有这些问题,你可以在写一些本土的东西之前先看看。

Preseeding是一种在Debian / Ubuntu上预先configuration新安装的方法。 你也可以使用kickstart,但是预置是Debian的做法。 您可以对此进行设置,以便您可以轻松地部署基本系统映像。

木偶的configuration和变更pipe理。 这使您可以集中控制安装了哪些软件包,以及如何根据服务器angular色对所有软件包进行configuration。

Nagios , Icinga , Munin等,用于监控您的主机,服务和基础设施。 我也推荐仙人掌进行利用率监测。

设置中央系统日志服务器,然后使用Epylog或SEC进行事件关联和警报。 还可以看看octopussy进行日志监控。