bitfan

command module
v0.0.0-...-5ea8946 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2017 License: Apache-2.0 Imports: 5 Imported by: 0

README

Bitfan

Bitfan is an open source data processing pipeline. GoDoc Go Report Card

Bitfan logo

Install

Download binary

linux, windows, osx available here : https://github.com/vjeantet/bitfan/releases

Or compile from sources
$ go get -u github.com/vjeantet/bitfan

Run

Example with a remote configuration file which ingest data from stdin and output a tranformation to stdout.

$ bitfan run https://raw.githubusercontent.com/vjeantet/bitfan/master/examples.d/simple.conf

copy/paste this in your console

127.0.0.1 - - [11/Dec/2013:00:01:45 -0800] "GET /xampp/status.php HTTP/1.1" 200 3891 "http://cadenza/xampp/navi.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0"

Other commands

type bitfan help to display usage information

Usage:
  bitfan [flags]
  bitfan [command]

Available Commands:
  doc         Display documentation about plugins
  list        List running pipelines
  run         Run bitfan
  service     Install and manage bitfan service
  start       Start a new pipeline in a running bitfan
  stop        Stop a running pipeline
  test        Test configurations (files, url, directories)
  version     Display version informations

Flags:
  -f, --config string       Load the Logstash config from a file a directory or a url
  -t, --configtest          Test config file or directory
      --debug               Increase verbosity to the last level (trace), more verbose.
  -e, --eval string         Use the given string as the configuration data.
  -w, --filterworkers int   number of workers (default 4)
  -h, --help                help for bitfan
  -l, --log string          Log to a given path. Default is to log to stdout.
      --settings string     Set the directory containing the bitfan.toml settings (default "current dir, then ~/.bitfan/ then /etc/bitfan/")
      --verbose             Increase verbosity to the first level (info), less verbose.
  -V, --version             Display version info.

Use "bitfan [command] --help" for more information about a command.

logstash flags works as well -f, -e, --configtest, ...

TODO

  • parse logstash config file
  • support command line flags "à la logstash"
  • generic input support
  • generic filter support
  • generic output support
  • configuration condition (if else) support
  • dynamic %{field.key} support in config file
  • gracefully stop
  • gracefully start
  • name all contributors, imported packages, similar projects
  • use remote configuration file
  • include local and remote files from configuration files
  • codec support
  • log to file
  • plugins autodocumentation
  • install bitfan as a system daemon / service
  • list currently runnnung pipelines
  • start new pipelines in a running instance
  • stop a pipeline without stopping other
  • import external configuration from configuration (use)
  • dispatch message to another configuration from configuration (fork)

Supported inputs, filters and outputs in config file

type bitfan doc to list all available plugins

INPUT bitfan doc --type input

PLUGIN DESCRIPTION
rabbitmq
syslog
sql
file
beats
exec
unix
http
gennumbers generate a number of event
stdin Reads events from stdin
tail
readfile
twitter
udp
use Include a config file

type bitfan doc pluginname to get more information about plugin configuration and usage

FILTER bitfan doc --type filter

PLUGIN DESCRIPTION
grok
split Splits multi-line messages into distinct events
drop Drops all events
html
digest Digest events every x
mutate
json Parses JSON events
uuid Adds a UUID to events
date Parses dates from fields
geoip Adds geographical information from IP
kv Parses key-value pairs
use Include a config file
route route message to other pipelines

type bitfan doc pluginname to get more information about plugin configuration and usage

OUTPUT bitfan doc --type output

PLUGIN DESCRIPTION
null Drops everything received
elasticsearch
elasticsearch2
file
stdout Prints events to the stdout
statsd
mongodb
glusterfs
rabbitmq
email Sends email
use Include a config file

type bitfan doc pluginname to get more information about plugin configuration and usage

Similar projets in go

  • tsaikd/gogstash - Logstash like, written in golang
  • packetzoom/logzoom - A lightweight replacement for logstash indexer in Go
  • hailocab/logslam - A lightweight lumberjack protocol compliant logstash indexer

Credits

logo "hand fan" by lastspark from the Noun Project

Contributors

  • @vjeantet - Valere JEANTET
  • @mirdhyn - Merlin Gaillard
  • @AlexAkulov - Alexander AKULOV

Used packages

  • mitchellh/mapstructure

  • ChimeraCoder/anaconda

  • etrepat/postman/watch

  • go-fsnotify/fsnotify

  • hpcloud/tail

  • nu7hatch/gouuid

  • parnurzeal/gorequest

  • vjeantet/go.enmime

  • Knetic/govaluate

  • vjeantet/grok

  • vjeantet/jodaTime

  • streadway/amqp

  • ShowMax/go-fqdn

  • oschwald/geoip2-golang

  • gopkg.in/fsnotify.v1

  • gopkg.in/go-playground/validator.v8

  • gopkg.in/mgo.v2

  • gopkg.in/olivere/elastic.v2

  • gopkg.in/olivere/elastic.v3

  • gopkg.in/alexcesaro/statsd.v2

  • kardianos/govendor

  • spf13/cobra

  • bbuck/go-lexer

  • k0kubun/pp (debug)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Bitfan API.
Bitfan API.
cmd/bitfanDoc command
doc
filter-blacklist
The blacklist rule will check a certain field against a blacklist, and match if it is in the blacklist.
The blacklist rule will check a certain field against a blacklist, and match if it is in the blacklist.
filter-change
This rule will monitor a certain field and match if that field changes.
This rule will monitor a certain field and match if that field changes.
filter-date
The date filter is used for parsing dates from fields, and then using that date or timestamp as the logstash timestamp for the event.
The date filter is used for parsing dates from fields, and then using that date or timestamp as the logstash timestamp for the event.
filter-digest
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-drop
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-geoip
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-grok
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-html
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-json
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-kv
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-mutate
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-newterm
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-split
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-uuid
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
filter-whitelist
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-beats
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-elasticsearch
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-exec
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-file
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-gennumbers
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-httppoller
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-imap
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-rabbitmq
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-sql
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-stdin
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-syslog
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-tail
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-twitter
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-udp
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
input-unix
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-elasticsearch
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-elasticsearch2
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-email
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-file
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-mongodb
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-null
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-rabbitmq
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-statsd
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
output-stdout
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
route
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
use
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
when
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL