zoukankan      html  css  js  c++  java
  • CMDB项目实战

    • 01-CMDB项目介绍
    • 02-CMDB开发背景
    • 03-CMDB开发目的
    • 04-CMDB资产采集方式之agent
    • 05-CMDB资产采集方式之ssh
    • 06-CMDB资产采集方式之saltstack
    • 07-CMDB资产采集方式之puppet
    • 08-CMDB资产采集方式比较
    • 09-CMDB采集内容梳理
    • 10-CMDB资产采集功能之agent
    • 11-CMDB资产采集之实现之ssh
    • 12-CMDB资产采集功能实现之saltstack(一)
    • 13-CMDB资产采集功能实现之saltstack(二)
    • 14-CMDB资产采集插件开发(一)
    • 15-面向对象继承
    • 16-CMDB资产采集插件开发(二)
    • 17-CMDB资产采集插件开发(三)
    • 18-基于配置文件加载插件
    • 19-作业讲解
    • 20-CMDB项目采集资产数据(一)
    • 21-CMDB项目采集资产数据之唯一标识规定
    • 22-CMDB项目采集资产数据(二)
    • 23-CMDB项目采集资产数据
    • 24-知识拾遗之线程进程池
    • 25-CMDB项目采集资产之日志记录
    • 26-自定义JSON序列化类型
    • 27-本小结作业
    • 28-基于requests模块汇报资产数据
    • 29-基于requests模块汇报API验证(一)
    • 30-基于requests模块汇报API验证(二)
    • 31-CMDB项目示例之API验证流程
    • 32-CMDB项目之数据表结构(一)
    • 33-CMDB项目之数据表结构(二)
    • 34-CMDB资产之汇报并持久化(一)
    • 35-CMDB资产汇报并持久化(二)
    • 36-CMDB之持久化资产流程
    • 37-作业
    • 38-CMDB项目CRUD组件之配置文件构造
    • 39-CMDB项目CURD组件之神奇的单@符号
    • 40-CMDB项目CURD组件之神奇的双@符号(一)
    • 41-CMDB项目CURD组件之神奇的双@符号(二)
    • 42-CMDB项目CURD组件之自定义td属性
    • 43-内容预习
    • 44-CMDB项目CURD组件之进入编辑模式
    • 45-CMDB项目CURD组件之全选取消反选和编辑模式
    • 46-CMDB项目CURD组件之内容截图
    • 47-CMDB项目CURD组件进入编辑模式详细
    • 48-CMDB项目CURD组件属性中应用神奇的单@符号
    • 49-CMDB项目CURD组件之退出编辑模式
    • 50-CMDB项目CURD组件更新数据
    • 51-CMDB项目CURD组件之基于jQuery扩展封装组件
    • 52-CMDB项目CURD组件之基本操作
    • 53-CMDB项目CURD组件之分页功能
    • 54-CMDB项目CURD组件之搜索功能介绍
    • 55-CMDB项目介绍

    01- CMDB项目介绍

    1.1 业务场景开发最难;

    1.2 CMDB(配置管理数据库);

    1.3 程序员与产品经理互掐;

    1.4 运维开发&自动化开发;

    1.5 PHP转Python的岗位场景;

    02-CMDB开发背景

    2.1 针对运维自动化的项目;

    2.2 开发工具给公司某一岗位的使用;

    2.3 业务开发;

    • 电商;
    • 交给运维人员进行发布部署;

    2.4 工具开发;

    • 公司内部人员使用;
    • 减少人工干预,降低成本;
    • 统计公司的重资产-路由器、交换机、服务器;
    • 运维操作会失误;
    • 资产统计会失误;
    • 运维开发给普通运维人员开发工具——减少人工干预,降低运维成本;
    • 自动化方向-资产管理&操作管理&日志管理&监控管理;

    03-CMDB开发目的

    3.1 为什么开发CMDB系统?

    • 批量采购的服务器需要安装OS;
    • 批量安装操作系统——PXE;Kickstart;
    • Python、Java、Go、大数据等环境;
    • 灰度发布;
    • 自动化工具-ssh、saltstack、puppet、Ansible、迅雷种子发布;
    • CMDB是运维自动化的基础,有了它,才能构建上层项目;

    04-CMDB资产采集方式之agent

    4.1 私有云和公有云(AWS、阿里云、腾讯云、华为云)

    4.2 CMDB的模块;

    • 资产;
    • 配置管理;
    • 私有云;
    • 监控;
    • 堡垒机;
    • 任务;
    • DNS;
    • 资源池;
    • 流程;

    4.3 信息的搜集方式;

    • 客户端agent;不安全
    • 手动录入基本信息;
    • 优点:采集数据快;
    • 缺点:软件安装多;

    05-CMDB资产采集方式之ssh

    5.1 API方式获取;

    5.2 优点与缺点:SSH连接非常慢,本质是基于paramiko模块;

    06-CMDB资产采集方式之saltstack

    6.1 依赖于第三方工具如saltstack进行开发(agent本身存在);

    6.2 saltstack利用了rpc的方式进行数据搜集;基于队列的方式,速度快;

    • salt-master;
    • salt-slave;
    • 优点:快,开发成本低;
    • 缺点:依赖于saltstack-slave;

    07-CMDB资产采集方式之puppet

    7.1 老牌工具-puppet进行远程操作;

    7.2 puppet-master和puppet-slave;

    7.3 puppet内置的报表功能每30分钟连接一次slave;

    • 缺点:得用Ruby语言写;

    08-CMDB资产采集方式比较

    8.1 使用哪种方式?

    • agent;
    • ssh;
    • saltstack;

    8.2 修改配置文件进行场景选择;

    8.3 资产监控数据没有必要每分钟采集一次;

    09-CMDB采集内容梳理

    9.1 数据采集的四种方式;

    • agent主动汇报;每天执行脚本+定时任务;
    • ssh;数据库压力大;
    • saltstack;
    • puppet;

    9.2 为什么要使用API的方式?

    • 给别人提供数据;
    • 降低数据库连接池数量;

    10-CMDB资产采集功能之agent

    10.1 pip3 install requests;

    • 采集资产信息;
    • 正则处理想要获取的数据;
    • 整理资产信息;
    • 发送数据;

    11-CMDB资产采集之实现之ssh

    import paramiko
       
    # 创建SSH对象
    ssh = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='c1.salt.com', port=22, username='cuixiaozhao', password='123456')
       
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('df')
    # 获取命令结果
    result = stdout.read()
       
    # 关闭连接
    ssh.close()

    12-CMDB资产采集功能实现之saltstack(一)

    • 安装saltstack
    • http://docs.saltstack.cn/topics/installation/rhel.html
    • yum install salt-master salt-minion
    • 修改配置文件 vim /etc/salt/master,修改interface位置本机IP地址;
    • 重启salt-master;
    • 修改minion的配置文件,指定master的ip地址并重启;

    13-CMDB资产采集功能实现之saltstack(二)

    14-CMDB资产采集插件开发(一)

    14.1 做好程序目录结构规划;

    15-面向对象继承

    16-CMDB资产采集插件开发(二)

    17-CMDB资产采集插件开发(三)

    17.1 使用可拔插式的方法编写;

    18-基于配置文件加载插件

    19-作业讲解

    19.1 为什么开发CMDB系统?

    • 运维自动化的基础;
    • 进行公司资产管理,不再基于Excel表格;
    • 资产进行自动汇报,以及资产的自动汇报;

    20-CMDB项目采集资产数据(一)

    20.1 agent形式;

    • 采集资产
    • 将资产数据发送到API(POST)

    20.2 SSH形式;

    • 获取今日未采集主机列表
    • 采集资产
    • 将资产数据发送到API(post方法)

    20.3 Salt形式;

    • 获取今日未采集主机列表
    • 采集资产
    • 将资产数据发送到API(post)

    可执行文件中,代码越少越好;

    21-CMDB项目采集资产数据之唯一标识规定

    21.1 唯一标识号码-SN号;

    21.2 做运维自动化之前,先制定规则,要不然无法向下执行;比如主机名无法重复;

    21.3 公司既有物理机又有虚拟机,SN号不好使;

    22-CMDB项目采集资产数据(二)

    22.1 开发CMDB前,先制定规则;

    23-CMDB项目采集资产数据

    24-知识拾遗之线程进程池

    25-CMDB项目采集资产之日志记录

    26-自定义JSON序列化类型

    27-本小结作业

    28-基于requests模块汇报资产数据

    29-基于requests模块汇报API验证(一)

    30-基于requests模块汇报API验证(二)

    31-CMDB项目示例之API验证流程

    32-CMDB项目之数据表结构(一)

    33-CMDB项目之数据表结构(二)

    34-CMDB资产之汇报并持久化(一)

    35-CMDB资产汇报并持久化(二)

    36-CMDB之持久化资产流程

    37-作业

    38-CMDB项目CRUD组件之配置文件构造

    39-CMDB项目CURD组件之神奇的单@符号

    40-CMDB项目CURD组件之神奇的双@符号(一)

    41-CMDB项目CURD组件之神奇的双@符号(二)

    42-CMDB项目CURD组件之自定义td属性

    43-内容预习

    44-CMDB项目CURD组件之进入编辑模式

    45-CMDB项目CURD组件之全选取消反选和编辑模式

    46-CMDB项目CURD组件之内容截图

    47-CMDB项目CURD组件进入编辑模式详细

    48-CMDB项目CURD组件属性中应用神奇的单@符号

    49-CMDB项目CURD组件之退出编辑模式

    50-CMDB项目CURD组件更新数据

    51-CMDB项目CURD组件之基于jQuery扩展封装组件

    52-CMDB项目CURD组件之基本操作

    53-CMDB项目CURD组件之分页功能

    54-CMDB项目CURD组件之搜索功能介绍

    55-CMDB项目介绍

  • 相关阅读:
    js将时间戳转化为时间,(不省略0)
    SpringMVC路径传参
    贪心算法及实例
    剪绳子(贪心算法)
    c语言输入一行未知个数数字存入数组
    Netlink机制详解
    new和malloc的区别
    堆 和 栈的 区别
    strlen与sizeof区别(转载)
    任务
  • 原文地址:https://www.cnblogs.com/tqtl911/p/9878874.html
Copyright © 2011-2022 走看看