09_CMDB系统开发三

2023-12-21 02:44
文章标签 系统 开发 09 cmdb

本文主要是介绍09_CMDB系统开发三,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CMDB系统开发三

一、资产主机模块

1、资产主机模型设计

主机展示信息表

常规性的收集:

==主机模型==:IP地址、连接端口、操作系统(Linux,Windows,Mac)、机器类型(虚拟机,物理机)、主机名、CPU型号、CPU物理个数、内存信息、系统平台、系统平台位数、UUID、SN、探测状态、创建主机时间、更新主机时间

还要收集==硬盘信息,网卡信息==,注意一台主机,硬盘可能有多个,网卡也会有多个。所以要单独把硬盘和网卡各单独设计成一张表,然后使用多对一跟主机模型连接起来。

==硬盘模型==:硬盘名、硬盘大小、外键关联(server)

==网卡模型==:网卡名、ip地址、外键关联(server)

还需要一张探测表,把探测时候的一些信息记录下来,比如在探测的时候,要输入主机IP,端口,要把这些信息收集下来,并且跟主机表进行关联。

①创建模型

②迁移数据库

2、资产主机展示列表

路由

视图

模板

没有数据,后期通过检查脚本推送服务器的信息到cmdb系统中,然后就添加到资产主机数据表中。

3、资产主机探测功能设计

常规的信息收集,有两种方式,一种是主动采集,一种是客户端收集。

主动探测:一般是通过,SNMP/SSH/TELNET等手段进行远程收集。

==客户端采集==:需要在每一个要部署的主机中部署一个客户端进行数据采集并且发送到远程服务端进行接收。

Tip:升级安装Linux平台Python版本3以上

注意:本安装需要使用到CentOS base源 epel源

#!/bin/bash
yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel
if [ ! -f './Python-3.7.3.tgz' ];thenecho "本地没有Python源码包,需要远程下载,请耐心等待\n"wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
fi
tar xvf Python-3.7.3.tgz
cd Python-3.7.3
./configure --prefix=/usr/local/python3 --with-ssl && make && make install
echo 'PATH=/usr/local/python3/bin:$PATH' >> /etc/profile
source /etc/profile
===========================================================================================
#执行完成之后查看命令行
[root@localhost ~]# python3 --version
Python 3.7.3
[root@localhost ~]# pip3 --version
pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
===========================================================================================
#配置pip国内源
shell > cd ~
shell > mkdir .pip
shell > cd .pip/
shell > vim pip.conf
#文件内容
[global]
index-url = http://pypi.douban.com/simple/
[install]
trusted-host = pypi.douban.com

4、数据收集API和客户端编写

①使用客户端收集到主机信息

②cmdb编写一个接收数据的API

路由

视图

③修改请求API的地址 scan_file.py

④查看可以获取到数据

5、添加资产主机

简单修改模型

视图

在收集主机上执行

显示效果

项目这里暂时开发到目前模块。

还可以做其他功能:参考一些开源的cmdb产品 jumpserver

①主动发送检测脚本到被监控机 python sftp传输

②管理主机使用webssh 可以实现一些开源的工具 webssh(后端建立长连接) xtemjs(前端显示命令行)

③web端的ftp

④接入监控的API 获取数据 通过highchart echart 出监控图表

⑤CI CD

这篇关于09_CMDB系统开发三的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/518406

相关文章

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后