Documentation ¶
Index ¶
- Constants
- Variables
- func BufferedTailerWithMetrics(orig tailer.Tailer) tailer.Tailer
- func Compile(pattern string, patterns *Patterns) (*oniguruma.Regex, error)
- func RunHttpServer(host string, port int, path string, handler http.Handler) error
- func RunHttpsServer(host string, port int, cert, key, path string, handler http.Handler) error
- func RunHttpsServerWithDefaultKeys(host string, port int, path string, handler http.Handler) error
- func VerifyFieldNames(m *v2.MetricConfig, regex, deleteRegex *oniguruma.Regex) error
- func VersionString() string
- type LabelValueTracker
- type Match
- type Metric
- func NewCounterMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, ...) Metric
- func NewGaugeMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, ...) Metric
- func NewHistogramMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, ...) Metric
- func NewSummaryMetric(cfg *configuration.MetricConfig, regex *oniguruma.Regex, ...) Metric
- type Patterns
Constants ¶
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 ¶
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 ¶
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 RunHttpServer ¶
func RunHttpsServer ¶
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 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 ¶
func InitPatterns ¶
func InitPatterns() *Patterns
func (*Patterns) AddFile ¶
pattern files see https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns