CMDB小计1

 

1.web开发(Django,flask, tornado)。

2.自动化运维(CMDB项目)。

3.爬虫 和 数据分析。

4.自动化测试。

4.人工智能,机械学习, 算法

 

```
CMDB 项目:

自动化运维:

运维:管理服务器的

ps: 分为基础运维,应用运维

为什么需要自动化运维?

1.项目上线:

流程:产品经理调研(画出原型图)------定需求----------三方会谈(产品经理,研发,老大)-----定日期-------测试项目--------最终上线--------应用运维

目前:是把代码打包给运维,运维解压上线

问题:随着机器数量的线性增加,运维的工作量也是线性增加,重复而且是无意义的劳动

解决:

1,写一个shell脚本,进行部署

2,搞一个自动化代码上线系统

必要条件:

服务器的各种信息(主机名,CPU,硬盘大小等)

2.监控系统:

检测服务器的各种信息(硬盘是否满,CPU的使用率,内存的使用率,网站服务运行是否正常)

问题:之前写简单的脚本,检测服务器的信息,比较麻烦

解决:想将服务器的各种信息,以图标的形式展示在web界面上(可视化)

必要条件:
服务器的各种信息(主机名,CPU,硬盘大小等)

3.自动装机系统:
问题:人工工作量大(ps要人一台台装)

解决:搞一个装机系统(一键装机),cobbler软件
必要条件:服务器的各种信息(主机名,CPU等)

4.Excel表格审计管理资产
cmdb系统:
配置管理系统:

运维自动化无法实现

cmdb实现的核心:

目标:收集服务器的信息(CPU,内存,网卡,硬盘等)

实现方式:

1.linux命令获取CPU,内存

2.python执行linux的命令:

subprocess模块, getoutput函数

```

```
df -h内存信息
cat /proc/cpuinfo IP信息

 

4种实现方案: agent方案: 其本质上就是在各个服务器上执行subprocess.getoutput()命令,然后将每台机器上执行的结 果,通过request模块返回给主机API,然后主机API收到这些数据之后,放入到数据库中,然后 通过web界面将数据展现给用户 缺点:需要在每一台服务器上进行部署 优点:速度快 使用场景:服务器比较多的时候

 

 

ssh类方案: 中控机通过parmiko(py模块)登录到各个服务器上,然后执行命令的方式去获取各个服务器上的信息 API从数据库中获取到未采集的机器列表后发送到中控机服务器中,中控机服务器通过parmiko模块登录到服务器上,进行信息的采集,服务器采集完后再将结果返回给中控机,仍后将从服务器中得到 的信息通过 request模块发送给API,API通过主机名和SN作为唯一标识,将信息录入到数据中,然后通过web界面将数据展现给用户 paramiko模块 缺点: 1:网络有延迟,有一个中控机,网络有延迟,速度较第一种要慢一些(有其是数据比较大的时候更加明显) 优点:不用每台都部署 使用场景: 服务器比较少的时候

 

 

 

salt-stack方式: 中控机从API中获取未采集的资产信息后通过队列发送命令给服务器执行。服务器执行完后将结果放到入另一个队列中,中控机将获取到的服务信息结果发送到API进而录入数据库。然后通过web界面将数据展现给用户

使用场景:公司已经使用salt-stack软件 优点:速度快,开发成本低 缺点:过于依赖salt-stack软件 安装salt-master: yum install salt -master 配置配置文件: interface: 本机IP service salt-master start#(ps启动) 安装 salt-minion yum install salt-minion 配置文件配置: master:10.0.0.51 salt -ket -L:列出所有的minion主机 salt "主机名“ cmd.run "命令"

 

 

 

puppet方式:(不用特别学习)

rubby写的 ​

 

分为三大部分: 1.服务器数据采集 目标: 实现上述三种方案,然后通过配置,可以任意的切换方案。 规划采集项目: bin:启动文件 conf:配置 lib:库文件或公共文件 src:源代码 test:测试目录 配置文件的管理: django的全局配置文件: 管理一些不常用的默认的配置 比如:语言, email配置等。 核心点: setattr, getattr, dir 的用法 代码: class Settings(): def init(self)


核心点:
setattr, getattr, dir 的用法
代码:
class Settings():
def __init__(self):

## 整合全局配置文件
for k in dir(global_settings):
if k.isupper():
v = getattr(global_settings, k)
setattr(self, k, v)

## 整合自定义配置文件
for k in dir(config):
if k.isupper():
v = getattr(config, k)
setattr(self, k, v)
settings = Settings()

 

 

2.API获取数据并清洗入DB

3.web界面的展示 ​```

转载于:https://www.cnblogs.com/sudaguo/p/10867377.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse搭建Cocos2d-x运行环境问题汇总(不含CygWin)

具体搭建方法,可参阅这两篇文章 http://www.cnblogs.com/ybgame/archive/2012/06/07/2540693.html http://blog.csdn.net/maojudong/article/details/7261986 首先导入Cocos2d-x下的HelloCpp项目 本文主要记录在配置的过程中遇到的问题及注意事项 问题1.jni/Android…

宋体配置JAVA j2ee (一) 轻松入门

最近使用开辟的程过中现出了一个小问题,顺便记录一下原因和方法--宋体配置 背景绍介我们经已学习了.NET台平环境下开辟Web目项,经过较长时光接触与学习,慢慢的对于它也熟习了,然而你否是对于Java熟习呢。.NET台平同Java有很多型类…

mysql数据的表分区一

当mysql中医个表的总记录数超过了1000W,会出现性能大幅度下降的情况,单性能下降的比率由系统的架构、应用程序、数据库索引、服务器硬件等多种因素而定。数据库多达上亿的数据量,分表之后的单个表 也已经超过了千万,那么单个表的更…

ZOJ-2587 Unique Attack 最小割的唯一性判定

题意:给定一个无向图,要求判定分离两个点的最小割是否唯一。 解法:在求出最大流的基础上,从源点进行一次搜索,搜索按照未饱和的边进行,得到顶点子集S的顶点个数;再从汇点反向搜索未饱和的边&…

dubbo与springmvc的简单使用

什么是Dubbo? dubbo是阿里巴巴公司开源的高性能优秀服务框架,通过高性能的RPC(远程服务调用)实现服务的输入输出功能,可以与spring框架无缝整合; 传统的架构所有的模块都在一台服务器上,单台服务…

Mina学习之搭建项目工程目录

为什么80%的码农都做不了架构师?>>> Mina核心分层分为:IoService,IoFilter和IoHandler 搭建项目工程目录,一般应用都包含如下几个部分: 1、server\client 创建mina连接,TCP/IP请求响应模式 …

HttpClient中转上传文件

原文:https://www.cnblogs.com/lyxy/p/5629151.html 场景:客户端(浏览器)A---->选择文件上传---->服务器B---->中转文件---->服务器C---->返回结果---->服务器B---->客户端A 有时候在项目中需要把上传的文件中转到第三方服务器&…

sublime text 2快捷键总结

为什么80%的码农都做不了架构师?>>> 以mac系统为例 一:编辑(我们使用一个编辑器最频繁的事情就是编辑了。) (1)基本操作: 【1】CommandA:全选 【2】CommandC:复制 【3】Comman…

Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!

Spring Boot 官网在 2019/03/15 这天发布了 Spring Boot 2.1.5 正式版,栈长表示真跟不上了。。 官宣如下 : https://spring.io/blog/2019/05/15/spring-boot-2-1-5-released 仓库也已经跟上: 那这个版本有什么新功能? 1、增加了 S…

Console-算法[for,if]-有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数...

ylbtech-Arithmetic:Console-算法[for,if]-有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数1.A,Demo(案例)【程序28】 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问…

原来MySQl就是这样工作的

一、MySQL简单介绍MySQL是当今最流行的开源数据库管理系统,超过10亿的下载量足可以证明这点。MySQL以其速度、高可靠性、简单易用,广泛应用,一些大型企业也在逐渐应用,如:Facebook、维基百科等网站。MySQL最早由瑞典的MySQL AB公司…

Java生成二进制文件与Postman以二进制流的形式发送请求

业务描述: 模拟终端(智能家居)发送HTTP POST请求,请求参数为二进制流;而且,二进制流是加密后的数据,因此调试分两步: 1、Java代码生成加密后数据,并保存为二进制流文件 &…

电脑上面玩Android 游戏(.apk文件)

Android模拟器, 下载地址 http://files.cnblogs.com/jx270/BlueStacks-SplitInstaller_native.rar 下载完毕后解压,双击安装, 然后自己去下一些.apk文件,双击即可在电脑上面使用 ps自己配一个手柄,玩游戏不错,

JQuery最佳实践

作者: 阮一峰 日期: 2011年8月 4日 上周,我整理了《jQuery设计思想》。 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery"。今天的文章则是更进一步,讲解"如何用好jQuery&quo…

Excel-在整个工作簿中查找/替换

13、在整个工作簿中查找/替换 调范围为:工作簿,默认是工作表; 转载于:https://www.cnblogs.com/Formulate0303/p/10885194.html

WCF服务实例激活类型编程与开发(转)

【引言】: 在WCF分布式开发必备知识(2):.Net Remoting这 篇文章里我已经介绍过了Net Remoting相关的概念,其中也包括Net Remoting的激活方式:SingleTon模式、SingleCall模式、客户端激活方式。其实WCF服务的激活方式也与此相似。服务激活方式…

部署Windows Server Update Services 4.0

在 Windows Server 2012 中,WSUS 是可安装以管理和分配更新的服务器角色。WSUS 服务器可以作为组织内其他 WSUS 服务器的更新源。充当更新源的 WSUS 服务器被称为上游服务器。在 WSUS 实现过程中,网络中必须至少有一台 WSUS 服务器连接到 Microsoft 更新…

克罗谈投资策略09

第七章 把注意力集中在长期趋势上(2) 我接到很多交易者寄来的信和打来的电话,谈论投机交易的各个层面。但是其中匹兹堡一位专业交易者1984年8月所写的一封信,跟上面所说的主题有特别的关联: 大家都说在目前的市场情况下…

《统计学习方法》(李航)读书笔记(转)

《统计学习方法》(李航)读书笔记(转) http://www.cnblogs.com/limitlessun/p/8611103.html#_label4阅读目录 知识点感知机k近邻法朴素贝叶斯决策树logistic回归和最大熵模型支持向量机提升方法EM算法隐马尔可夫模型(HMM)统计学习方法总结神经网络K-MeansBaggingApriori降维方法…

html奇淫技巧 2 教你如何进行图文环绕布局 原创

在群里无意看到了盆友想要布局一个图文环绕的布局,问有没有什么办法实现,上网查了下,都感觉忽悠人的。 js 方面学的不怎么好,但是页面这块是不服输的。 于是就进行了研究,需求如下: 起先看到这张需求我是有…