Installation - Installing as an NT Service Getting Started - Running

Getting Started - Configuring a Simple Veduta™ Example

The following will lead you through a simple Veduta setup. More complex configuration discussions will be addressed later. If you want to immediately run an example out of the box, then follow this link.

The below assumes that Veduta is installed and a suitable Java virtual machine is available.

For the purposes of this example we'll configure Veduta to monitor one log file - a Linux system log. However the principles can be carried over to any system log that you wish to monitor.

Configurations

We'll need three configurations for Veduta. These are already installed with Veduta. On Windows, this will default to:
C:\Program Files\OOPS Consultancy\Veduta
On Unix/Linux and MacOSX this will default to:
/home/$USER/Veduta
The example configurations are in examples\simple (or examples/simple for Linux/Unix/MacOSX. Please modify paths appropriately in the following).

For the initial example you won't need to edit these configurations.

System Configuration - veduta.xml

The first is the simplest. examples\simple\veduta.xml file specifies system information.
<?xml version="1.0" encoding="UTF-8"?>
<system>
  <db type="memory">1
    <file>db\db.ser</file>
  </db>
  <network>
    <port>3055</port>
    <server>3055</server>
  </network>
</system>
This specifies:
  1. an in-memory db. Veduta can be configured to run in-memory or write its state to a SQL database. For this example we'll run an in-memory database which is backed up to disk (note the file option). See here for more details on choosing database options.
  2. a network configuration for the server to listen on (port 3055) and the client to talk to (localhost on port 3055). When moving to another client, this host should be changed to the name of the host the server is running on. See the client/server documentation for more information.

Consumer Configuration - consumers.xml

Next we need to specify where Veduta will read the system log from, and how to interpret it. Veduta needs to be able to read each line of the log file, and determine timestamps from these. Alternatively, Veduta can read each line in the log file and imply a timestamp based on when it read that line. However in this scenario Veduta will not be able to determine timestamps for previously existing log entries.

examples\simple\consumers.xml specifies the configuration thus:

<?xml version="1.0" encoding="UTF-8"?>
<consumers>
  <consumer>
    <file>
      <name>System Messages</name>1
      <filename>examples\simple\logs\messages</filename>2
      <parser type="simple"/>3
    </file>
  </consumer>
</consumers>
In the above example:
  1. We specify a name for this configuration
  2. We specify the name of the log file
  3. We've set a simple parser here. This will read each line and assign a timestamp. As discussed above, this is a simple scenario. We'll show a more useful configuration below.

Report Configuration - report.xml

The final configuration will specify how to display this information. This is the most flexible and configurable part of the system. Once again the example below is a simple one. Although it looks quite sizable, there are only a few parameters to change.

examples\simple\report.xml specifies the report formats thus:


<?xml version="1.0" encoding="UTF-8"?>

<report>
  <name>Linux system report</name>1
  <description>Reports on occurrences on this Linux system</description>2
  <file>
    <name>examples\simple\results\server</name>3
  </file>

  <consumers>
    <consumer>
      <name>System Messages</name>4
      <label>Host system messages</label>
      <timeslice>5m</timeslice>
      <display>
        <type>chart</type>5
        <markersize>4</markersize>
        <backgroundcolour>#ffffff</backgroundcolour>
        ....
      </display>

      <analysis type="quantity/patterns" values="" patternValues="pattern colour map">6
        <pattern score="1">.*warning.*</pattern>
        <pattern score="2">.*error.*</pattern>
      </analysis>
    </consumer>
  </consumers>

  <times>
    ....
  </times>

  <display>
    ...
    <!-- marker colours -->7
    <values name="pattern colour map">
      <value equals="2" colour="red"/>
      <value equals="1" colour="#ff6600"/> <!-- orange -->
    </values>

  </display>
</report>
In the above example:
  1. We specify a report name. This will appear in the generated report.
  2. We specify a report description. This will appear in the generated report. This would typically have an explanation of what's being monitored, contact info, hyperlinks etc.
  3. We specify a filename for the output reports. This is used as a base name, since timestamps etc. will be appended. Only used if not running Veduta in its webserver mode.
  4. We specify a consumer to read information from. This is the consumer that we specified in consumers.xml and the name here must match the name in the consumers.xml configuration.
    Below this we specify the label to be used in the report, how large each time slice displayed will be (here it's 5 minutes)
  5. We specify a chart with markers indicating errors etc.
  6. We specify how to match strings in the logs and scores to assign for each pattern. These scores are used by the colour mappings below.
  7. Finally we specify the colour mappings to use. We can assign different colour sets, thus making colours (or colour combinations) correspond to system activity, messages etc.
Now let's see how we run this.
Installation - Installing as an NT Service Getting Started - Running