如何快速构建CMBD系统-glpi
脚本后续更新及迭代将由kkitDeploy项目代替
https://github.com/luckman666/kkitdeploy_server
请大家持续关注kkitDeploy
一、CMBD系统构建步骤
起初,开发这套CMBD系统是为了帮助朋友公司简化设备统计操作,以代替人工入库方式。举个例子,单位发放笔记本,或者设备更换了硬盘,都需要人工签到,手动输入统计,安装了CMBD系统后,系统就可以自动定时收集设备信息,以此来减少人工操作。下面给大家简单介绍一下构建步骤:
1、服务器上若安装了docker和docker-compose,直接运行下面的脚本即可
git clone https://github.com/luckman666/deploy_glpi.git
cd deploy_glpi
docker-compose up -d
2、若没有安装docker和docker-compose,可使用下面的脚本将环境初始化,随后再运行步骤1的脚本,CMBD系统就构建完成了。
git clone https://github.com/luckman666/shell_scripts.git
cd shell_scripts && chmod -R .
./deploy_docker_and_composes.sh
二、glip的安装及使用方法
上面的几行脚本是参考了名为glip的PHP开源项目得来的。glip是一个非常不错的CMBD系统,而且还有许多的插件可以使用。但是安装特别复杂,且硬核资料非常少,导致一些比较好的群需要收费才可以加入。鉴于glip安装比较复杂,我把项目封装做成了镜像上传到我的开源镜像库中以供大家使用。下面向大家介绍一下核心配置和简单的使用方法:
1、项目启动后访问IP,我映射的是80端口,选择mariadb数据库(我用的mariadb),在docker-compose里可以找到用户名和密码,然后点击“继续”,进入主页!

2、进入主页后,会有“警告”命令,需到glpi容器里执行下面两个脚本:

清除警告命令
/usr/local/bin/php /var/www/html/front/cron.php
定时任务命令
* * * * * /usr/local/bin/php /var/www/html/front/cron.php &>/dev/null
3、安装最核心的插件fusioninventory,然后把fusioninventory-9.2.2.0.tar.bz2这个插件mv到/var/lib/docker/volumes/glpi_glpi-plugins/_data/目录下解压,得到glpi的核心插件,它能够自动收集设备上的信息。
mv fusioninventory-9.2.2.0.tar.bz2 /var/lib/docker/volumes/glpi_glpi-plugins/_data/ && tar -jxvf fusioninventory-9.2.2.0.tar.bz2
4、选择“插件”,点击“安装”,安装成功后,点击“启用”,把状态设置成下图这样就可以了。


进行到此,服务器端先粗略讲解完毕。
三、agent安装
-Windows
由于Windows的安装比较麻烦,且耗时较长,于是写了一个集辨别系统架构、自动安装和立刻采集于一身的功能性脚本-Fusion.rar(在仓库里面),下面是安装步骤:
1、将Fusion.rar copy到Windows的电脑上,记事本打开FusionInventory.bat。修改这两个位置的IP为你们安装glpi的IP即可。若端口改了,后边也要加上端口。保存,双击执行。注意有可能会被360或者其他安全软件拦截,放行或者暂时关闭安全软件就可以了。

2、 执行完毕,关闭cmd命令提示框,登录glpi,安装完成。

-Linux
以centos7 为例:
1、执行下面的语句
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install -y fusioninventory-agent fusioninventory-agent-task-inventory
vim /etc/fusioninventory/agent.cfg
2、添加一条记录
server = http://192.168.1.116/plugins/fusioninventory
3、与上面Windows安装过程中类似的一点,IP和端口需要换一下,然后执行
systemctl start fusioninventory-agent
systemctl enable fusioninventory-agent
4、若想要立刻收集,只需要执行下面语句
fusioninventory-agent
在agent安装完毕后,server端会进行例行盘点,默认是24小时一次盘点,收集agent的信息。下面是调整盘点时间的选项

四、dashboard简介


还有各种画面我就不给大家演示了。里面还给大家放了一个PDF的插件,为了方便大家下载图表之类的。行了!今天聊到这了。感谢大家的关注,波哥会持续提供更好更有价值的工具,对了自己写的kkit3.0已经到了自动部署阶段了。我还在抽时间往前赶。加油吧各位!可以关注我的公众号获取更多的实用工具和讲解!

如何快速构建CMBD系统-glpi的更多相关文章
- 【Fungus入门】10分钟快速构建Unity中的万能对话系统 / 叙事系统 / 剧情系统
我真的很久没有写过一个完整的攻略了(笑),咸鱼了很久之后还是想来写一个好玩的.这次主要是梳理一下Unity的小众插件Fungus的核心功能,并且快速掌握其使用方法. 官方文档:http://fungu ...
- Hexo快速构建个人小站-Fulid主题下添加Valine评论系统(三)
Hexo目录: Hexo快速构建个人小站-Hexo初始化和将项目托管在Github(一) Hexo快速构建个人小站-自定义域名和自定义主题(二) 背景交代: 前面两章完成了Hexo的初始化和部分自定义 ...
- 用前端姿势玩docker【五】快速构建中类Unix系统与Windows系统的差异化处理
目录 用前端姿势玩docker[一]Docker通俗理解常用功能汇总与操作埋坑 用前端姿势玩docker[二]dockerfile定制镜像初体验 用前端姿势玩docker[三]基于nvm的前端环境构建 ...
- C# Winform 通过FlowLayoutPanel及自定义的编辑控件,实现快速构建C/S版的编辑表单页面
个人理解,开发应用程序的目的,不论是B/S或是C/S结构类型,无非就是实现可供用户进行查.增.改.删,其中查询用到最多,开发设计的场景也最为复杂,包括但不限于:表格记录查询.报表查询.导出文件查询等等 ...
- 【Android】如何快速构建Android Demo
[Android]如何快速构建Android Demo 简介 在 Android 学习的过程中,经常需要针对某些项目来写一些测试的例子,或者在做一些 demo 的时候,都需要先写 Activity 然 ...
- Winform 通过FlowLayoutPanel及自定义的编辑控件,实现快速构建C/S版的编辑表单页面 z
http://www.cnblogs.com/zuowj/p/4504130.html 不论是B/S或是C/S结构类型,无非就是实现可供用户进行查.增.改.删,其中查询用到最多,开发设计的场景 也最为 ...
- 快速构建Windows 8风格应用17-布局控件
原文:快速构建Windows 8风格应用17-布局控件 本篇博文主要介绍三种常用的布局控件:Canvas.Grid.StackPanel. Panel类是开发Windows 8 Store应用中一个重 ...
- 快速构建Windows 8风格应用15-ShareContract构建
原文:快速构建Windows 8风格应用15-ShareContract构建 本篇博文主要介绍共享数据包.如何构建共享源.如何构建共享目标.DataTransferManager类. 共享数据包 Da ...
- 快速构建Windows 8风格应用13-SearchContract构建
原文:快速构建Windows 8风格应用13-SearchContract构建 本篇博文主要介绍如何在应用中构建SearchContract,相应的原理已经在博文<快速构建Windows 8风格 ...
随机推荐
- Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver
今日内容:socket网络编程 1.OSI七层协议 2.基于tcp协议的套接字通信 3.模拟ssh远程执行命令 4.tcp的粘包问题及解决方案 5.基于udp协议的套接字 ...
- appium连真机问题
adb devices -l 后出现:List of devices attached 解决方法:用管理员身份运行以上命令 adb kill-server adb start-server adb d ...
- C# 使用 StreamWriter 写入数据
NetworkStream 类.MemoryStream类 和 FileStream 类都提供了以字节为基本单位的读写方法,但是这种方法首先将待写入的数据转换为字节序列后才能进行读写,当操作的是使用字 ...
- java 放射机制简介
放射,说白了就是通过名字加载相应的类,以及类的方法和属性,是为了解决开发中不知道别人会写什么类而采取的一种顺利开发的东东. package com.io; //学生业务类 不知道别人写的 这个是别人写 ...
- MFC编辑框数据实时更新问题
在VC里,很多情况下需要更新控件,也就是调用UpdateData(FALSE);但是如果是在循环中调用该函数,会导致没有时间来刷新界面,消息得不到相应,从外部看来,似乎整个循环只执行了一次Update ...
- Primer回顾 数组和指针
数组和指针类似于vector和迭代器. 区别在于:数组的长度是固定的.数组一经创建,就不允许添加新的元素.指针则可以像迭代器一样用于遍历和检查数组中的元素. 设计良好的程序只有在强调速度时才在类实现的 ...
- 2-6 Flutter开发环境与Android开发环境设置实操(Windows)
通常安装完AS后,sdk的目录 C:\Users\wjw\AppData\Local\Android\sdk 如果在这个目录下没有找到sdk的目录的话 Settings里面搜索sdk,找到Androi ...
- Spring入门第八课
看如下代码 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// ...
- DOM,date,字符串
ECMAscript Dom doc Bom Browerwindow --窗口. location --地址栏. history --历史. document --文档. statue --任务栏& ...
- .net core 高吞吐远程方法调用组件XRPC
XRPC的目标非常明确,就是给.net core平台实现一个百万级别的远程方法调用RPC通讯组件.它的设计理念和GRPC一样,基于连接复用的机制实现高吞的性能:XRPC采用了HTTP2复用的思想,在协 ...