Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- func New(reg prometheus.Registerer, cfg Config, logger log.Logger) (Client, error)
- func NewLogger(reg prometheus.Registerer, log log.Logger, externalLabels lokiflag.LabelSet, ...) (Client, error)
- func NewMulti(reg prometheus.Registerer, logger log.Logger, externalLabels flagext.LabelSet, ...) (Client, error)
- func NewWithTripperware(reg prometheus.Registerer, cfg Config, logger log.Logger, tp Tripperware) (Client, error)
- type Config
- type MultiClient
- type Tripperware
Constants ¶
const ( // Label reserved to override the tenant ID while processing // pipeline stages ReservedLabelTenantID = "__tenant_id__" LatencyLabel = "filename" HostLabel = "host" )
const ( BatchWait = 1 * time.Second BatchSize int = 1024 * 1024 MinBackoff = 500 * time.Millisecond MaxBackoff = 5 * time.Minute MaxRetries int = 10 Timeout = 10 * time.Second )
NOTE the helm chart for promtail and fluent-bit also have defaults for these values, please update to match if you make changes here.
Variables ¶
var UserAgent = fmt.Sprintf("promtail/%s", version.Version)
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { api.EntryHandler // Stop goroutine sending batch of entries without retries. StopNow() }
Client pushes entries to Loki and can be stopped
func New ¶
func New(reg prometheus.Registerer, cfg Config, logger log.Logger) (Client, error)
New makes a new Client.
func NewLogger ¶
func NewLogger(reg prometheus.Registerer, log log.Logger, externalLabels lokiflag.LabelSet, cfgs ...Config) (Client, error)
NewLogger creates a new client logger that logs entries instead of sending them.
func NewMulti ¶
func NewMulti(reg prometheus.Registerer, logger log.Logger, externalLabels flagext.LabelSet, cfgs ...Config) (Client, error)
NewMulti creates a new client
func NewWithTripperware ¶
func NewWithTripperware(reg prometheus.Registerer, cfg Config, logger log.Logger, tp Tripperware) (Client, error)
NewWithTripperware creates a new Loki client with a custom tripperware.
type Config ¶
type Config struct { URL flagext.URLValue BatchWait time.Duration BatchSize int Client config.HTTPClientConfig `yaml:",inline"` BackoffConfig backoff.Config `yaml:"backoff_config"` // The labels to add to any time series or alerts when communicating with loki ExternalLabels lokiflag.LabelSet `yaml:"external_labels,omitempty"` Timeout time.Duration `yaml:"timeout"` // The tenant ID to use when pushing logs to Loki (empty string means // single tenant mode) TenantID string `yaml:"tenant_id"` }
Config describes configuration for a HTTP pusher client.
func (*Config) RegisterFlags ¶
RegisterFlags registers flags.
func (*Config) RegisterFlagsWithPrefix ¶
RegisterFlags with prefix registers flags where every name is prefixed by prefix. If prefix is a non-empty string, prefix should end with a period.
func (*Config) UnmarshalYAML ¶
UnmarshalYAML implement Yaml Unmarshaler
type MultiClient ¶
type MultiClient struct {
// contains filtered or unexported fields
}
MultiClient is client pushing to one or more loki instances.
func (*MultiClient) Chan ¶
func (m *MultiClient) Chan() chan<- api.Entry
type Tripperware ¶
type Tripperware func(http.RoundTripper) http.RoundTripper
Tripperware can wrap a roundtripper.