exporter

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2018 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const PATTERN_RE = `%{(.+?)}`

PATTERN_RE matches the %{..} patterns. There are three possibilities: 1) %{USER} - grok pattern 2) %{IP:clientip} - grok pattern with name 3) %{INT:clientport:int} - grok pattern with name and type (type is currently ignored)

Variables

View Source
var (
	Version   string
	BuildDate string
	Branch    string
	Revision  string
	GoVersion = runtime.Version()
	Platform  = runtime.GOOS + "-" + runtime.GOARCH
)

The following strings are populated during build time with release.sh: go build -ldflags "-X importpath.name=value"

Functions

func BufferedTailerWithMetrics

func BufferedTailerWithMetrics(orig tailer.Tailer) tailer.Tailer

Wrapper around a tailer that consumes the lines channel quickly. The idea is that the original tailer can continue reading lines from the logfile, and does not need to wait until the lines are processed. The number of buffered lines are exposed as a Prometheus metric, if lines are constantly produced faster than they are consumed, we will eventually run out of memory.

func Compile

func Compile(pattern string, patterns *Patterns) (*oniguruma.Regex, error)

Compile a grok pattern string into a regular expression.

func RunHttpServer

func RunHttpServer(host string, port int, path string, handler http.Handler) error

func RunHttpsServer

func RunHttpsServer(host string, port int, cert, key, path string, handler http.Handler) error

func RunHttpsServerWithDefaultKeys

func RunHttpsServerWithDefaultKeys(host string, port int, path string, handler http.Handler) error

func VerifyFieldNames

func VerifyFieldNames(m *v2.MetricConfig, regex, deleteRegex *oniguruma.Regex) error

func VersionString

func VersionString() string

Types

type LabelValueTracker added in v0.2.2

type LabelValueTracker interface {
	Observe(labels map[string]string) (bool, error)
	DeleteByLabels(labels map[string]string) ([]map[string]string, error)
	DeleteByRetention(retention time.Duration) []map[string]string
}

Keep track of labels values for a metric.

func NewLabelValueTracker added in v0.2.2

func NewLabelValueTracker(labelNames []string) LabelValueTracker

type Match added in v0.2.2

type Match struct {
	Labels map[string]string
	Value  float64
}

type Metric

type Metric interface {
	Name() string
	Collector() prometheus.Collector

	// Returns the match if the line matched, and nil if the line didn't match.
	ProcessMatch(line string) (*Match, error)
	// Returns the match if the delete pattern matched, nil otherwise.
	ProcessDeleteMatch(line string) (*Match, error)
	// Remove old metrics
	ProcessRetention() error
}

func NewCounterMetric

func NewCounterMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, deleteRegex *oniguruma.Regex) Metric

func NewGaugeMetric

func NewGaugeMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, deleteRegex *oniguruma.Regex) Metric

func NewHistogramMetric

func NewHistogramMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, deleteRegex *oniguruma.Regex) Metric

func NewSummaryMetric

func NewSummaryMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, deleteRegex *oniguruma.Regex) Metric

type Patterns

type Patterns map[string]string

func InitPatterns

func InitPatterns() *Patterns

func (*Patterns) AddDir

func (p *Patterns) AddDir(path string) error

func (*Patterns) AddPattern

func (p *Patterns) AddPattern(pattern string) error

func (*Patterns) Find

func (p *Patterns) Find(pattern string) (string, bool)

Jump to

Keyboard shortcuts

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