ZENworks Configuration Management - Server Log Parser



IMPORTANT: Although the ZCM Server Log Parser is at version 11, you may still use it to parse logs from 10.3.x

You must have the Java JRE or JDK installed on the machine you are running the tool from. Either the JAVA_HOME or the ZENWORKS_HOME environment variables must be set.

On Windows, if JAVA was installed at C:\Program Files\Java\jdk1.6.0, to set the JAVA_HOME directory run:

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0

On Linux, if JAVA was installed to /opt/java/jdk1.6.0, I would run:

export JAVA_HOME=/opt/java/jdk1.6.0


  1. Can parse the services-messages.log and loader-messages.log

  • Counts the number of instances of a particular web service based up on the name in brackets. For example any message prefixed with [Assignment Web Service] will be tracked as an "Assignment Web Service" call.

  • Any web service that logs in the following format will be tracked based upon average duration for a specified time interval:
    [DEBUG] [4/1/11 9:12:11 AM] [] [<web service name>] [] [<web service call> complete, time: <duration>ms...] [] []

  • Can track cache evictions, maximum cache size and average cache sizes if cache logging is enabled.

  • Tracks the number of exceptions found in the logs by the specified time intervals.

  • Tracks the number of restarts of either the ZENLoader or ZENServer service.

  • Can produce both a bar and a line graph for the number of web services found as well as the web service durations.

  • Parses multiple log files at the same time.

  • Parses the backup .zip files generated when a log reaches the size limit specified in ZCC

  • Can union the results of multiple log files (.zip and .log) from both ZENworks Loader and ZENworks Server services.

  • Can increase the precition of the data generated from days (default) to hours or minutes

  • Can focus on a specific time interval in the logs and only report on that interval.

  • Can focus in on a user specified number of more prevalent web services for both counts and web service durations.

Generated Results:

Currently, the log parser generates results files for several different stats:

  • Web Service Counts - the number of times a web service log entry is encountered. This is not necessarily the number of times a device requests information from a web service, but this count is directly proportionate to the number of request being made.

  • Web Service Times - this is the duration that any given web service method call may last prior to returning the requested content back to the client.

  • Exceptions - how many times each type of exception occurs

  • Restarts - how often a service restarts,

  • Cache Usage - how many items are in the each server-side cache and the evictions. IMPORTANT: This will only show up if cache logging has been enabled. This will happen by default if the log level is set to DEBUG.

The results files that are generated from the ZENworks Log Parser will use the log filename as the prefix for the results file names, so if the log filename is "services-messages.log" the results files will be:


The .csv files are files with comma separated values. These are easily imported into spreadsheets or even databases. The .jpg files are the graphs of data. This makes it particularly easy to quickly spot trends or problems.



How To-Best Practice
Comment List
    This parser doesn't seem to function against ZCM 11.3.1, whether I attempt to run it from my workstation with copied log files or if I try to run it from my ZCM appliance with the Java from that installation - results are:

    [ParseLogStats] Parsing file(s), please wait...
    [ParseLogStats] File: loader-messages.log
    [FileParsingEngine] Parsing log entries for file /var/opt/novell/log/zenworks/loader-messages.log
    [FileParsingEngine] Unhandled exception while parsing line information., exception message: 3
    java.lang.ArrayIndexOutOfBoundsException: 3
    at com.novell.zenworks.logparser.ParserUtil.getTimeIntervalString(ParserUtil.java:207)
    at com.novell.zenworks.logparser.FileParsingEngine.parseLogEntries(FileParsingEngine.java:352)
    at com.novell.zenworks.logparser.FileParsingEngine.parseLogEntries(FileParsingEngine.java:264)
    at com.novell.zenworks.logparser.FileParsingEngine.execute(FileParsingEngine.java:113)
    at com.novell.zenworks.logparser.ParseLogStats.main(ParseLogStats.java:232)
    [FileParsingEngine] Adding results to the master set.
    [ParseLogStats] Parsing complete in 0.04s.