Table of Contents

Overview & Features

Overview

The Universal Logging System (ULS) is an open-source solution for logging, monitoring, reporting and interactive analysis of values of different data types.

Agents running on clients acquire values, transfer them to the ULS-server which stores them as timestamp-related, structured data into a database.

Users can navigate and inspect this data as tables or graphs by using a web browser. Displayed results can be strung together to form reports. Thresholds can be defined which induce the ULS to send notifications when violated. Data can be aggregated by numerous functions to hourly, daily, weekly or monthly figures, which can e.g. be kept for long term analysis.

ULS Architecture Overview


Values

You can store:

Each value must belong to a timestamp (and some more parameters). The default retention time of 14 days for values can be individually defined for each detail.


Logical Data Structure

The logical data structure is hierarchical:

<domain>
  │
  └──►<source>
      │
      └──►<section>
            │
            ├──►<teststep>  | time stamp           |  detail  |  detail  |
            ├──►<teststep>  |                      |  unit    |  unit    |
            ├──►...         | ---------------------|----------|----------|
            ├──►...         | yyyy-mm-dd hh:mi:ss  |  value   |  value   |
            ├──►...         | yyyy-mm-dd hh:mi:ss  |  value   |  value   |
            ├──►...         | yyyy-mm-dd hh:mi:ss  |  value   |  value   |
data structure elements description
domain a pool of one or more logically related sources (or servers)
source the source of the values, e.g. a 'server', a 'car park' or a 'marathon'
section comprises related teststeps, e.g. 'system performance', a 'car' or a 'marathon participant'
teststep comprises related details, e.g. 'system load', 'refueling' or 'key body indicators'
detail the attribute to which the value belongs, e.g. '%idle', 'gallons' or 'heartbeat'
value that is the (measured) value, e.g. '73.8', '13.234', '82'
unit the unit of the value, e.g. '%', 'gal', '1/s'
time stamp the date and time to which the value relates, always in (nearly) ISO format, max down to the second

See also these examples.

Names and relations of sections to teststeps and details can freely be chosen by the agent creator. Only domains, sources (servers) and their relations must be defined in ULS (might be automated thru an interface). The interpretation of her/his values is obviously up to her-/himself.

The hierarchical structure allows a drill-down style analysis of the values.


Features

Data Communication

Datasources (agents on monitored systems) transfer their acquired values to the central ULS-server. A dedicated port is used for the HTTP or HTTPS connection to the ULS-server. This allows dedicated connections between separated network segments.

Interactive Analysis

The user can use any browser to:

Reports

Reports consist of sequences of report details.

Thresholds

The user may set up threshold definitions:

All stored data is periodically checked:

Ticket Tracking

Notifications of violated thresholds from ULS can be directed to the ULS Ticket Tracking (UTT). A ticket is issued and assigned to a ticket tracking destination, which is assigned to a group of ULS users. Group members can view, take over and work on the new ticket and close it after having solved it.

Users may:

You must use the “group” feature of ULS to take full advantage of the UTT. Groups combine domains, users, notification destinations and ticket tracking destinations.

All changes to the ticket are saved in the ticket's history and cannot be reverted.

What Else

Aggregation:

Retention of values:

Derived details:

Administration

The adminstration uses an own web application which is only available for ULS-administrators and the ULS-master-admin.

As ULS-master-admin you need to:

As ULS-administrator you need to:

Everything else will be dynamically created as the values are stored.

Agents

Agents deliver values to the ULS-server. There are several possibilities to transfer values:

See the Agents & Clients.

Requirements

To run the ULS-server you need: