ts-olly

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: MIT

README

ts-olly

A real-time log observer for Tableau Server. Tails log files, parses structured log formats (log4j, log4j2, httpd), and outputs unified JSON logs suitable for ingestion into log aggregation systems.

Features

  • Real-time log tailing with automatic discovery of new log files
  • Parses multiple log formats:
    • log4j XML configuration
    • log4j2 XML configuration
    • Apache httpd custom log formats
    • JSON logs (passthrough)
  • Outputs structured JSON logs via zerolog
  • Exposes Prometheus metrics endpoint
  • Graceful shutdown handling
  • Docker support with minimal distroless image

Installation

From Source
go install github.com/highperformance-tech/ts-olly/cmd/ts-olly@latest
Build from Source
git clone https://github.com/highperformance-tech/ts-olly.git
cd ts-olly
make build
Docker
docker pull ghcr.io/highperformance-tech/ts-olly:latest

Usage

ts-olly [flags]
Flags
Flag Default Description
-port 2112 Port for metrics endpoint
-env development Environment (development|staging|production)
-node Tableau cluster node ID (e.g., node1, node2)
-logsdir Path to Tableau Server logs directory
-configdir Path to Tableau Server config directory
-parse false Parse recognizable log lines into structured JSON
-read-existing-logs false Read existing log content on startup
Example
ts-olly \
  -node node1 \
  -logsdir /var/opt/tableau/tableau_server/data/tabsvc/logs \
  -configdir /var/opt/tableau/tableau_server/data/tabsvc/config \
  -port 2112
Docker
docker run -d \
  -v /var/opt/tableau/tableau_server/data/tabsvc/logs:/logs:ro \
  -v /var/opt/tableau/tableau_server/data/tabsvc/config:/config:ro \
  -p 2112:2112 \
  ghcr.io/highperformance-tech/ts-olly:latest \
  -node node1 \
  -logsdir /logs \
  -configdir /config

Output

ts-olly outputs JSON-formatted log lines to stdout. Each line includes:

  • filename - Source log file path
  • fileid - Unique file identifier
  • process - Tableau process name
  • processid - Process instance ID
  • line - Line number in source file
  • offset - Byte offset in source file
  • level - Log level (when parseable)
  • component - Log component/logger name
  • message - Log message content
  • node - Cluster node identifier
  • ts - Timestamp

Metrics

Prometheus metrics are exposed at http://localhost:<port>/metrics.

License

MIT License - see LICENSE for details.

Directories

Path Synopsis
cmd
ts-olly command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL