广告
返回顶部
首页 > 资讯 > 后端开发 > Python >CMDB管理系统
  • 172
分享到

CMDB管理系统

管理系统CMDB 2023-01-30 22:01:20 172人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

说明CMDB管理系统,基于Ansible最新版开发,采用前后端分离架构项目主要结构./ ├── ansible_client  # ansible_client客户端 │  &nb

说明

CMDB管理系统,基于Ansible最新版开发,采用前后端分离架构


项目主要结构

./
├── ansible_client  # ansible_client客户端
│   └── monitor
│       ├── cpu.py  # 监控cpu
│       └── memory.py  # 监控内存
├── api  # api部分
│   ├── api_urls.py  # api相关的url
│   ├── serializers  # 序列化相关
│   │   ├── ansible.py  # ansible
│   │   ├── disk.py  # 磁盘
│   │   ├── hostinfo.py  # 主机详细信息
│   │   ├── host.py  # 主机信息
│   │   └── network.py  # 网络信息
│   ├── utils
│   │   ├── ansible  # ansible相关
│   │   │   ├── check_ip.py  # 检测ip可用性
│   │   │   ├── exec_ansible.py  # ansible的API,用来执行ansible命令
│   │   │   ├── extract_setup.py  # 检测硬件信息
│   │   │   ├── hosts_fm.py  # ansible的hosts文件写入
│   │   │   ├── login_host.py  # 远程登录主机
│   │   │   └── remotExect.sh  # 输入密码
│   │   ├── auth.py  # 认证
│   │   ├── response.py  # 统一code返回值
│   │   └── serialization_general.py  # 标准序列化返回值
│   └── views
│       ├── ansible.py  # ansible相关
│       ├── disk.py  # 磁盘相关
│       ├── hostinfo.py  # 主机详情
│       ├── host.py  # 主机
│       ├── monit  # 监控相关
│       │   ├── cpu.py
│       │   └── memory.py
│       └── network.py  # 网卡相关
├── AutoCmdb
│   ├── settings.py  # 项目配置文件
│   ├── urls.py  # 总入口
├── cron
│   └── test_ORM.py  # 测试脚本
├── db.sqlite3  # 数据库
├── manage.py  # 启动文件
├── README.md
├── repository
│   └── models.py  # 数据库文件
└── WEB  # 前端展示部分
    ├── static  # 静态目录
    │   ├── CSS
    │   ├── img
    │   ├── js
    │   └── plugins
    │       ├── bootstrap-3.3.7  # bootstrap
    │       ├── font-awesome-4.7.0  # 图标库插件
    │       ├── Highcharts-6.1.2  # 图表插件
    │       └── sweetalert  # 弹框插件
    ├── templates  # 模板相关
    │   ├── ansible_add_host.html  # 添加ansible主机
    │   ├── ansible_add.html  # 添加ansible组
    │   ├── ansible_list.html  # ansible列表
    │   ├── base.html  # 母版
    │   ├── default.html  # 默认首页的右侧部分
    │   ├── host_info.html  # 主机详情
    │   ├── host_list.html  # 主机列表
    │   ├── index.html  # 首页主体部分,包含左侧边栏和头部
    │   └── monitor  # 监控图表相关
    │       ├── cpu.html
    │       └── memory.html
    ├── views
    │   ├── ansible.py  # ansible相关
    │   ├── host.py  # 主机相关
    │   └── index.py
    └── web_urls.py  # web页面相关路由


运行环境


ProjectversionDescription
python3.6.5
Django1.11.15必须此版本
djanGorestframework3.8.2
ansible2.7.0不能低于此版本


功能说明

以下功能,都是用Python来完成的
1.  使用django rest framework开发api
2.  优雅获取本机IP
3.  判断ip地址是否有效
4.  判断ssh端口是否开放
5.  自动使用yum安装软件
6.  自动完成ssh免密码登录
7.  根据数据库记录的变化,自动写入文件/etc/ansible/hosts
8.  使用ansible 2.x API收集客户端硬件信息
9.  根据返回的硬件信息,使用事务写入数据库中
10. 使用psutil模块获取cpu和内存使用情况,并发送给后端API,统一入库.
11. 使用Highcharts插件来展示监控图表,比如: cpu和内存.


效果

首页:

首页.png



ansible管理:

ansible管理.png


ansible主机:

ansible主机.png


主机详情:

主机详情.png



运行方式

ansible主控端


首先需要编译安装python3,请参考链接:
Http://www.py3study.com/Article/details/id/320.html
做到添加豆瓣源为止,请务必按照本教程操作,否则会出现没有pip3的问题!!!

安装2个系统软件
yum install -y ansible expect


安装python相关模块
pip3 install django==1.11.15
pip3 install djangorestframework
pip3 install ansible
或者使用requirements.txt文件安装相关模块
pip3 install -r requirements.txt

最后切换到项目目录,使用以下命令运行
python3 manage.py runserver 0.0.0.0:8000


ansible被控端


编译安装python3,参考上面的操作!
注意:被控端不需要安装ansible!!!

安装python相关模块
pip3 install requests psutil

将项目中的ansible_client拷贝到opt目录中
注意:务必修改cpu.py和memory.py中的ip地址

设置linux任务计划:

# 监控cpu和内存
* * * * * python3 /opt/ansible_client/monitor/cpu.py
* * * * * python3 /opt/ansible_client/monitor/memory.py


网页操作


请务必安装以下操作进行:
访问页面: http://ip地址/web/  
注意:必须使用谷歌浏览器访问,360浏览器可能某些数据无法加载!

1. 进入首页,点击左侧ansible管理。必须先添加组
2. 添加组之后,再点击添加主机
3. 最后点击左侧ansible主机,就可以查看主机详情和监控图表了


备注

本项目只是一个demo,请勿直接用于生产环境!


GitHub地址:

https://github.com/py3study/AutoCmdb



--结束END--

本文标题: CMDB管理系统

本文链接: https://www.lsjlt.com/news/179185.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CMDB管理系统
    说明CMDB管理系统,基于Ansible最新版开发,采用前后端分离架构项目主要结构./ ├── ansible_client  # ansible_client客户端 │  &nb...
    99+
    2023-01-30
    管理系统 CMDB
  • python写一个cmdb管理系统
    在人生苦短,我用Python的号召下,自己也学习了python这门语言,也自己写了一个简单cmdb系统,简单说一下这个系统,功能就是资产的增删改查,excel导出、多文件上传、基于密码的终端登录,资产信息自动更新,用户管理,批量命令执行,历...
    99+
    2023-01-31
    管理系统 python cmdb
  • 开发CMDB系统
      背景:   在现网环境中服务器多了每天服务器的配置 情况我们很难记住,当某台服务器硬件配置变化后可以第一时间了解,某台服务器出现问题时可以快速定位机架位置,之前都是excel文档,要查某项数据时极不方便。历时半个多月终于鼓捣出了一个简...
    99+
    2023-01-30
    系统 CMDB
  • 工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计
     工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理    工程项目各模块及其功能点清单 一、系统管理     1、数据字典:实...
    99+
    2023-10-07
    java 企业工程管理系统源码
  • Python系统管理
    在Linux操作系统上编写shell脚本时, 主要涉及到执行系统命令, 目录和文件操作. 那么在python中怎么办呢, 这主要是几个模块的使用: os, os.path, shutil和sys...os模块包含了大部分的Linux命令, ...
    99+
    2023-01-31
    系统 Python
  • 客户管理系统系统厂商
    简介 客户管理系统是企业运营中非常重要的一部分,它可以帮助企业更好地管理客户信息、提高客户满意度和忠诚度。而选择一家优质的客户管理系统系统厂商则是实现这些目标的关键。本文将介绍一些知名的客户管理系统系统厂商,并分析它们的特点和优势。1. S...
    99+
    2023-12-28
    客户管理系统 厂商 系统
  • 新闻管理系统
     其他项目,点击作者主页   目录 1 系统简介 2 系统相关技术 2.1 Java开发语言 2.1.1 Spring框架 2.1.2 Spring MVC框架 2.1.3 Mybatis框架 2.2 MySQL数据库 3 需求分析 3.1...
    99+
    2023-10-04
    mybatis java 开发语言 数据库 mysql
  • 学生管理系统
    学生信息管理系统设计 一、需求分析 1、开发背景: 信息化已经渗透到我们生活的方方面面,学校信息化的发展也是一种不可避免的趋势。伴随着高等院校招生规模的不断扩大,传统人工管理信息的方法不但不能满足这种管理上的需求,而且因为人员、资源成本的上...
    99+
    2023-09-25
    mysql
  • 【JAVASE】图书管理系统
    ⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 Ǵ...
    99+
    2023-10-01
    java
  • 通讯录管理系统
    作者:狮子也疯狂 专栏:《项目集锦》 坚持做好每一步,幸运之神自然会驾凌在你的身上 目录 一. 🦁 项目描述二. 🦁编写目的三. 🦁技术...
    99+
    2023-10-24
    java 开发语言 数据结构 gitee
  • 钉钉erp管理系统
    一、钉钉erp管理系统的优势 1.高效的信息化管理 钉钉erp管理系统具有高效的信息化管理功能,它可以实现企业内部各个部门之间的协同工作,有效地管理企业的信息流、物流和资金流。同时,它还支持多种信息格式的存储和传输,能够快速地对信息进行处...
    99+
    2023-10-28
    管理系统 erp
  • Python的系统管理_03_pytho
    收录下流程控制语句方便查看和使用:if 语法 if <表达式>:if expression :else:Statement(s)statement(s)如果在条件表达是成立执行IF下语句,不成立执行ELSE下语句。嵌套方式:If...
    99+
    2023-01-31
    系统 Python _03_pytho
  • PHP后台管理系统
    导航栏目 ========================================================= 开发文档   社区地址   官网地址   演示地址   =============================...
    99+
    2023-09-22
    php 开发语言
  • 【Python】好友管理系统
    好友管理系统 如今的社交软件层出不穷,虽然功能千变万化,但都具有好友管理系统的基本功能,包括添加好友、删除好友、备注好友、展示好友等。下面是一个简单的好友管理系统的功能菜单,如图1所示。 好友管理系统中有5个功能,每个功能都对应一个序号...
    99+
    2023-10-20
    开发语言 python pycharm Powered by 金山文档
  • 钉钉 crm管理系统
    首先,钉钉的优势之一是其云端化的架构。钉钉的云端化架构可以使企业在不需要部署自己的服务器的情况下,享受到高性能、稳定性和安全性的云服务。此外,钉钉的开放性和兼容性也为企业提供了更多的应用选择。在这种云端化架构的支持下,企业可以轻松地集成各种...
    99+
    2023-10-28
    管理系统 crm
  • Python的系统管理_02python
    上一节,起了几个简单例子,目的是解释Python其实并难,特别适用了Ipython这样一个利器,既然是Python的系统管理,面向系统管理员,Python的优点之一是其交互式解释器,也称作shell,和BASH很像,很符合管理员的操作习惯,...
    99+
    2023-01-31
    系统 Python _02python
  • Python的系统管理_04_pytho
    函数:工具集:排序:极值:自定义函数-用户自己编写的预定义的函数-系统自带为什么使用函数:降低编程的难度,代码重用。定义形式:def 函数名(参数列表): #可以没有参数函数体Defadd ():#定义函数C= a+bPrintcAdd()...
    99+
    2023-01-31
    系统 Python _04_pytho
  • Python的系统管理_06_pytho
    import subprocessres =subprocess.Popen(['uname','-sv'],stdout=subprocess.PIPE)uname = res.stdout.read().strip()find()和in...
    99+
    2023-01-31
    系统 Python _06_pytho
  • Python的系统管理_07_pytho
    一个通过正则匹配来下载指定页面图片的示例,几个可能出错的地方都用print打印出来,可以观察是否正确。目标站点::http://www.tupian.com/tag/xinggan#引入数据包import reimport urllib#定...
    99+
    2023-01-31
    系统 Python _07_pytho
  • Python的系统管理_10_pytho
    01类和对象:面向过程和面向对象的编程:面向过程的编程:函数式编程,C程序等。面向对象的编程:C++,Java,Pyton 等类和对象:是面向对象中的两个重要概念类:是对事物的抽象,比如:汽车模型对象:是类的一个实例,比如:QQ轿车,大客车...
    99+
    2023-01-31
    系统 Python _10_pytho
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作