Documentation
¶
Index ¶
- type BasicAuth
- type Config
- type Ingester
- func (i *Ingester) CheckReady(ctx context.Context) error
- func (i *Ingester) Flush()
- func (i *Ingester) GetOrCreateInstance(instanceID string) (*instance, error)
- func (i *Ingester) Push(ctx context.Context, req *logproto.PushRequest) (*logproto.PushResponse, error)
- func (i *Ingester) Query(req *logproto.QueryPatternsRequest, stream logproto.Pattern_QueryServer) error
- func (i *Ingester) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (i *Ingester) TransferOut(_ context.Context) error
- func (*Ingester) Watch(*grpc_health_v1.HealthCheckRequest, grpc_health_v1.Health_WatchServer) error
- type IngesterQuerier
- type Limits
- type PersistenceConfig
- type ResponseFromIngesters
- type RingClient
- type TeeConfig
- type TeeService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasicAuth ¶ added in v3.6.0
type BasicAuth struct {
Username string `yaml:"username" json:"username"`
Password config.Secret `yaml:"password,omitempty" json:"password,omitempty"`
}
BasicAuth contains basic HTTP authentication credentials.
type Config ¶
type Config struct {
Enabled bool `yaml:"enabled,omitempty" doc:"description=Whether the pattern ingester is enabled."`
LifecyclerConfig ring.LifecyclerConfig `` /* 153-byte string literal not displayed */
ClientConfig clientpool.Config `yaml:"client_config,omitempty" doc:"description=Configures how the pattern ingester will connect to the ingesters."`
ConcurrentFlushes int `yaml:"concurrent_flushes"`
FlushCheckPeriod time.Duration `yaml:"flush_check_period"`
MaxClusters int `` /* 127-byte string literal not displayed */
MaxEvictionRatio float64 `` /* 177-byte string literal not displayed */
MetricAggregation aggregation.Config `` /* 133-byte string literal not displayed */
PatternPersistence PersistenceConfig `` /* 128-byte string literal not displayed */
TeeConfig TeeConfig `yaml:"tee_config,omitempty" doc:"description=Configures the pattern tee which forwards requests to the pattern ingester."`
ConnectionTimeout time.Duration `yaml:"connection_timeout"`
MaxAllowedLineLength int `` /* 130-byte string literal not displayed */
RetainFor time.Duration `yaml:"retain_for,omitempty" doc:"description=How long to retain patterns in the pattern ingester after they are pushed."`
MaxChunkAge time.Duration `yaml:"max_chunk_age,omitempty" doc:"description=The maximum time span for a single pattern chunk."`
PatternSampleInterval time.Duration `yaml:"pattern_sample_interval,omitempty" doc:"description=The time resolution for pattern samples within chunks."`
VolumeThreshold float64 `` /* 176-byte string literal not displayed */
// contains filtered or unexported fields
}
func (*Config) RegisterFlags ¶
RegisterFlags registers pattern ingester related flags.
type Ingester ¶
func New ¶
func New( cfg Config, limits Limits, ringClient RingClient, metricsNamespace string, registerer prometheus.Registerer, logger log.Logger, ) (*Ingester, error)
func (*Ingester) CheckReady ¶
ReadinessHandler is used to indicate to k8s when the ingesters are ready for the addition removal of another ingester. Returns 204 when the ingester is ready, 500 otherwise.
func (*Ingester) GetOrCreateInstance ¶
func (*Ingester) Push ¶
func (i *Ingester) Push(ctx context.Context, req *logproto.PushRequest) (*logproto.PushResponse, error)
func (*Ingester) Query ¶
func (i *Ingester) Query(req *logproto.QueryPatternsRequest, stream logproto.Pattern_QueryServer) error
func (*Ingester) ServeHTTP ¶
func (i *Ingester) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP implements the pattern ring status page.
func (*Ingester) Watch ¶
func (*Ingester) Watch(*grpc_health_v1.HealthCheckRequest, grpc_health_v1.Health_WatchServer) error
Watch implements grpc_health_v1.HealthCheck.
type IngesterQuerier ¶
type IngesterQuerier struct {
// contains filtered or unexported fields
}
func NewIngesterQuerier ¶
func NewIngesterQuerier( cfg Config, ringClient RingClient, metricsNamespace string, registerer prometheus.Registerer, logger log.Logger, ) (*IngesterQuerier, error)
func (*IngesterQuerier) Patterns ¶
func (q *IngesterQuerier) Patterns(ctx context.Context, req *logproto.QueryPatternsRequest) (*logproto.QueryPatternsResponse, error)
type PersistenceConfig ¶ added in v3.6.0
type PersistenceConfig struct {
LokiAddr string `yaml:"loki_address,omitempty" doc:"description=The address of the Loki instance to push patterns to."`
WriteTimeout time.Duration `yaml:"timeout,omitempty" doc:"description=The timeout for writing patterns to Loki."`
PushPeriod time.Duration `yaml:"push_period,omitempty" doc:"description=How long to wait between pattern pushes to Loki."`
HTTPClientConfig config.HTTPClientConfig `yaml:"http_client_config,omitempty" doc:"description=The HTTP client configuration for pushing patterns to Loki."`
UseTLS bool `yaml:"use_tls,omitempty" doc:"description=Whether to use TLS for pushing patterns to Loki."`
BasicAuth BasicAuth `yaml:"basic_auth,omitempty" doc:"description=The basic auth configuration for pushing patterns to Loki."`
BackoffConfig backoff.Config `yaml:"backoff_config,omitempty" doc:"description=The backoff configuration for pushing patterns to Loki."`
BatchSize int `yaml:"batch_size,omitempty" doc:"description=The maximum number of patterns to accumulate before pushing."`
}
PersistenceConfig contains the configuration for pushing detected patterns back to Loki
func (*PersistenceConfig) RegisterFlags ¶ added in v3.6.0
func (cfg *PersistenceConfig) RegisterFlags(fs *flag.FlagSet)
RegisterFlags registers pattern push related flags.
func (*PersistenceConfig) RegisterFlagsWithPrefix ¶ added in v3.6.0
func (cfg *PersistenceConfig) RegisterFlagsWithPrefix(fs *flag.FlagSet, prefix string)
type ResponseFromIngesters ¶
type ResponseFromIngesters struct {
// contains filtered or unexported fields
}
type RingClient ¶
type RingClient interface {
services.Service
Ring() ring.ReadRing
GetClientFor(addr string) (ring_client.PoolClient, error)
}
func NewRingClient ¶
func NewRingClient( cfg Config, metricsNamespace string, registerer prometheus.Registerer, logger log.Logger, ) (RingClient, error)
type TeeConfig ¶ added in v3.2.0
type TeeService ¶ added in v3.2.0
type TeeService struct {
// contains filtered or unexported fields
}
func NewTeeService ¶ added in v3.2.0
func NewTeeService( cfg Config, limits Limits, ringClient RingClient, tenantCfgs *runtime.TenantConfigs, metricsNamespace string, registerer prometheus.Registerer, logger log.Logger, ) (*TeeService, error)
func (*TeeService) Duplicate ¶ added in v3.2.0
func (ts *TeeService) Duplicate(tenant string, streams []distributor.KeyedStream)
Duplicate Implements distributor.Tee which is used to tee distributor requests to pattern ingesters.
func (*TeeService) Start ¶ added in v3.2.0
func (ts *TeeService) Start(runCtx context.Context) error
func (*TeeService) WaitUntilDone ¶ added in v3.2.0
func (ts *TeeService) WaitUntilDone()
Source Files
¶
Click to show internal directories.
Click to hide internal directories.