blackbox

package module
v0.0.0-...-d8c6471 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

README

blackbox

About

Blackbox will tail all files in sub-directories of a specified source_dir, and forward any new lines to a syslog server.

This is currently used in syslog-release and windows-syslog-release.

Usage

blackbox -config config.yml

The configuration file schema is as follows:

hostname: this-host

syslog:
  destination:
    transport: udp
    address: logs.example.com:1234

  source_dir: /path/to/log-dir

Consider the case where log-dir has the following structure:

/path/to/log-dir
|-- app1
|   |-- stdout.log
|   `-- stderr.log
`-- app2
    |-- foo.log
    `-- bar.log

Any new lines written to app1/stdout.log and app1/stderr.log get sent to syslog tagged as app1, while new lines written to app2/foo.log and app2/bar.log get sent to syslog tagged as app2.

Currently the priority and facility are hardcoded to INFO and user.

Installation

go get -u github.com/CrunchyData/blackbox/cmd/blackbox

Documentation

Index

Constants

View Source
const POLL_INTERVAL = 5 * time.Second

Variables

This section is empty.

Functions

func NewFileWatcher

func NewFileWatcher(
	logger *log.Logger,
	sourceDir string,
	logSuffix string,
	dynamicGroupClient grouper.DynamicClient,
	drain syslog.Drain,
	hostname string,
	structuredData string,
) *fileWatcher

Types

type Config

type Config struct {
	Hostname       string       `yaml:"hostname"`
	StructuredData string       `yaml:"structured_data"`
	Syslog         SyslogConfig `yaml:"syslog"`
}

func LoadConfig

func LoadConfig(path string) (*Config, error)

type SyslogConfig

type SyslogConfig struct {
	Destination syslog.Drain `yaml:"destination"`
	SourceDir   string       `yaml:"source_dir"`
	LogSuffix   string       `yaml:"log_suffix"`
}

type Tailer

type Tailer struct {
	Path    string
	Tag     string
	Drainer syslog.Drainer
}

func (*Tailer) Run

func (tailer *Tailer) Run(signals <-chan os.Signal, ready chan<- struct{}) error

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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