Documentation
¶
Index ¶
- type CloudwatchSource
- func (cw *CloudwatchSource) CanRun() error
- func (cw *CloudwatchSource) CatLogStream(cfg *LogStreamTailConfig, outChan chan types.Event) error
- func (cw *CloudwatchSource) Configure(cfg []byte, logger *log.Entry) error
- func (cw *CloudwatchSource) ConfigureByDSN(dsn string, logtype string, logger *log.Entry) error
- func (cw *CloudwatchSource) Dump() interface{}
- func (cw *CloudwatchSource) GetAggregMetrics() []prometheus.Collector
- func (cw *CloudwatchSource) GetMetrics() []prometheus.Collector
- func (cw *CloudwatchSource) GetMode() string
- func (cw *CloudwatchSource) GetName() string
- func (cw *CloudwatchSource) LogStreamManager(in chan LogStreamTailConfig, outChan chan types.Event) error
- func (cw *CloudwatchSource) OneShotAcquisition(out chan types.Event, t *tomb.Tomb) error
- func (cw *CloudwatchSource) StreamingAcquisition(out chan types.Event, t *tomb.Tomb) error
- func (cw *CloudwatchSource) TailLogStream(cfg *LogStreamTailConfig, outChan chan types.Event) error
- func (cw *CloudwatchSource) WatchLogGroupForStreams(out chan LogStreamTailConfig) error
- type CloudwatchSourceConfiguration
- type LogStreamTailConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudwatchSource ¶
type CloudwatchSource struct {
Config CloudwatchSourceConfiguration
// contains filtered or unexported fields
}
CloudwatchSource is the runtime instance keeping track of N streams within 1 cloudwatch group
func (*CloudwatchSource) CanRun ¶
func (cw *CloudwatchSource) CanRun() error
func (*CloudwatchSource) CatLogStream ¶
func (cw *CloudwatchSource) CatLogStream(cfg *LogStreamTailConfig, outChan chan types.Event) error
func (*CloudwatchSource) Configure ¶
func (cw *CloudwatchSource) Configure(cfg []byte, logger *log.Entry) error
func (*CloudwatchSource) ConfigureByDSN ¶
func (*CloudwatchSource) Dump ¶
func (cw *CloudwatchSource) Dump() interface{}
func (*CloudwatchSource) GetAggregMetrics ¶
func (cw *CloudwatchSource) GetAggregMetrics() []prometheus.Collector
func (*CloudwatchSource) GetMetrics ¶
func (cw *CloudwatchSource) GetMetrics() []prometheus.Collector
func (*CloudwatchSource) GetMode ¶
func (cw *CloudwatchSource) GetMode() string
func (*CloudwatchSource) GetName ¶
func (cw *CloudwatchSource) GetName() string
func (*CloudwatchSource) LogStreamManager ¶
func (cw *CloudwatchSource) LogStreamManager(in chan LogStreamTailConfig, outChan chan types.Event) error
LogStreamManager receives the potential streams to monitor, and start a go routine when needed
func (*CloudwatchSource) OneShotAcquisition ¶
func (*CloudwatchSource) StreamingAcquisition ¶
func (*CloudwatchSource) TailLogStream ¶
func (cw *CloudwatchSource) TailLogStream(cfg *LogStreamTailConfig, outChan chan types.Event) error
func (*CloudwatchSource) WatchLogGroupForStreams ¶
func (cw *CloudwatchSource) WatchLogGroupForStreams(out chan LogStreamTailConfig) error
type CloudwatchSourceConfiguration ¶
type CloudwatchSourceConfiguration struct {
configuration.DataSourceCommonCfg `yaml:",inline"`
GroupName string `yaml:"group_name"` //the group name to be monitored
StreamRegexp *string `yaml:"stream_regexp,omitempty"` //allow to filter specific streams
StreamName *string `yaml:"stream_name,omitempty"`
StartTime, EndTime *time.Time `yaml:"-"`
DescribeLogStreamsLimit *int64 `yaml:"describelogstreams_limit,omitempty"` //batch size for DescribeLogStreamsPagesWithContext
GetLogEventsPagesLimit *int64 `yaml:"getlogeventspages_limit,omitempty"`
PollNewStreamInterval *time.Duration `yaml:"poll_new_stream_interval,omitempty"` //frequency at which we poll for new streams within the log group
MaxStreamAge *time.Duration `yaml:"max_stream_age,omitempty"` //monitor only streams that have been updated within $duration
PollStreamInterval *time.Duration `yaml:"poll_stream_interval,omitempty"` //frequency at which we poll each stream
StreamReadTimeout *time.Duration `yaml:"stream_read_timeout,omitempty"` //stop monitoring streams that haven't been updated within $duration, might be reopened later tho
AwsApiCallTimeout *time.Duration `yaml:"aws_api_timeout,omitempty"`
AwsProfile *string `yaml:"aws_profile,omitempty"`
PrependCloudwatchTimestamp *bool `yaml:"prepend_cloudwatch_timestamp,omitempty"`
AwsConfigDir *string `yaml:"aws_config_dir,omitempty"`
}
CloudwatchSourceConfiguration allows user to define one or more streams to monitor within a cloudwatch log group
type LogStreamTailConfig ¶
type LogStreamTailConfig struct {
GroupName string
StreamName string
GetLogEventsPagesLimit int64
PollStreamInterval time.Duration
StreamReadTimeout time.Duration
PrependCloudwatchTimestamp *bool
Labels map[string]string
ExpectMode int
StartTime, EndTime time.Time //only used for CatMode
// contains filtered or unexported fields
}
LogStreamTailConfig is the configuration for one given stream within one group
Click to show internal directories.
Click to hide internal directories.