有关安装和配置传感器以实现J2EE的详细说明,这些J2EE实现运行在RedHat Linux 7.x或更高版本、Sun Solaris SPARC 2.6或更高版本或Sun Solaris x86 9或更高版本上。
传感器的程序文件打包在您从Adobe下载站点获得的安装文件中。 如果您还没有特定Web服务器的传感器安装文件,请在开始以下步骤之前先下载它(或从Adobe代表处获得它)。
支持的J2EE实现包括:
要安装和配置传感器,必须执行以下步骤:
解压并安装传感器程序文件的过程。
以根用户或具有根权限的用户身份登录。
使用以下命令解压缩并解压缩安装文件:
在Linux上:
tar -zxf installationFilename.tar.gz
在Solaris上:
unzip -d installationFilename.tar.gz
tar -xf installationFilename.tar
将解压缩的程序文件复制到下表中标识的目录:
File(文件) | 描述 | 目标目录 |
---|---|---|
mod_visual_sciences.so | 收集器负载模块。 | IBMHttpServer/模块 |
txlogd |
发射机程序。 | /usr/local/bin --或者-- /usr/local/sbin |
txlogd.conf | 传感器配置文件。 | /等 |
trust_ca_cert.pem | 用于验证Insight Server在连接过程中显示的数字证书的证书 | /usr/local/visual_sciences |
安装包中包含一个名为TestExperice.xls的电子表格文件。 此电子表格是架构师用来配置受控实验的工具。 传感器本身不使用此文件,因此不必在运行传感器的计算机上安装该文件(尽管您可以选择这样做)。 您可能希望将文件复制到架构师可以访问的位置,或根据需要从安装包中提取文件。 有关受控实验的详细信息,请参阅《Insight Controlled Experies Guide》(Insight控制实验指南)。
对程序文件的权限
对程序文件的权限不正确会导致安装传感器时遇到的大多数问题。 请确保您设置的权限完全符合本条所述的要求。
默认情况下,tar文件中的程序文件具有以下权限。 根据系统的配置方式,在解压文件时,这些设置可能会被更改(未遮住)。 要将权限重置为建议的默认设置,请使用下面的chmod命令。 检查您已安装文件的目录是否至少允许此级别的访问。
File(文件) | 默认权限 | chmod命令 |
---|---|---|
mod_visual_sciences.so | rwx r-x r-x | chmod 775 |
txlogd | rwx —x —x | chmod 711 |
txlogd.conf | rw-r— r— | chmod 664 |
trust_ca_cert.pem | rw-r— r— | chmod 664 |
该文 txlogd.conf 件包含传感器的配置参数。
您必须编辑此文件以指定磁盘队列文件的大小和位置、Insight Server的地址以及将附加到此传感器生成的事件数据的ID等。
配置文件包含必需参数和可选参数。
编辑传感器配置文件
编辑传感器配置文件
配置txlogd.conf文件后,可启动发射器程序,将其注册为Windows服务,并创建磁盘队列。
如果磁盘队列所在的目录尚不存在,请创建它。 确保目录为收集器模块和发射机程序提供对文件的读/写访问。
有关磁盘队列文件所需权限的详细信息,请参阅传感器UNIX文件权限。
在安装了传感器的计算机上,执行以下命令以启动发射器:
/usr/local/bin/txlogd -ic -f /etc/txlogd.conf
有关启动发射器时可使用的选项的其他信息,请参阅传感器发射器命令行选项。
验证发射器是否已在QueueFile参数中指定的位置和QueueSize参数中指定的大小中创建磁盘队列。
如果未正确创建队列,请键入Ctrl+C以终止发射器,然后执行以下操作:
对于Apache服务器,收集器是加载到Web服务器进程中的动态共享对象。
要将收集器添加到Web服务器,必须按照下面所述编 httpd.conf 辑文件并重新启动Web服务器。
如果传感器正在为服务器计算机上的多台Web服务器捕获数据,则必须对每台Web服务器执行以下过程。
使用文本编辑器,打开Sensor httpd.conf捕获其事件的Web服务器的文件。
将以下元素 <filter>
和元 <filter-mapping>
素添加到描述符文件。 如果未在/etc目录中安装txlogd.conf,则需要在元素中输入此文件的正确路 <param-value>
径:
<filter>
<filter-name>VSCollectorFilter</filter-name>
<description></description>
<filter-class>
com.visualsciences.collector.VSCollectorFilter
</filter-class>
<init-param>
<param-name>configPath</param-name>
<param-value>/etc/txlogd.conf</param-value>
<description></description>
</init-param>
</filter>
<filter-mapping>
<filter-name>VSCollectorFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这些行区分大小写。 完全按上面显示的方式键入它们。
重新启动Web服务器进程(您不必重新启动整个服务器计算机,只需重新启动Web服务器进程)。 收集器加载了Web服务器,开始收集事件数据并将其写入磁盘队列。
验证收集器是否正在收集事件数据,以及发射器是否正在将其传输到目标Insight Server。
要验证发射器是否可以将事件数据成功发送到Insight Server,请确保目标Insight Server已安装并正在运行,然后开始以下测试。
如果发射器尚未运行,请使用以下命令重新启动它:
/usr/local/bin/txlogd -i -f /etc/txlogd.conf
打开浏览器(在任何计算机上),并从运行传感器的Web服务器请求页面(请务必选择传感器监视的页面)。
发出请求后,检查发射器的控制台中是否有消息,指明它正在向目标Insight Server发送事件数据。
如果传感器未成功传输数据,请验证:
有关将发射器自动加载到系统启动脚本的信息。
要确保在重新启动Web服务器计算机时发射器自动加载,请将以下命令(该命令将启动发射器)添加到系统启动脚本中:
/usr/local/bin/txlogd -f /etc/txlogd.conf
此命令将发射器作为守护程序启动。 发送器生成的操作和错误消息被写入 syslog。
默认的Solaris设置为60。 根据使用传感器(每个实例使用三个信号)进行的测试,Adobe建议您使用1024作为设置。 此数量足够高,传感器能够与服务器上可能需要信号的任何其他应用程序一起运行,但不会影响性能。 为支持这一建议,请注意,Adrian Coccroft在其《Sun Performance and Tuning》(Prentice Hall,1994年10月)一书中指出:“数据库往往使用大量共享内存和信号量设置。 这些不会影响性能;只要规模足够大,这些计划就会运行。”
所有平台的传感器都可以收集HTTP请求和响应标头中可用的任何数据。
J2EE平台的传感器提供了收集其他平台上不可用的数据的机制。 J2EE平台(J2EE收集器)的收集器位于应用程序层上,这使其能够收集仅对应用程序可用的敏感数据,并且不应通过页面标记或标题来公开这些数据。
虽然页面标记和标题修改可以隐藏数据,但那些使用浏览器插件工具检查页面源代码或查看标题的用户仍可使用该功能。
例如,J2EE收集器可用于捕获页面上显示的链接的每次点击成本(CPC)数据、页面上的敏感合作伙伴信息以及许多其他数据点。 J2EE环境使您能够轻松地修改WEBAPP,以使用我们的收集器类捕获此自定义数据。
当J2EE平台的传感器收到请求时,它调用一个导入appendToLog函数的收集器类。 appendToLog函数会将在appendToLog函数中指定的查询字符串参数附加到初始请求中。 这会导致初始请求的URI中包含与所捕获数据的名称和值相对应的附加查询字符串名称——值对。 例如,当特定广告投放或点进链接的值为20美分时,CPC=20将附加到初始请求中。 Insight Server将这些值处理到数据集中以进行分析。 此收集方法的另一个好处是它允许收集其他数据,而不创建额外的日志条目,这可能是使用页面标记方法创建的。
有关处理的详细信息,请参阅《数据集配置指南》。
从页面捕获其他数据
将以下代码添加到要从中捕获数据的。jsp页的顶部:
<%@ page import="com.visualsciences.collector.VSCollector" %>
使用收集器对象的appendToLog()方法将所需的名称——值对追加到所请求的。jsp页的查询字符串中。 以下示例将“A=1”和“B=2”附加到/index.jsp页面所请求的。jsp页面的查询字符串中:
<html>
<body>
<h1>Hello World</h1>
<%
VSCollector collector = new VSCollector(request, response);
collector.appendToLog("A", "1");
collector.appendToLog("B", "2");
%>
</body>
</html>
生成的请求URI为/index.jsp?A=1&B=2。
对要从中捕获其他数据的每个。jsp页重复此过程。