Sawmill Architecture Overview


Sawmill Architecture Overview

This document provides a high-level overview of the internal architecture that is specific to Sawmill.

Log Importer

Sawmill is a log analyzer. It reads text log data from a log source (usually log files on the local disk, a network mounted disk, or FTP), parses the data, and puts it in the Sawmill Database. Log Filters can be used to convert or filter the data as it is read, or to pull in external metadata for use in reports.

Sawmill Database

The Sawmill Database stores the data from the log source. The Log Importer feeds data into the database, and the Reporting Interface queries the database to generate reports. The database can be either the internal database, built into Sawmill, or a MySQL database.

Reporting Interface

The Reporting Interface is an HTML interface delivered through the Web Server, to any compatible web browser. Reports are generated dynamically by querying the Sawmill Database. The Reporting Interface allows arbitrary filters to be applied to any report, including Boolean filters. Reports can be created or edited through the Administrative Interface.

Administrative Interface

The Administrative Interface is an HTML interface delivered through the Web Server, to any compatible web browser. The Administrative Interface is used to create and edit profiles, users, scheduled tasks, and more.

Web Server

The Web Server is an HTTP server built into Sawmill. It serves the Reporting Interface and the Administrative Interface. It is also possible to use an external web server like Apache or IIS to serve the Sawmill interface.

Command Line Interface

Sawmill includes an extensive command-line interface. Some options available from the command line:

The most common command-line actions can also be run periodically, using the Sawmill Scheduler.