运维管理平台实现与学习心得

经过一段时间的学习,写了一个简单的运维管理平台小项目,先看看啥样吧!

下面说明下具体实现:

软件架构:HTML+CSS+Jquery+Bootstrap+Ajax+Python2.7+Django1.9+SaltStack+MySQL

功能描述:

  1. 数据可视化:采用百度开源的ECharts绘图,通过Python脚本每分钟统计Nginx日志分析PV/UV量写到数据库。
  2. 资产管理:采用SaltStack Restful API二次封装调用收集主机配置信息入库,并提供增删改查。
  3. 主机批量管理:也是调用SaltStack Restful API实现批量执行命令,结果返回到前端页面,并提供Minion增删。
  4. 自动部署软件:目前是使用预写好的脚本完成安装,准备改成Salt sls配置管理部署软件。
  5. 其他功能还在继续开发中…

到干货区了,刚入门的朋友,耽误你几分钟时间,请仔细阅读,一定会对你有帮助!

我的学习心得:

用了小一个月时间写了这个运维管理平台,算是一段学习的总结吧!实现了一些基本的功能,跟生产环境的系统还有很大距离!现在一想其实实现起来没想象的那么遥不可及,可以说用到的技术都是基础的东西,并没有多高深,所以学习起来并不是很难。自己要完成这样的平台,思路很重要,比如数据可视化该怎么展示,数据怎么处理等等。涉及到从前端到后端再到数据库表设计及存储的一系列流程,这些都要有所了解,否则会局限你的思路。因此写好一个比较完善的平台,开发能力会有很大的提高。当然薪资也紧跟着蹭蹭的涨啦!

该怎么学习呢?

刚入门的同学,大都会问这个问题,自己毫无头绪,不知如何下手!可以理解,每个人都会经历这个阶段,跨过去你就称为群里所谓的大牛了。哈哈,是不是很有成就感。没错!

那么,以下给大家提供些学习思路,仅供参考:

第一步:掌握Python基础,至少能写到面向对象编程这个层次。

第二步:掌握一种Python Web框架,推荐使用重量级Django框架,虽然刚开始入门有点难,但是现在最为主流,使用最多,功能齐全,一般都能满足我们的需求了。当然,如果对Django感冒,可以选择轻量级Flask框架,入门简单,学习成本低。在这里,顺便再看看HTTP协议工作原理,比如几种请求方式、工作流程等。

第三步:数据库基本的增删改查必会。

第四步:后端的东西前三步就差不多了。该前端了,毋庸置疑HTML/CSS基础必会,可以先学习常用的标签、选择器、样式属性等。原生JavaScript基础先要了解下,再考虑使用封装好的JS库Jquery做页面行为控制,重点看看Jquery事件处理、获取属性内容、设置元素内容等,比原生JS用着更简单,也是主流的。学习完后试着写几个小页面检查自己的学习成果。

第五步:自己写HTML/CSS页面刚开始入门,写起来比较费劲,而且浏览器兼容性不是很好。可以考虑使用开源的前端框架,提高开发速度,不用过多考虑兼容性。我所知道这样的前端框架有Bootstrap、SemanticUI、EasyUI,还有很多,选一个自己喜欢的就好,先学习其中一些常用的样式,比如表格、表单、按钮等。其他的用到啥再看也来得及。

第六步:选择一个自己喜欢模板。决定使用哪个前端框架后,在网上搜索下找一个好看的前端页面模板,比如搜索关键词为"Bootstrap模板",会有很多。我们主要就是用它的排版和一些主页面,再去除一些功能,简单修改下自己想要的页面就出来了,再加上你所学的前端框架样式,可以很快捷的实现某个功能,很省心。

第七步:与后端交互数据,经常用到Ajax技术,比如实时从后端获取新数据展示、传数据到后端等。Ajax也建议使用Jquery的,原因还是使用简单。这时要学习一下JS定时器,用于控制Ajax获取数据时间间隔,经常会用到,也很简单。还有WebSocket技术,是一种浏览器与服务器建立长连接,进行实时传输数据。在某种场景下很实用,比如WEB SSH,可以简单了解下。

第八步:嵌入主流的管理工具,完成某项工作。比如我想做批量管理,就没必要自己再去写脚本去做批量执行了,像SaltStack、Ansible都是这类主流的工具,到时直接调用它们的API就好,功能上也要比自己写完善很多,不是挺好嘛!

经过这八步循环渐进的学习,我相信你已经有足够能力开发一套属于自己的运维管理平台了。

群里朋友经常问,能看懂代码,就是写不出来,怎么办啊?这是一个很典型的问题,还是在于代码写的少,即使写的多也都是复制别人的,没有实际学习意义。要想提高技术能力,只有一个不变的真理,多学习、多实践、多总结!

就说这么多了,以上就是我个人对想转运维开发的朋友们一点学习思路,不能说完全是对的,但是思路我觉得没问题。

少了一步很重要的,学习期间难免会遇到各种各样的问题,这时该怎么办呢?不要一有问题就马上问同事、技术群,先试着网上查资料,问度娘、谷狗,要学会去独立排查问题,久而久之处理问题思维就很强了。实在解决不了,这时你应该会想到加技术群了,没错!在群里,会有一些热心的前辈给你传授经验,不但能解决问题,还能吸取其他的经验,多好!

技术群太多了!闲聊群更多!针对运维开发的群更少!故此,我自己创建了一个运维开发群,创群的目的是为了让志同道合的同仁聚在一起,共同学习,共同提高。而不是为了当群主想踢谁就踢谁寻找成就感!因此,为营造一个更好的学习氛围,很注重群成员质量,不欢迎以瞎扯淡、斗图、发广告这类为目的的人加入。

QQ群:323779636(Shell/Python运维开发群)

期待您的加入!

时间: 2024-10-05 04:25:16

运维管理平台实现与学习心得的相关文章

django实现Linux运维管理平台

老早之前就想做一个运维管理平台的项目了,但是一直没沉下来去做,上半年的时候毕设选择了这个课题,想着逼自己一把,不管做出来的怎么样,先把它搞起来..... django的工作原理: 文字说明: (1)Web服务器收到用户的http请求. (2) Django通过URL控制器来判断对应的视图(View)函数从而对http请求做处理. (3)视图函数调用相应的模型来存取数据.调用相应的模板把数据展示出来. (4)视图函数最终返回一个http的响应给Web服务器. (5)Web服务器把接收到的响应数据发

系统集中运维管理平台【社区版】安装与配置方法

最近很多博友反应不知道怎么安装与配置"系统集中运维管理平台[社区版]"程序,下面我写一个详细的配置文档,希望能够帮助各位博友: 程序支持操作系统平台: 主程序支持: Win7.Win8.Win8.1.Win2008.Win2008R2.Win2012.Win2012R2 MYSQL数据库: 软件版本:mysql_installer_community_V5.6.21.1_setup.1418020972 数据库可以安装在Windows或Linux平台,根据个人需求,这里以Windows

搬砖-运维管理平台OpsMange安装部署

腾讯蓝鲸运维管理平台是一个很好的项目,但是比较庞大复杂,部署和维护比较繁琐,关键是按照产品手册部署出来的一直都有问题,可能是我技术比较low =.= 也试过刘天斯大神的OMserver,但是这个只是一个实验平台,应用不到生产上.后来发现opsManage项目比较好,就开始尝试部署使用,现在也支持docker版本. 一款代码部署.应用部署.计划任务.设备资产管理平台. 编程语言:Python2.7 + HTML + JScripts 前端Web框架:Bootstrap 后端Web框架:Django

ITGo虚拟化运维管理平台大数据版简介

ITGo虚拟化运维管理平台是北京万合鸿瑞科技有限公司研发的一款基于VMware vCenter虚拟化软件的运维监控管理产品,采用大数据分析和智能化运维(AIOps)等技术,对虚拟化的各种运维数据进行有效的监控.管理和分析,保证云计算/虚拟化技术的数据中心的高效稳定运行,优化系统资源使用,节省IT设备投资.产品在运维过程的作用如下: 事前规划:通过各种合规性和运维最佳实践的检查发现云计算/虚拟化环境存在的各种隐患,及时处理做到防范于未然. 事中控制:直观呈现数据中心的运维热点信息,快速定位和解决出

数据中心运维管理平台(idcops)

简介 django-idcops 是一个开源的倾向于数据中心运营商而开发的,拥有数据中心.客户.机柜.设备.跳线.物品.测试.文档等一些列模块的资源管理平台,解决各类资源集中管理与数据可视化的问题.django-idcops 通过"数据中心"来分类管理每个数据中心下面的资源,每个数据中心均是单独的. 软件许可协议 django-idcops 遵循 Apache License 2.0. 联系 作者博客 email: [email protected] qq群:185964462 点击进

一个小的运维管理平台

最近闲下来,把之前写的运维平台推到重新整理了一下,把表结构重新规划和代码重写,写了个很Low的系统,主要是结合saltstack来实现:把原先的监控给砍掉,改用zabbix监控的方式,后期会加上调用zabbix随意出图的功能.前端的模板用的是reboot老师给的,我html比较差就没做继承之类的: 主要实现了:机房的管理.机器管理和搜索.软硬件资产的收集和审计.文件上传和批量推送.命令的批量推送返回结果. git 地址: https://github.com/xiaoluoge11/lmanag

开发自动化运维管理平台

开发环境: 操作系统:Cenots6.6 Web框架:tornado-4.0.2 数据库:mysql-5.1.73 相关软件包: tornado相关依赖包 backports.ssl_match_hostname-3.4.0.2.tar.gz setuptools-5.7.tar.gz certifi-1.0.1.tar.gz tornado-4.0.2.tar.gz torndb数据库环境需要软件包 MySQL-python-1.2.5.zip torndb-0.2.tar.gz window

运维管理平台架构

SaltStack 调用API WAF安全 nginx_lua WAF Logstash flume fluentd logstash  实时: stom kafka 架构: flume + stom + kafka + hdfs 应用部署更新 rundesk Piwik流量分析 piwik Zabbix监控 zabbix----sms----web------30000 ----- action----- salt module ------openstack api --create vm-

大数据教你IT运维管理产品选择,专业化or平台化能否兼具?

IT部门在进行IT运维产品选购时,虽然不是什么纠结的事,但是没有选择好,对于你以后在公司的运维工作生活将会寝食难安,你再后悔当初选购时没有生死决择已经晚了,所以在初期会有一个大方向需求,我综合多年和客户沟通需求大数据平台分析,会告诉你在进行IT运维管理时,应该使用什么类型的产品? 那么我们首选的一个标准是专业,所谓的专业主要有两层意思,一是产品在某一领域具一定的权威,专业解决某一应用,比如现在一些IT运维产品单独的机房监控.单独的虚拟机,用户如果管理多个业务需求,就得购买安装多个这样的单独应用系