CMDB学习之一】的更多相关文章

首先采集disk的具体实现方上代码: # !/usr/bin/env python # -*- coding:utf-8 -*- from .base import BasePlugin import os,re import traceback from lib.response import BaseReponse class Disk(BasePlugin): def win(self,handler,hostname): ''' 执行命令拿到结果-磁盘 :return: ''' prin…
定义一个debug,进行解析调试,到测试文件 配置文件,配置debug模式,定义环境变量, #!/usr/bin/env python # -*- coding:utf-8 -*- import os BASE_DIR= os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ENGINE='agent' # 配置数据采集模式 agent,salt,ssh #利用反射执行采集,开发封闭原则 ENGINE_HANDLERS = { '…
首先也要调用插件的方式,来写采集数据插件,在src目录下创建一个插件 plugins ,然后在plugins下创建disk.py ,memory.py, network.py等等 src plugins 在disk.py #获取采集,执行采集命令是cmd 是统一的我直接写agent中进行调用 def get_disk(handler,hostname): return handler.cmd("dir",hostname) agent代码 from .base import BaseH…
CMDB - 配置管理数据库 资产管理 自动化相关的平台(基础 CMDB): 1. 发布系统 2. 监控 3. 配管系统.装机 4. 堡垒机 CMDB的目的: 1. 替代EXCEL资产管理 —— 资产不准确 2. 与监控系统联动 3. 自动装机 期望:资产管理 实现原理: 1. agent 机器多的时候 2. ssh 3. salt 实现兼容三种模式,可扩展性 基础的架构: 1. 资产采集的代码 2. API 3. 管理平台 ################今天的目标: 资产采集: - 资产采集…
客户端使用agent 请求测试,agent使用的POST 请求,使用requests模块 本地采集,汇报服务端 #!/usr/bin/env python # -*- coding:utf-8 -*- from .base import BaseHandler from ..plugins import get_server_info import requests import json class AgnetHandler(BaseHandler): def cmd(self,command…
#!/usr/bin/env python # -*- coding:utf-8 -*- import traceback from .base import BasePlugin from lib.response import BaseResponse from lib.log import logger class Basic(BasePlugin): def os_platform(self,handler, hostname): """ 获取系统平台 :return…
服务端api 对发送来的数据进行处理,并返回结果,首先要创建一个Django项目 第一步,就是写URL路由在分支中写url api 主路由 from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^api/', include('api.urls')), api路由 from django.co…
判断系统因为是公用的方法,所有要写基类方法使用,首先在插件中创建一个基类 将插件文件继承基类 思路是创建基类使用handler.cmd ,命令去获取系统信息,然后进行判断,然后去执行 磁盘 ,cpu,网卡,内存等信息的收集: 基类代码: class BasePlugin: def get_os(self,handler,hostname): os = handler.cmd("查询操作系统的命令",hostname) # return os return 'win32' def pro…
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要的.所以我在注册用户的时候,就为他们分了两种权限.一种是普通用户的权限,一种是管理员权限.普通用户在数据库中的value是user,管理员的value是admin. 因为我想设计的系统是只有一位管理员的.所以这里我没有根据角色来进行判断.而是根据他的用户名来判断.管理员的用户名是唯一的,那就是adm…
本节内容 浅谈ITIL CMDB介绍 Django自定义用户认证 Restful 规范 资产管理功能开发 浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年代末制订,现由英国商务部OGC(Office of Government Commerce)负责…
1周第1天 主要是变量的学习(11月8日) 1.1 python安装(win和linux下)1.2 ipython安装及使用1.3 变量的定义1.4 变量赋值1.5 运算符(赋值.算术.关系.逻辑)1.6 表达式相关练习:1) 写一个四则运算器,要求从键盘读取数字   2) 体会input()与raw_input()区别扩展知识:十进与十六进制互相转换.十进制与字符串互相转换,int().hex().str() 1周第2天 数据类型(11月9日) 1.1 数值类型(整型.长整型.浮点型.复数型)…
模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了Python代码的文件,能起代码归类的作用.模块能定义函数,类和变量.模块里也能包含可执行的代码. Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用. 在python中称之为模块,而在其他语言中称之为类库,在使用模块的时候需要[先导入]后[使用]. imp…
学习参考 萌码 一.Github简介和基本操作 Github 上操作基本上围绕一个个项目展开.项目就是一个文件夹,在github中成为“仓库”(repository),里面放着所有的项目文件,可以是代码,也可以是任意的文档.项目不仅保存着最新版本的代码,还保存着历史版本和修改记录. 日常操作都在dashboard (控制面板),点github页面左上角的小猫进入. 然后点绿色的按钮新建项目 勾选Initialize...然后Create... commit动词讲就是保存版本,名词讲就是版本.修改…
Python 3.x总结 Python学习总结[第一篇]:Python简介及入门 Python学习总结[第二篇]:Python数据结构 Python学习总结[第三篇]:Python之函数(自定义函数.内置函数.装饰器.迭代器.生成器) Python学习总结[第四篇]:Python之文件操作(文件.正则) Python学习总结[第五篇]:Python之模块 Python学习总结[第六篇]:Python之异常处理 Python学习总结[第八篇]:Python之反射 Python学习总结[第九篇]:P…
一.模块介绍 通俗点说,就是把常用的一些功能单独放置到一个.py文件中,方便其他文件来调用,这样的一个文件可以称为一个模块. 模块分为三种: 自定义模块 内置标准模块(又称标准库) 开源模块 二.导入模块 Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入.导入模块有一下几种方法: import module from module.xx.xx import xx from module.xx.xx import xx as r…
开篇感言: 自从学习python自动化开发以来,一直都是从技术的角度来看待一切.以为技术就是王道.但显然我是一只井底之蛙.其实技术只不过是实现功能的工具而已,仅此而已.后来学习了解CMDB,越来越发现很多时候重点并不在技术如何,而是流程或者设计等等一切更能影响全局的东西.所以,我也慢慢有了一点感悟.就是在当做技术或者设计一些东西时,应该试着站在全局的角度去看待你所处的位置以及你所做的技术点.我想架构师思考问题的角度也是如此吧.通过不断地学习和探索,越发的感觉自己不会的东西以及需要学习的东西越来越…
Python CMDB开发   运维自动化路线: cmdb的开发需要包含三部分功能: 采集硬件数据 API 页面管理 执行流程:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取到的数据保存到数据库中,后台管理程序负责对服务器信息的配置和展示. 采集硬件信息 采集硬件信息可以有两种方式实现: 利用puppet中的report功能 自己写agent,定时执行 两种方式的优缺点各异:方式一,优点是不需要在每台服务器上步一个agent,缺点是依赖于puppet,并且使用ruby开…
首先声明一下,我这个学习计划是关于学习Python的. 先说一下起因:我自己接触Python算是很久了,目前仍没学会,很失败,很惭愧.所以这次一方面简单分析一下自学会碰到的问题:另一方便,我想到了一种更好的自学的方法,就是"结伴学习",所以我找了一名小伙伴过来一起学习,这次想实践一下.我预期的很美好,因为在我目前的英语学习方面,我正在使用这种方法.不知这次结果最终如何,拭目以待! 之前我一直觉得自己的自学能力还可以,也一直比较喜欢自学.另外是否愿意.喜欢自学也与每个人的性格.需求有关系…
1.环境 win10 python 2.7.14 django 1.8.2 需要用到的依赖包:MySQLdb(数据库的接口包).PIL/pillow(处理图片的包) 安装命令: pip install django==1.8.2 pip install pillow 2.学习django需要的知识点: python基础 mysql基本查询 Html   css  js   web基础  ajax 3.首先开启一个Django项目 在命令行中进入需要创建django项目的目录,目录名称最好不要包括…
网页中文文档 http://python.usyiyi.cn/documents/django_182/topics/db/models.html Django性能测试工具 https://github.com/jazzband/silk/blob/master/README.md 官网文档 https://docs.djangoproject.com            python 下载django模块 pip3 install django     django 是python最强大的w…
博客参考:http://www.cnblogs.com/wupeiqi/articles/4943406.html http://www.cnblogs.com/luotianshuai/p/4949497.html 一.简单回顾上次课程内容 主要内容:str|list|dict 类---对象 具体内容可以参考: http://www.cnblogs.com/wupeiqi/articles/5433925.htmlhttp://www.cnblogs.com/wupeiqi/articles/…
一:Web框架介绍 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以快速帮你开发特定的系统. Web框架是别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你需要的样子.简单说,就是你用别人搭建好的舞台来表演. 一般Web框架的架构这样的: 其他基于Python的Web框架,图tornado,flask,webpy都是在这个范围内进行增删裁剪的.例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最…
linux运维需要掌握什么知识?这个问题算是老生常谈了,但是本人认为知道需要掌握什么知识不是重点,重点是我们需要知道运维是做什么的?再来根据工作需求去讨论需要学习什么知识才是正途,须知知识是学不完的,技能亦然. 想要学习linux,那么就得知道linux运维是做什么的? linux运维从低到高分为基础运维.高级运维.运维架构师,不同级别的运维的职责不一样,需要干的事情也不一样,当然需要掌握的技能也不一样. 运维人员做事需遵循“简单.易用.高效”的原则.对于运维服务有3大宗旨: 1.企业数据安全保…
python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html http://www.xuliangwei.com/http://www.nnzhp.cn http://www.cnblogs.com/lianzhilei/  cmdb http://www.cnblogs.co…
最近接触了ansible工具,查找了一些资料,也做了一些总结.希望能给刚接触的新手带来一些帮助. 此总结有实际例子,大部分也是从实践中用到才逐一总结的. 当然可能肯定一定会存在一些错误和纰漏,还望大家具体实践时进一步熟悉了解. ansible本身的模块有几百个,按照官网的建议来说,不建议一次性学完. 我们需要一边学习一边实践一边总结.要经常查找官方文档. 官方文档如下: https://docs.ansible.com/ansible/latest/index.html Ansible学习 安装…
1.Django请求生命周期 两种情况:最终返回的是字符串 1.-> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串 2.-> URL对应关系(匹配) -> 视图函数 -> 打开一个HTML文件,读取内容 2.创建django projcet django-admin startproject mysite mysite mysite - 配置文件 - url.py - settings.py cd mysite python manage.py star…
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是一种开发语言,而且已经进阶到主流的二十多种开发语言的top 5(数据源自最新的TIOBE排行榜). 来头不小啊!二十多种主流的开发语言,我该从哪一个开始呢?人生苦短,let‘s python! 1.2 Python的由来和发展趋势 Python的前世源自鼻祖“龟叔”.1989年,吉多·范罗苏姆(Gu…
目录: 一.JavaScript正则表达式 1.test  2.exec 二.BootStrap  1.响应式  2.图标.字体  3.基本使用 三.Django 1.安装  2.创建目录  3.进入创建的目录中,该目录概括一个目录与一个文件  4.运行程序  5.创建APP  6.APP目录 内容: 一.JavaScript正则表达式 1.test 判断字符串是否符合规定的正则表达式 例子: rep = /^\d+$/ rep.test('123')返回true 2.exec 获取匹配的数据,…
note 1.JS 正则 test - 判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf") # true rep = /^\d+$/; rep.test("asdfoiklfasdf89asdfasdf") # true exec - 获取匹配的数据 rep = /\d+/; str = "wangshen_67_houyafa_20" rep.exec(str) # […
人最难做到的就是跟自己学习, 总是学习别人的, 沉淀, 过一段时间忘了刚学到的, 在向别人学习, 而非看看自己的沉淀, 殊不知, 世界上最亲近,最默契的人是自己. 用户cmdb功能概述 之前学flask做了个cmdb的东西.当初作为学习的一个思路. 久而久之就忘掉了, 整理一下放上来. 可见时间是把杀猪刀, 稍不留神就让你背负着忘掉的东西,回顾它, 然后反过来浪费时间. 这就是搞这些的烦恼. 根据后端存储可分为3个节点, 这点和那个txl项目: python写一个通讯录step by step…