subscriber

package
v0.0.0-...-a53e426 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterCreator

func RegisterCreator(name string, creator Creator)

func TryReplacePhysicalAddress

func TryReplacePhysicalAddress(addr string) (string, error)

Types

type ClickHouseSubscriber

type ClickHouseSubscriber struct {
	Address         string `mapstructure:"address" comment:"the clickhouse address"`
	Username        string `mapstructure:"username" comment:"the clickhouse username"`
	Password        string `mapstructure:"password" comment:"the clickhouse password"`
	Database        string `mapstructure:"database" comment:"the clickhouse database name to query from"`
	Table           string `mapstructure:"table" comment:"the clickhouse table name to query from"`
	QueryIntervalMs int    `mapstructure:"query_interval_ms" comment:"interval between queries select upserts records from clickhouse"`
	CreateTable     bool   `mapstructure:"create_db" comment:"if create the database, default is true"`
	// contains filtered or unexported fields
}

func (*ClickHouseSubscriber) Description

func (i *ClickHouseSubscriber) Description() string

func (*ClickHouseSubscriber) FlusherConfig

func (i *ClickHouseSubscriber) FlusherConfig() string

func (*ClickHouseSubscriber) Name

func (i *ClickHouseSubscriber) Name() string

func (*ClickHouseSubscriber) Start

func (i *ClickHouseSubscriber) Start() error

func (*ClickHouseSubscriber) Stop

func (i *ClickHouseSubscriber) Stop()

func (*ClickHouseSubscriber) SubscribeChan

func (i *ClickHouseSubscriber) SubscribeChan() <-chan *protocol.LogGroup

type Creator

type Creator func(spec map[string]interface{}) (Subscriber, error)

Creator creates a new subscriber instance according to the spec.

type ElasticSearchSubscriber

type ElasticSearchSubscriber struct {
	Address         string `mapstructure:"address" comment:"the elasticsearch address"`
	Username        string `mapstructure:"username" comment:"the elasticsearch username"`
	Password        string `mapstructure:"password" comment:"the elasticsearch password"`
	Index           string `mapstructure:"index" comment:"the elasticsearch index name to query from"`
	QueryIntervalMs int    `mapstructure:"query_interval_ms" comment:"interval between queries select upserts records from elasticsearch"`
	// contains filtered or unexported fields
}

func (*ElasticSearchSubscriber) Description

func (i *ElasticSearchSubscriber) Description() string

func (*ElasticSearchSubscriber) FlusherConfig

func (i *ElasticSearchSubscriber) FlusherConfig() string

func (*ElasticSearchSubscriber) Name

func (i *ElasticSearchSubscriber) Name() string

func (*ElasticSearchSubscriber) Start

func (i *ElasticSearchSubscriber) Start() error

func (*ElasticSearchSubscriber) Stop

func (i *ElasticSearchSubscriber) Stop()

func (*ElasticSearchSubscriber) SubscribeChan

func (i *ElasticSearchSubscriber) SubscribeChan() <-chan *protocol.LogGroup

type GRPCService

type GRPCService struct {
	protocol.UnimplementedLogReportServiceServer
	// contains filtered or unexported fields
}

func (*GRPCService) Collect

type GrpcSubscriber

type GrpcSubscriber struct {
	Address    string `mapstructure:"address" comment:"the gRPC server address, default value is :9000"`
	Network    string `mapstructure:"network" comment:"the gRPC server network, default value is tcp"`
	DelayStart string `mapstructure:"delay_start" comment:"the delay start time duration for fault injection, such as 5s"`
	// contains filtered or unexported fields
}

func (*GrpcSubscriber) Description

func (g *GrpcSubscriber) Description() string

func (*GrpcSubscriber) FlusherConfig

func (g *GrpcSubscriber) FlusherConfig() string

func (*GrpcSubscriber) Name

func (g *GrpcSubscriber) Name() string

func (*GrpcSubscriber) Start

func (g *GrpcSubscriber) Start() error

func (*GrpcSubscriber) Stop

func (g *GrpcSubscriber) Stop()

func (*GrpcSubscriber) SubscribeChan

func (g *GrpcSubscriber) SubscribeChan() <-chan *protocol.LogGroup

type InfluxdbSubscriber

type InfluxdbSubscriber struct {
	DbHost          string `mapstructure:"db_host" comment:"the influxdb host address"`
	DbUsername      string `mapstructure:"db_username" comment:"the influxdb username"`
	DbPassword      string `mapstructure:"db_password" comment:"the influxdb password"`
	DbName          string `mapstructure:"db_name" comment:"the influxdb database name to query from"`
	Measurement     string `mapstructure:"measurement" comment:"the measurement to query from"`
	QueryIntervalMs int    `mapstructure:"query_interval_ms" comment:"interval between queries select upserts records from influxdb"`
	CreateDb        bool   `mapstructure:"create_db" comment:"if create the database, default is true"`
	// contains filtered or unexported fields
}

func (*InfluxdbSubscriber) Description

func (i *InfluxdbSubscriber) Description() string

func (*InfluxdbSubscriber) FlusherConfig

func (i *InfluxdbSubscriber) FlusherConfig() string

func (*InfluxdbSubscriber) Name

func (i *InfluxdbSubscriber) Name() string

func (*InfluxdbSubscriber) Start

func (i *InfluxdbSubscriber) Start() error

func (*InfluxdbSubscriber) Stop

func (i *InfluxdbSubscriber) Stop()

func (*InfluxdbSubscriber) SubscribeChan

func (i *InfluxdbSubscriber) SubscribeChan() <-chan *protocol.LogGroup

type LokiSubscriber

type LokiSubscriber struct {
	Address         string            `mapstructure:"address" comment:"the loki address"`
	QueryIntervalMs int               `mapstructure:"query_interval_ms" comment:"interval between queries select upserts records from loki"`
	TargetLabels    map[string]string `mapstructure:"target_labels" comment:"interval between queries select upserts records from loki"`
	TenantID        string            `mapstructure:"tenant_id" comment:"tenant id of loki"`
	// contains filtered or unexported fields
}

func (*LokiSubscriber) Description

func (l *LokiSubscriber) Description() string

func (*LokiSubscriber) FlusherConfig

func (l *LokiSubscriber) FlusherConfig() string

func (*LokiSubscriber) Name

func (l *LokiSubscriber) Name() string

func (*LokiSubscriber) Start

func (l *LokiSubscriber) Start() error

func (*LokiSubscriber) Stop

func (l *LokiSubscriber) Stop()

func (*LokiSubscriber) SubscribeChan

func (l *LokiSubscriber) SubscribeChan() <-chan *protocol.LogGroup

type QueryData

type QueryData struct {
	Result []QueryResult
}

type QueryResponse

type QueryResponse struct {
	Status string
	Data   QueryData
}

type QueryResult

type QueryResult struct {
	Stream map[string]string
	Values [][]string
}

type Subscriber

type Subscriber interface {
	doc.Doc
	// Name of subscriber
	Name() string
	// Start the subscriber
	Start() error
	// Stop the subscriber
	Stop()
	// SubscribeChan is subscribed by the external component to get telemetry dat.
	SubscribeChan() <-chan *protocol.LogGroup
	// FlusherConfig returns the default flusher config for Ilogtail container to transfer the received or self telemetry data.
	FlusherConfig() string
}

Subscriber receives the logs transfer by ilogtail.

func New

func New(name string, cfg map[string]interface{}) (Subscriber, error)

Jump to

Keyboard shortcuts

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