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…

字符串转换为整数的源码atoi()

#define is_digit(c) ((c) > 0 && (c) < 9) static int skip_atoi(const char **s) { int i0; while (is_digit(**s)) i i*10 *((*s)) - 0; return i; }

Oracle 异常错误处理

本篇主要内容如下&#xff1a;  5.1 异常处理概念  5.1.1 预定义的异常处理  5.1.2 非预定义的异常处理  5.1.3 用户自定义的异常处理  5.1.4 用户定义的异常处理  5.2 异常错误传播  5.2.1 在执行部分引发异常错误  5.2.2 在声明部分引发异常错误  5.3 异常…

mui 获取地图当前位置和经纬度

转&#xff1a;https://blog.csdn.net/qaqqmq/article/details/79151610 希望对大家有用, mui.plusReady(function() { plus.geolocation.getCurrentPosition(MapPoint, function(e) { mui.toast("error:" e.message); }) }) …

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

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

imgareaselect 缩略图 裁剪图片

(客户端模拟裁剪图片&#xff09; imgareaselect: http://odyniec.net/projects/imgareaselect/ php生成缩略图参考&#xff1a; http://www.php.net/manual/en/book.image.php http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/ http://www.leonkessler.com/bl…

token的作用

toke token的作用 使用基于 Token 的身份验证方法&#xff0c;在服务端不需要存储用户的登录记录。大概的流程是这样的&#xff1a; 1. 客户端使用用户名跟密码请求登录。 2.通过ajax向后端发送请求。 3.服务端收到请求&#xff0c;去验证用户名与密码。 4.验证成功后&#xff…

mysql数据的表分区一

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

static关键字 void和void指针 函数指针

static关键字1&#xff0e;作用于变量&#xff1a; 用static声明局部变量-------局部变量指在代码块{}内部定义的变量&#xff0c;只在代码块内部有效&#xff08;作用域&#xff09;&#xff0c;其缺省的存储方式是自动变量或说是动态存储的&#xff0c;即指令执行到变量定义…

走台阶 OR 台阶走——《狂人C》习题解答14(第三章习题4)

题目&#xff1a; 4. 有一段楼梯有6级台阶,规定每一步只能跨一级或两级,要登上第6级台阶有几种不同的走法? 这个题目从数学角度来看可能有一点难度&#xff0c;但一经点破也就没什么难度了。 首先第1级台阶只有一种走法。第2级台阶有两种走法&#xff0c;因为可以直接跨上…

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

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

#define va_arg(AP, TYPE)

Linux内核 stdarg.h 中&#xff1a; #define va_arg(AP, TYPE) / (AP __va_rounded_size (TYPE), / *((TYPE *) (AP - __va_rounded_size (TYPE)))) 为&#xff0c;AP 指针先向前移动&#xff08;sizeof&#xff08;Type&#xff09;&#xff09;位&#xff0c; 再获取前指针点…

新手学html 第一节:html简介

什么是 HTML&#xff1f; HTML&#xff08;Hypertext Markup Language&#xff09;文本标记语言&#xff0c;是用于描述网页文档的一种标记语言. HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) .HTML 不是一种编程语言&#xff0c;…

dubbo与springmvc的简单使用

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

怎么用VC编程实现把用户名,密码提交到网页上并且实现登录?

网址&#xff1a;http://topic.csdn.net/u/20100526/11/d8ce2c65-a151-44d0-ae57-3847a1f01cfd.html 相关链接&#xff1a;VC POST表单——登录验证新浪邮箱VC提交网页表单&#xff0d;自动评论留言

一个计算机硕士毕业生的求职经验(二)

二、 前期准备 前期准备主要包括两个方面&#xff1a;实习和简历。一般10月份开始找的话&#xff0c;最好1、2月份准备&#xff0c;也就是说提前半年&#xff0c;我是4月份开始作的准备。当时准备的主要内容就是&#xff1a;确定自己的求职目标&#xff0c;写好简历&#x…

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

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

测试自动化学习7

python读取Excel import xlrdbook xlrd.open_workbook(my_user-bak.xls) sheet book.sheet_by_index(0) print(sheet.row_values(0)) # 某一行数据 print(sheet.col_values(0)) # 某一列数据 print(sheet.cell(0,0).value) # 某个单元格的数据 print(sheet.cell(1,2).valu…

The credentials you provided during SQL Server 2008 install are invalid

在安装sql server的时候遇到了这个问题&#xff0c; - The credentials you provided for the SQL Server Agent service are invalid. To continue, provide a valid account and password for the SQL Server Agent service.- The specified credentials for the SQL Server …

2010全面兼容IE6/IE7/IE8/FF的CSS HACK写法

这个帖子总结的很好。http://www.aa25.cn/web_w3c/868.shtml转载于:https://www.cnblogs.com/dqg0312/archive/2011/08/03/2126050.html