angle-grinder [](https://travis-ci.org/rcoh/angle-grinder) [](https://gitter.im/angle-grinder/Lobby)
Slice and dice log files on the command line.
Angle-grinder allows you to parse, aggregate, sum, average, min/max, percentile, and sort your data. You can see it, live-updating, in your terminal. Angle grinder is designed for when, for whatever reason, you don't have your data in graphite/honeycomb/kibana/sumologic/splunk/etc. but still want to be able to do sophisticated analytics.
Angle grinder can process well above 1M rows per second (simple pipelines as high as 5M), so it's usable for fairly meaty aggregation. The results will live update in your terminal as data is processed. Angle grinder is a bare bones functional programming language coupled with a pretty terminal UI.
Quick Links
- Installation
- Query Syntax Overview
- Operators
- Parsers: JSON logfmt split generic
- Misc: Add/remove fields limit timeslice where
- Aggregators: count sum min max percentile sort total count distinct
- Output Control
Installation
Binaries are available for Linux and OSX. Many more platforms (including Windows) are available if you compile from source. In all of the commands below, the resulting binary will be called agrind. Starting with v0.9.0, agrind can self-update via the --self-update flag. Thanks to the many volunteers who maintain angle-grinder on different package managers & environments!
macOS
Brew
brew install angle-grinderMacports
sudo port selfupdate
sudo port install angle-grinderFreeBSD
pkg install angle-grinderLinux (any MUSL compatible variant)
curl -L https://github.com/rcoh/angle-grinder/releases/download/v0.18.0/agrind-x86_64-unknown-linux-musl.tar.gz \
| tar Ozxf - \
| sudo tee /usr/local/bin/agrind > /dev/null && sudo chmod +x /usr/local/bin/agrind
agrind --self-update