Zurück zum Ranking

google/mtail

Go

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

monitoringlogsobservabilityprometheuscollectorproxymetricsgoextractionmtailcalculatorvm
Sterne-Wachstum
Sterne
4k
Forks
393
Wochenwachstum
Issues
42
2k4k
Mai 2014Mai 2018Juni 2022Juli 2026
ArtefakteGo Modulesgo get github.com/google/mtail
README
mtail

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

ci GoDoc Go Report Card OSS-Fuzz codecov

mtail 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
/$/ {
  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: https://groups.google.com/g/mtail-users

Installation

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 mtail is to go get it directly.

go get github.com/google/mtail/cmd/mtail

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 github.com/google/mtail
cd $GOPATH/src/github.com/google/mtail
make install

If you develop the compiler you will need some additional tools like goyacc to be able to rebuild the parser.

See the Build instructions for more details.

A Dockerfile 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.

Deployment

mtail works best when 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 http://google.github.io/mtail/

Read more about writing mtail programs:

Read more about hacking on mtail

Read more about deploying mtail and your programs in a monitoring environment

Getting more help and reporting defects

If you have any questions, please use the GitHub Discussions Q&A.

We also have an email list : https://groups.google.com/forum/#!forum/mtail-users

For any defects please file a new issue.

Ähnliche Repositories
louislam/uptime-kuma

A fancy self-hosted monitoring tool

JavaScriptnpmMIT Licenseuptimemonitoring
uptime.kuma.pet
89.4k8.1k
ruvnet/RuView

π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.

Rustcrates.ioMIT Licensedenseposewifi
cognitum.one/RuView
82.8k11.1k
netdata/netdata

The fastest path to AI-powered full stack observability, even for lean teams.

GoGo ModulesGNU General Public License v3.0monitoringdocker
netdata.cloud
79.8k6.5k
grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

TypeScriptnpmGNU Affero General Public License v3.0grafanamonitoring
grafana.com
75.7k14.3k
koala73/worldmonitor

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

TypeScriptnpmOtheraidashboard
worldmonitor.app
65.9k10.2k
prometheus/prometheus

The Prometheus monitoring system and time series database.

GoGo ModulesApache License 2.0monitoringmetrics
prometheus.io
65.3k10.7k
huginn/huginn

Create agents that monitor and act on your behalf. Your agents are standing by!

RubyRubyGemsMIT Licenseautomationnotifications
49.7k4.3k
getsentry/sentry

Developer-first error tracking and performance monitoring

PythonPyPIOthercrash-reportingcrash-reports
sentry.io
44.3k4.8k
Unitech/pm2

Node.js/Bun Production Process Manager with a built-in Load Balancer.

JavaScriptnpmOtherpm2nodejs
pm2.keymetrics.io/docs/usage/quick-start/
43.2k2.7k
glanceapp/glance

A self-hosted dashboard that puts all your feeds in one place

GoGo ModulesGNU Affero General Public License v3.0dashboardhomepage
35.9k1.4k
nicolargo/glances

Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

PythonPyPIOtherpythonmulti-platform
nicolargo.github.io/glances/
33.1k1.8k
dgtlmoon/changedetection.io

Best and simplest tool for website change detection, web page monitoring, and website change alerts. Perfect for tracking content changes, price drops, restock alerts, and website defacement monitoring—all for free or enjoy our SaaS plan!

PythonPyPIApache License 2.0website-monitorwebsite-monitoring
changedetection.io
32.4k1.9k