The JMS channel is implemented as a JMS Producer client application. It receives event messages from Novell® Audit's event notification system, maps the event information into JMS messages, then sends them to a JMS Destination. JMS Consumer applications can then retrieve the JMS messages from the Destination.
The JMS channel driver is a Java* library and is located in the Java archive files, NauditLogDriver.jar and NauditLogDriverUtil.jar. The JMS driver maps Novell Audit event information into JMS messages and sends the messages to a JMS destination.
At startup, the JMS driver looks in the classpath for the Java class designated in the jmsclient.properties file. It then attempts to launch the Java class. If it is successful, that instance of the class remains active until the JMS Channel object is disabled or the Secure Logging Server is shut down.
If it cannot launch the Java class, the JMS driver refuses to load. This safeguard ensures that no events are lost because of misconfiguration.
NOTE: The JMS driver does not buffer events that are undeliverable because of misconfiguration or a server failure.
At startup, Novell Audit defines the Java classpath as follows:
Novell_Audit_install_directory\java\logdriver\
Novell Audit installs its default Java drivers to this directory. Any .jar files required for additional Java channels you are using with Novell Audit must be copied to this directory or a subdirectory.
The following procedure outlines the steps required to configure the JMS channel driver.
Install a JMS Provider such as the Novell exteNd Java Messaging Platform.
Configure the data store.
Install a storage database supported by your JMS Provider.
For example, if you are using the Novell exteNd Java Messaging Platform, install MySQL*.
Create a database for Novell Audit event data. For example, nauditDB.
Create the required database tables for Novell Audit event data.
If you are using MySQL, execute the dbinit -create command.
If it was not installed with your JMS Provider, install the Java 2 Platform v1.4 Enterprise Edition (J2EE*).
J2EE provides the JMS interface required by all the JMS components-that is, the JMS Producer driver, the JMS provider, and the JMS Consumer application.
Provide the required classpath settings.
If you are using the Novell exteNd Java Messaging Platform, add the following to the classpath:
mp-jms.jar
This file is located in the exteNd_install_directory/mp/lib directory.
mysql-connector-java-version-bin.jar
This file is part of the MySQL installation. If you installed MySQL with the Novell exteNd Java Messaging Platform, the file is exteNd_install_directory/MySQL/jdbc/mysql-connector-java.3.0.10.stable-bin.jar .
NAuditDriver.jar
This file is part of the Novell Audit installation.
Provide the required PATH settings.
If you are using the Novell exteNd Java Messaging Platform, add the following directories to the PATH:
exteNd_install_directory/mp/bin/win32
j2ee1.4.2sdk/bin
j2ee1.4.2skd/jre/bin/server
NOTE: If you are using the JMS channel on a Windows* machine, you need to the add the jvm.dll directory path to the Path system variable. For example, c:\j2sdk1.4.2_09\jre\bin\server\. Reboot the machine for the changes to take effect.
Configure the JMS Provider.
If you are using the Novell exteNd Java Messaging Platform, edit the exteNd_install_directory/mp/lib/msgsvc.properties file and define the following properties:
msgsvc.name=JMQ0
This value ends in a zero (0).
msgsvc.port=53506
msgsvc.logdir=log_directory
For example, msgsvc.logdir=c:\\exteNd5\\MP\logs
msgsvc.store=MySQL
msgsvc.jdbc.driver=com.mysql.jdbc.Driver
msgsvc.jdbc.url=jdbc:mysql://localhost:3306/Novell_Audit_database_name
msgsvc.jdbc.user=administrator_account
msgsvc.jdbc.password=administrator_account_password
msgsvc.jdbc.minpoolsize=10
msgsvc.jdbc.maxpoolsize=20
Start the JMS Provider service.
If you are using the Novell exteNd Java Messaging Platform, execute jmqserv. You can set the -debug and -verbose options to view the system connections, identify problems, and track actions as they are happening. The syntax is as follows:
jmqserv -debug -verbose
Create the required topics and queues.
If you are using the Novell exteNd Java Messaging Platform, run the following commands to create topics and queues:
jmqutil [-verbose] -createTopic Topic_name
jmqutil [-verbose] -createQueue Queue_name
Run dbinit -info to show all the topics and queues.
Run dbinit -info Topic_name|Queue_name to view information about a specific topic or queue.
Copy the mp-orb.jar and mp-jms.jar files to the Novell Audit install location.
If you are using the Novell exteNd Java Messaging Platform, these files are located in the exteNd_install_directory/mp/lib directory.
The mp-orb.jar and mp-jms.jar files contain the JMS Provider's client-side JMS implementations. (Every JMS Provider has its own implementation of the JMS interface.) The Novell Audit JMS driver uses this information to map event information into JMS messages.
(Optional) Build and run the sample Producer and AsyncConsumer JMS client applications as stand-alone Java applications to ensure that the property settings for JNDI, JMS Messages, and the JMS Provider are correctly configured.
Edit the CLASSPATH settings in both the buildTest.bat and run.bat files for your system.
Execute the following sample consumer:
run aconsumer [debug] topic|queue destination [browse]
For example, run aconsumer topic topic/nauditTopic waits for messages to appear on the specific topic it has subscribed to.
Execute run aconsumer -? to display command help.
On a separate console window, execute the sample producer:
run producer text count=n
For example, run producer test count=8 topic topic/nauditTopic sends eight test messages to the topic. If the consumer is running, it receives the eight test messages.
Execute run producer -? to display command help.
Configure the JMS Channel object.
Start the JMS client consumer application.
It should be waiting for JMS messages.
Start the SLS, lengine.
Check the Novell Audit log files for status (jmsProd.log), or check the consumer status.
A trademark symbol (®, , etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party trademark. For information on trademarks, see Legal Notices.