Skip to content

like mtail but with a yaml configuration syntax and pcre dependency

License

Notifications You must be signed in to change notification settings

wrouesnel/tail_exporter

Repository files navigation

Build Status Coverage Status Go Report Card

Tail Exporter

This is a prometheus exporter in a similar vein as mtail, but implemented to be able to read on TCP sockets, and with a YAML format. It is also capable of reading from log files or pipes.

It links against the libpcre library for faster regex'ing.

Configuration File

The configuration file is based on YAML. Prometheus metrics are required to have a consistent set of labels, but metrics may be repeated in the config file to allow multiple regexes to populate different timeseries.

Example

Counting mail processing stages from exim:

metric_configs:
- name: exim_mail_count
  help: counter of mail processing results
  type: counter
  regex: '^METRICS: uuid=(\S+) result=(\S+)'
  labels:
  - name: uuid
    value: $1
  - name: result
    value: $2
  value: increment
  timeout: 15m

TODO

The lockfree hashmap used is non-deterministic on inserts being available before the next line is processed. We need to add an intermediate queue operation to wait of the hashmap to reflect an insert being complete.

About

like mtail but with a yaml configuration syntax and pcre dependency

Resources

License

Stars

Watchers

Forks

Packages

No packages published