processors

package
v0.0.0-...-691b052 Latest Latest
Warning

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

Go to latest
Published: May 7, 2018 License: Apache-2.0, Apache-2.0 Imports: 13 Imported by: 0

README

PROCESSORS

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddFields

func AddFields(fields map[string]interface{}, data *mxj.Map)

func AddTags

func AddTags(tags []string, data *mxj.Map)

func Dynamic

func Dynamic(str *string, fields *mxj.Map)

Dynamic includes field value in place of %{key.path} When no field is not found replace with ""

func NormalizeNestedPath

func NormalizeNestedPath(path string) string

func RemoveFields

func RemoveFields(fields []string, data *mxj.Map)

func RemoveTags

func RemoveTags(tags []string, data *mxj.Map)

func SetType

func SetType(typevalue string, data *mxj.Map)

Types

type Base

type Base struct {
	Send                  PacketSender
	NewPacket             PacketBuilder
	Logger                Logger
	Memory                Memory
	WebHook               WebHook
	Store                 IStore
	ConfigWorkingLocation string
	DataLocation          string
	PipelineUUID          string
	Name                  string
	Label                 string
}

func (*Base) B

func (b *Base) B() *Base

B returns the Base Processor

func (*Base) Configure

func (b *Base) Configure(ctx ProcessorContext, conf map[string]interface{}) error

func (*Base) ConfigureAndValidate

func (b *Base) ConfigureAndValidate(ctx ProcessorContext, conf map[string]interface{}, rawVal interface{}) error

func (*Base) Doc

func (b *Base) Doc() *doc.Processor

func (*Base) MaxConcurent

func (b *Base) MaxConcurent() int

func (*Base) Receive

func (b *Base) Receive(e IPacket) error

func (*Base) SetPipelineUUID

func (b *Base) SetPipelineUUID(uuid string)

func (*Base) SetProcessorIdentifiers

func (b *Base) SetProcessorIdentifiers(name, label string)

func (*Base) Start

func (b *Base) Start(e IPacket) error

func (*Base) Stop

func (b *Base) Stop(e IPacket) error

func (*Base) Tick

func (b *Base) Tick(e IPacket) error

type CommonOptions

type CommonOptions struct {
	// If this filter is successful, add any arbitrary fields to this event.
	AddField map[string]interface{} `mapstructure:"add_field"`

	// If this filter is successful, add arbitrary tags to the event. Tags can be dynamic
	// and include parts of the event using the %{field} syntax.
	AddTag []string `mapstructure:"add_tag"`

	// Add a type field to all events handled by this input
	Type string `mapstructure:"type"`

	// If this filter is successful, remove arbitrary fields from this event. Example:
	// ` kv {
	// `   remove_field => [ "foo_%{somefield}" ]
	// ` }
	RemoveField []string `mapstructure:"remove_field"`

	// If this filter is successful, remove arbitrary tags from the event. Tags can be dynamic and include parts of the event using the %{field} syntax.
	// Example:
	// ` kv {
	// `   remove_tag => [ "foo_%{somefield}" ]
	// ` }
	// If the event has field "somefield" == "hello" this filter, on success, would remove the tag foo_hello if it is present. The second example would remove a sad, unwanted tag as well.
	RemoveTag []string `mapstructure:"remove_tag"`

	// Log each event produced by the processor (usefull while building or debugging a pipeline)
	Trace bool `mapstructure:"trace"`
}

func (*CommonOptions) ProcessCommonOptions

func (c *CommonOptions) ProcessCommonOptions(data *mxj.Map)

type ICodec

type ICodec interface {
	GetName() string
	GetOptions() map[string]interface{}
	GetRole() string
}

type IPacket

type IPacket interface {
	Message() string
	Fields() *mxj.Map

	SetMessage(string)
	SetFields(map[string]interface{})

	Clone() IPacket
}

type IStore

type IStore interface {
	Get(string, string) ([]byte, error) // Get(key, bucket)
	Set(string, string, []byte) error   // Set(key, bucket, value)
	Delete(string, string) error        // Delete(key, bucket)
	Has(string, string) (bool, error)   // Has(key, bucket)
}

IStore is a key value permanent storage each key/value is saved in a named bucket the default bucket name is "default"

type Logger

type Logger interface {
	Debug(args ...interface{})
	Debugf(format string, args ...interface{})
	Debugln(args ...interface{})

	Error(args ...interface{})
	Errorf(format string, args ...interface{})
	Errorln(args ...interface{})

	Fatal(args ...interface{})
	Fatalf(format string, args ...interface{})
	Fatalln(args ...interface{})

	Info(args ...interface{})
	Infof(format string, args ...interface{})
	Infoln(args ...interface{})

	Panic(args ...interface{})
	Panicf(format string, args ...interface{})
	Panicln(args ...interface{})

	Print(args ...interface{})
	Printf(format string, args ...interface{})
	Println(args ...interface{})

	Warn(args ...interface{})
	Warnf(format string, args ...interface{})
	Warning(args ...interface{})
	Warningf(format string, args ...interface{})
	Warningln(args ...interface{})
	Warnln(args ...interface{})
}

type Memory

type Memory interface {
	Set(name string, value interface{})
	Get(name string) (interface{}, bool)
	Delete(name string)
	Items() map[string]interface{}
}

type PacketBuilder

type PacketBuilder func(map[string]interface{}) IPacket

type PacketSender

type PacketSender func(IPacket, ...int) bool

type Processor

type Processor interface {
	B() *Base
	Configure(ProcessorContext, map[string]interface{}) error
	Start(IPacket) error
	Tick(IPacket) error
	Receive(IPacket) error
	Stop(IPacket) error
	Doc() *doc.Processor
	MaxConcurent() int
	SetPipelineUUID(string)
	SetProcessorIdentifiers(string, string)
}

type ProcessorContext

type ProcessorContext interface {
	Log() Logger
	PacketSender() PacketSender
	PacketBuilder() PacketBuilder
	Memory() Memory
	WebHook() WebHook
	ConfigWorkingLocation() string
	DataLocation() string
	Store() IStore
}

type SinceDB

type SinceDB struct {
	// contains filtered or unexported fields
}

func NewSinceDB

func NewSinceDB(sdboptions *SinceDBOptions) *SinceDB

NewSinceDB loadExisting data from datastore according to the Identifier option.

func (*SinceDB) Close

func (s *SinceDB) Close() error

Save SinceDB Offsets to Storage

func (*SinceDB) Ressource

func (s *SinceDB) Ressource(ressource string) ([]byte, error)

func (*SinceDB) RessourceOffset

func (s *SinceDB) RessourceOffset(ressource string) (int, error)

Retreive SinceDB ressource's offset from Storage

func (*SinceDB) SetRessource

func (s *SinceDB) SetRessource(ressource string, v []byte) error

Update a ressource's offset

func (*SinceDB) SetRessourceOffset

func (s *SinceDB) SetRessourceOffset(ressource string, offset int) error

Update a ressource's offset

type SinceDBOptions

type SinceDBOptions struct {
	Identifier    string
	WriteInterval int
	Storage       IStore
}

type WebHook

type WebHook interface {
	Add(string, http.HandlerFunc)
	AddShort(string, http.HandlerFunc)
	Unregister()
}

Directories

Path Synopsis
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.
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.
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.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Drops everything received Drops everything that gets to this filter.
Code generated by "bitfanDoc "; DO NOT EDIT Drops everything received Drops everything that gets to this filter.
Code generated by "bitfanDoc "; DO NOT EDIT Modify or add event's field with the result of * an expression (math or compare) * a go template **Operators and types supported in expression :** * Modifiers: `+` `-` `/` `*` `&` `|` `^` `**` `%` `>>` `<<` * Comparators: `>` `>=` `<` `<=` `==` `!=` `=~` `!~` * Logical ops: `||` `&&` * Numeric constants, as 64-bit floating point (`12345.678`) * String constants (single quotes: `'foobar'`) * Date constants (single quotes, using any permutation of RFC3339, ISO8601, ruby date, or unix date; date parsing is automatically tried with any string constant) * Boolean constants: `true` `false` * Parenthesis to control order of evaluation `(` `)` * Arrays (anything separated by `,` within parenthesis: `(1, 2, 'foo')`) * Prefixes: `!` `-` `~` * Ternary conditional: `?` `:` * Null coalescence: `??`
Code generated by "bitfanDoc "; DO NOT EDIT Modify or add event's field with the result of * an expression (math or compare) * a go template **Operators and types supported in expression :** * Modifiers: `+` `-` `/` `*` `&` `|` `^` `**` `%` `>>` `<<` * Comparators: `>` `>=` `<` `<=` `==` `!=` `=~` `!~` * Logical ops: `||` `&&` * Numeric constants, as 64-bit floating point (`12345.678`) * String constants (single quotes: `'foobar'`) * Date constants (single quotes, using any permutation of RFC3339, ISO8601, ruby date, or unix date; date parsing is automatically tried with any string constant) * Boolean constants: `true` `false` * Parenthesis to control order of evaluation `(` `)` * Arrays (anything separated by `,` within parenthesis: `(1, 2, 'foo')`) * Prefixes: `!` `-` `~` * Ternary conditional: `?` `:` * Null coalescence: `??`
Code generated by "bitfanDoc "; DO NOT EDIT Execute a command and use its stdout as event data
Code generated by "bitfanDoc "; DO NOT EDIT Execute a command and use its stdout as event data
Code generated by "bitfanDoc "; DO NOT EDIT The GeoIP filter adds information about the geographical location of IP addresses, based on data from the Maxmind GeoLite2 databases This processor use a GeoLite2 City database.
Code generated by "bitfanDoc "; DO NOT EDIT The GeoIP filter adds information about the geographical location of IP addresses, based on data from the Maxmind GeoLite2 databases This processor use a GeoLite2 City database.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT This filter helps automatically parse messages (or specific event fields) which are of the foo=bar variety.
Code generated by "bitfanDoc "; DO NOT EDIT This filter helps automatically parse messages (or specific event fields) which are of the foo=bar variety.
Code generated by "bitfanDoc "; DO NOT EDIT mutate filter allows to perform general mutations on fields.
Code generated by "bitfanDoc "; DO NOT EDIT mutate filter allows to perform general mutations on fields.
Code generated by "bitfanDoc "; DO NOT EDIT This processor matches when a new value appears in a field that has never been seen before.
Code generated by "bitfanDoc "; DO NOT EDIT This processor matches when a new value appears in a field that has never been seen before.
Code generated by "bitfanDoc "; DO NOT EDIT The split filter clones an event by splitting one of its fields and placing each value resulting from the split into a clone of the original event.
Code generated by "bitfanDoc "; DO NOT EDIT The split filter clones an event by splitting one of its fields and placing each value resulting from the split into a clone of the original event.
Code generated by "bitfanDoc "; DO NOT EDIT The uuid filter allows you to generate a UUID and add it as a field to each processed event.
Code generated by "bitfanDoc "; DO NOT EDIT The uuid filter allows you to generate a UUID and add it as a field to each processed event.
Code generated by "bitfanDoc "; DO NOT EDIT Similar to blacklist, this processor will compare a certain field to a whitelist, and match if the list does not contain the term
Code generated by "bitfanDoc "; DO NOT EDIT Similar to blacklist, this processor will compare a certain field to a whitelist, and match if the list does not contain the term
Code generated by "bitfanDoc "; DO NOT EDIT Display on http the last received event URL is available as http://webhookhost/pipelineName/pluginLabel/URI * webhookhost is defined by bitfan at startup * pluginLabel is defined in pipeline configuration, it's the named processor if you put one, or `httpout` by default * URI is defined in plugin configuration (see below)
Code generated by "bitfanDoc "; DO NOT EDIT Display on http the last received event URL is available as http://webhookhost/pipelineName/pluginLabel/URI * webhookhost is defined by bitfan at startup * pluginLabel is defined in pipeline configuration, it's the named processor if you put one, or `httpout` by default * URI is defined in plugin configuration (see below)
Code generated by "bitfanDoc "; DO NOT EDIT HTTPPoller allows you to intermittently poll remote HTTP URL, decode the output into an event
Code generated by "bitfanDoc "; DO NOT EDIT HTTPPoller allows you to intermittently poll remote HTTP URL, decode the output into an event
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Generate a blank event on interval
Code generated by "bitfanDoc "; DO NOT EDIT Generate a blank event on interval
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Read file on * received event * when new file discovered this processor remember last files used, it stores references in sincedb, set it to "/dev/null" to not remember used files
Code generated by "bitfanDoc "; DO NOT EDIT Read file on * received event * when new file discovered this processor remember last files used, it stores references in sincedb, set it to "/dev/null" to not remember used files
Code generated by "bitfanDoc "; DO NOT EDIT Listen and read a http request to build events with it.
Code generated by "bitfanDoc "; DO NOT EDIT Listen and read a http request to build events with it.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Read events from standard input.
Code generated by "bitfanDoc "; DO NOT EDIT Read events from standard input.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Receive event on a ws connection
Code generated by "bitfanDoc "; DO NOT EDIT Receive event on a ws connection
Code generated by "bitfanDoc "; DO NOT EDIT Performs a search for a specified filter on the directory and fire events with results
Code generated by "bitfanDoc "; DO NOT EDIT Performs a search for a specified filter on the directory and fire events with results
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Send email when an output is received.
Code generated by "bitfanDoc "; DO NOT EDIT Send email when an output is received.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Drops everything received
Code generated by "bitfanDoc "; DO NOT EDIT Drops everything received
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc -processor output-tcp"; DO NOT EDIT
Code generated by "bitfanDoc -processor output-tcp"; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT Periodically scan an POP3 mailbox for new emails.
Code generated by "bitfanDoc "; DO NOT EDIT Periodically scan an POP3 mailbox for new emails.
Code generated by "bitfanDoc "; DO NOT EDIT This processor, depending on the condition evaluation, will route message to one or more different pipelines and/or pass the message through the processor to the next one.
Code generated by "bitfanDoc "; DO NOT EDIT This processor, depending on the condition evaluation, will route message to one or more different pipelines and/or pass the message through the processor to the next one.
Code generated by "bitfanDoc "; DO NOT EDIT Sleep a given amount of time.
Code generated by "bitfanDoc "; DO NOT EDIT Sleep a given amount of time.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT A simple output which prints to the STDOUT of the shell running BitFan.
Code generated by "bitfanDoc "; DO NOT EDIT A simple output which prints to the STDOUT of the shell running BitFan.
Code generated by "bitfanDoc "; DO NOT EDIT Stop after emitting a blank event on start Allow you to put first event and then stop processors as soon as they finish their job.
Code generated by "bitfanDoc "; DO NOT EDIT Stop after emitting a blank event on start Allow you to put first event and then stop processors as soon as they finish their job.
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT
Code generated by "bitfanDoc "; DO NOT EDIT When used in input (input->filter->o) the processor will receive events from the last filter from the pipeline used in configuration file.
Code generated by "bitfanDoc "; DO NOT EDIT When used in input (input->filter->o) the processor will receive events from the last filter from the pipeline used in configuration file.
Code generated by "bitfanDoc "; DO NOT EDIT Example “` input{ webhook{ uri => "toto/titi" pipeline=> "test.conf" codec => plain{ role => "decoder" } codec => plain{ role => "encoder" format=> "<h1>Hello {{.request.querystring.name}}</h1>" } headers => { "Content-Type" => "text/html" } } } “`
Code generated by "bitfanDoc "; DO NOT EDIT Example “` input{ webhook{ uri => "toto/titi" pipeline=> "test.conf" codec => plain{ role => "decoder" } codec => plain{ role => "encoder" format=> "<h1>Hello {{.request.querystring.name}}</h1>" } headers => { "Content-Type" => "text/html" } } } “`
Code generated by "bitfanDoc "; DO NOT EDIT Send event received over a ws connection to connected clients
Code generated by "bitfanDoc "; DO NOT EDIT Send event received over a ws connection to connected clients
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