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项目介绍

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/tqtl911/p/9878874.html
Copyright © 2011-2022 走看看