Need help with mtail?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

2.7K Stars 302 Forks Apache License 2.0 3.4K Commits 30 Opened issues


extract whitebox monitoring data from application logs for collection in a timeseries database

Services available


Need anything else?

Contributors list


mtail - extract whitebox monitoring data from application logs for collection into a timeseries database

ci GoDoc Go Report Card OSS-Fuzz CirrusCI Build Status codecov

is a tool for extracting metrics from application logs to be exported into a timeseries database or timeseries calculator for alerting and dashboarding.

It fills a monitoring niche by being the glue between applications that do not export their own internal state (other than via logs) and existing monitoring systems, such that system operators do not need to patch those applications to instrument them or writing custom extraction code for every such application.

The extraction is controlled by mtail programs which define patterns and actions:

# simple line counter
counter lines_total
/$/ {

Metrics are exported for scraping by a collector as JSON or Prometheus format over HTTP, or can be periodically sent to a collectd, StatsD, or Graphite collector socket.

Read the programming guide if you want to learn how to write mtail programs.

Ask general questions on the users mailing list:


There are various ways of installing mtail.

Precompiled binaries

Precompiled binaries for released versions are available in the Releases page on Github. Using the latest production release binary is the recommended way of installing mtail.

Windows, OSX and Linux binaries are available.

Building from source

The simplest way to get

is to
go get
it directly.

go get

This assumes you have a working Go environment with a recent Go version. Usually mtail is tested to work with the last two minor versions (e.g. Go 1.12 and Go 1.11).

If you want to fetch everything, you need to turn on Go Modules to succeed because of the way Go Modules have changed the way go get treats source trees with no Go code at the top level.

GO111MODULE=on go get -u
cd $GOPATH/src/
make install

If you develop the compiler you will need some additional tools like

to be able to rebuild the parser.

See the Build instructions for more details.


is included in this repository for local development as an alternative to installing Go in your environment, and takes care of all the build dependency installation, if you don't care for that.


works best when it paired with a timeseries-based calculator and alerting tool, like Prometheus.

So what you do is you take the metrics from the log files and you bring them down to the monitoring system?

It deals with the instrumentation so the engineers don't have to! It has the extraction skills! It is good at dealing with log files!!

Read More

Full documentation at

Read more about writing


Read more about hacking on


Read more about deploying

and your programs in a monitoring environment

After that, if you have any questions, please email (and optionally join) the mailing list:!forum/mtail-users or file a new issue.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.