声明:鉴于本文篇幅比较长,为了不让广大博友产生阅读疲劳,所以进行了分割,如果要全篇阅读文章,请点击文章底部的链接,对此产生的不便,深表抱歉
 

一、前言

说实话,我没想到使用WINDOWS 2008 R2系统平台安装OCS Inventory NG服务器端,然后安装OCS Inventory NGAGENT端依然是一波三折,不过经过一系列的折腾好容易把问题解决了。所以发此博文跟大家共享一下。

二、OCS Inventory NG的工作原理

上一篇文章已经把OCS Inventory NG是什么做了一个简介,现在说一下它的工作原理。这款软件用途是做资产管理的,也就是说它可以搜集客户端计算机的各种信息,包括IP地址、硬件信息、软件信息等。不过这款软件是基于C/S模式的,之前的文章介绍的是关于服务器端(S端)的安装,而本文介绍的是主要是客户端(C端)
 
注:OCS Inventory NG服务器端就以下称为服务器端,客户端以下称为代理端(Agent)
 
首先OCS Inventory NG服务器端不会主动扫描局域网内的计算机,只有安装了代理端的计算机会主动向服务器端发送信息,在OCS Inventory NG代理端是安装了一个叫AGENT(代理)的程序用来收集和发送相关的信息。与传统的监控软件不同,它不是通过SNMP协议来收集信息的,而是通过HTTP协议来收集信息。
 
工作原理
 
OCS服务器接收来自代理端产生的XML格式数据,并在mysql数据库中存储数据。代理端主动联系服务器端。服务器处于听取模式。代理端和服务器端之间的交流通过http/https协议,软件部署和snmp扫描只能在https中。
 
数据传输模式:
 
 代理端收集原始数据 -> 整理为XML 格式 -> 发送到http(s)://ocs-ng/ocsinventory -> mod_perl 联机处理 –> mysql 数据库
 
上面蓝色字体为代理端进行的操作,红色字体为服务器端进行的操作。
 
实际上服务器端由4部分组成:
  
1.  数据库服务器,存储库存收集到的信息MySQL
2.  通讯服务器,负责处理数据库服务器和代理之间的HTTP通信(Apache, perl and mod_perl)
3.  管理控制台, 允许管理员使用自己喜欢的浏览器查询数据库服务器(Apache, php)
4.  部署服务器, 存储所有的软件包部署配置(Apache, ssl)
服务器端与代理端关系图,如下图1.1
(图1.1)
 
1、       计算机独立部署安装AGENT端程序后通过httphttps协议将数据推送到通信服务器端,然后将数据写入数据库。
2、       计算机批量部署通过部署服务器基于 GPO 和登录脚本的 OCSPackager OCSLogon 将部署程序推送至AGENT端计算机。
3、       通过浏览器访问管理控制台,可以详细查询收集到的计算机信息。
 
另外需要注意的是,不要混淆/ocsinventory /ocsreports这两个目录
·    ocsreports : 该目录包含所有的php文件,构成了管理控制台。 我们使用浏览器访问, URL : http://server/ocsreports
·    ocsinventory : 虚拟目录用来通过 mod_perl 处理的 XML 格式代理发送的文件并在数据库中存储数据。
 
需要掌握的知识介绍的差不多了,我们现在开始实战。
 

三、AGENT端的安装与故障排除

 

不得不承认,按照我上一篇文章的介绍在WIN2008 R2平台下安装OCS Inventory NG服务器端后,安装OCS Inventory Agent是无法在数据库接收到任何信息的。这也正是我要写这篇文章的原因,因为OCS Inventory Agent的安装是比较简单的,但是简单不代表就没有问题,之前在网上找相关资料的时候就发现有的博文下面有很多人在提相关问题,服务器端接收不到数据,但是博主都没有回文,经过我的研究终于解决了这个问题。下面的操作接上一篇博文开始。
 
另:文中不管是服务器端还是代理端都不包含LINUX下的内容,关于LINUX平台下的安装与设置,请等待后续的博文。
 

3.1AGENT安装

 
目前的最新版本是2.0.5
 
下载加压后,我们直接执行OCSNG-Windows-Agent2.0.5,如下图3.1.1
(图3.1.1)
 
下面就是传统的WINDOWS INSTALL安装向导,我只截其中关键的配置图。图下图3.1.2 这里我们默认选择即可
(图3.1.2
 
这里是最重要的一个选项,将Server URL中的内容填写为你的实际内容,比如我安装的服务器端IP是:192.168.11.121 那么填写如下图
(图3.1.3
 
注意:后面的/ocsinventory 需要保留,关于这个目录的含义,前文中已经介绍。
 
其它默认,关于其它选项,将来再进行介绍。
 
下一步后,代理服务内容默认不填,如下图3.1.4
(图3.1.4
 
下一个内容,选择下图相关内容,如下图3.1.5
(图3.1.5
第一复选框:启用日志
第二复选框:不扫描安装的软件(前期我们不需要,如果实际生产中需要扫描收集、就不要勾选该复选框)
第三个复选框:输入一个标签 主要是为了将来方便查找该机器信息,我这台机器是WIN XP 32位系统,所以标签为winxp
最后一个复选框:现在就收集发送数据
然后我们选下一步,提示安装路径(一般默认即可),下一步后开始安装并收集数据。
 
完成后就可以启动应用程序了。如下图3.1.6
(图3.1.6
 
这个时候会在任务栏右下角有一个图标产生,如下图3.1.7
(图3.1.7
 
看到图标就证明程序已经启动了,但是要保证程序的正常运行,必须要到系统的服务中去检查相关的服务是否启动了。如下图3.1.8
(图3.1.8
 
图中蓝色高亮就是相关的服务,只要正常启动就证明程序运行了。
在我的安装经历中,几乎没有遇到服务不能启动的经历。不过我不敢保证你不会中次大奖。特别是你的机器可能被之前所谓的优化过,检查一下相关的依赖服务是否可以正常运行,如下图3.1.9
 
(图3.1.9
 
如果上面的组件不正常,可能就会导致该服务无法启动。
 
这个时候AGENT端实际上已经开始工作,如果你按照我前面的博文介绍在WINDOWS 2003下安装SERVER端,就可以发现已经收集的数据了,但是如果你按照我的博文是安装在WINDOWS 2008 R2平台下,可能就会什么数据也收集不到,如下图3.1.10
(图3.1.10
这是怎么回事呢?