Categories: None [Edit]
log2json
Log2json lets you read, filter and send logs as JSON objects via Unix pipes.
It is inspired by Logstash, and is meant to be compatible with it at the JSON
event/record level so that it can easily work with Kibana.
Reading logs is done via a shell script(eg, `tail`) running in its own process.
You then configure(see the `syslog2json` or the `nginxlog2json` script for
examples) and run your filters in Ruby using the `Log2Json` module and its
contained helper classes.
`Log2Json` reads from stdin the logs(one log record per line), parses the log
lines into JSON records, and then serializes and writes the records to stdout,
which then can be piped to another process for processing or sending it to
somewhere else.
Currently, Log2json ships with a `tail-log` script that can be run as the input
process. It's the same as using the Linux `tail` utility with the `-v -F`
options except that it also tracks the positions(as the numbers of lines read
from the beginning of the files) in a few files in the file system so that if the
input process is interrupted, it can continue reading from where it left off
next time if the files had been followed. This feature is similar to the sincedb
feature in Logstash's file input.
Note: If you don't need the tracking feature(ie, you are fine with always
tailling from the end of file with `-v -F -n0`), then you can just use the `tail`
utility that comes with your Linux distribution.(Or more specifically, the
`tail` from the GNU coreutils). Other versions of the `tail` utility may also
work, but are not tested. The input protocol expected by Log2json is very
simple and documented in the source code.
** The `tail-log` script uses a patched version of `tail` from the GNU coreutils
package. A binary of the `tail` utility compiled for Ubuntu 12.04 LTS is
included with the Log2json gem. If the binary doesn't work for your
distribution, then you'll need to get GNU coreutils-8.13, apply the patch(it
can be found in the src/ directory of the installed gem), and then replace
the bin/tail binary...
Total
Ranking: 22,147 of 183,107
Downloads: 60,710
Daily
Ranking: 15,559 of 183,092
Downloads: 23
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
Rank | Downloads | Name |
---|
Depends on
Rank | Downloads | Name |
---|---|---|
72 | 443,835,435 | redis |
2,317 | 7,069,134 | persistent_http |
2,374 | 6,695,328 | jls-grok |
Owners
# | Gravatar | Handle |
---|---|---|
1 | kjkuan |