Documentation
¶
Index ¶
Constants ¶
const ( ChanSize = 100 NumberOfPipelines = 4 )
Pipeline constraints
const ( TCPType = "tcp" UDPType = "udp" FileType = "file" ContainerdType = "containerd" DockerType = "docker" JournaldType = "journald" WindowsEventType = "windows_event" )
Logs source types
const ( ExcludeAtMatch = "exclude_at_match" IncludeAtMatch = "include_at_match" MaskSequences = "mask_sequences" MultiLine = "multi_line" )
Processing rule types
const ContainerCollectAll = "container_collect_all"
ContainerCollectAll is the name of the docker integration that collect logs from all containers
const (
// DateFormat is the default date format.
DateFormat = "2006-01-02T15:04:05.000000000Z"
)
Variables ¶
This section is empty.
Functions ¶
func CompileProcessingRules ¶
func CompileProcessingRules(rules []*ProcessingRule) error
CompileProcessingRules compiles all processing rule regular expressions.
func ValidateProcessingRules ¶
func ValidateProcessingRules(rules []*ProcessingRule) error
ValidateProcessingRules validates the rules and raises an error if one is misconfigured. Each processing rule must have: - a valid name - a valid type - a valid pattern that compiles
Types ¶
type LogSource ¶
type LogSource struct {
Name string
Config *LogsConfig
Status *LogStatus
Messages *Messages
// contains filtered or unexported fields
}
LogSource holds a reference to an integration name and a log configuration, and allows to track errors and successful operations on it. Both name and configuration are static for now and determined at creation time. Changing the status is designed to be thread safe.
func DefaultSources ¶
func DefaultSources() []*LogSource
DefaultSources returns the default log sources that can be directly set from the datadog.yaml or through environment variables.
func NewLogSource ¶
func NewLogSource(name string, config *LogsConfig) *LogSource
NewLogSource creates a new log source.
func (*LogSource) GetSourceType ¶
GetSourceType returns the sourceType used by this source
func (*LogSource) RemoveInput ¶
RemoveInput removes an input from this source.
func (*LogSource) SetSourceType ¶
SetSourceType sets a format that give information on how the source lines should be parsed
type LogSources ¶
type LogSources struct {
// contains filtered or unexported fields
}
LogSources stores a list of log sources.
func (*LogSources) AddSource ¶
func (s *LogSources) AddSource(source *LogSource)
AddSource adds a new source.
func (*LogSources) GetAddedForType ¶
func (s *LogSources) GetAddedForType(sourceType string) chan *LogSource
GetAddedForType returns the new added sources matching the provided type.
func (*LogSources) GetRemovedForType ¶
func (s *LogSources) GetRemovedForType(sourceType string) chan *LogSource
GetRemovedForType returns the new removed sources matching the provided type.
func (*LogSources) GetSources ¶
func (s *LogSources) GetSources() []*LogSource
GetSources returns all the sources currently held.
func (*LogSources) RemoveSource ¶
func (s *LogSources) RemoveSource(source *LogSource)
RemoveSource removes a source.
type LogStatus ¶
type LogStatus struct {
// contains filtered or unexported fields
}
LogStatus tracks errors and success.
type LogsConfig ¶
type LogsConfig struct {
Type string
Port int // Network
Path string // File, Journald
IncludeUnits []string `mapstructure:"include_units" json:"include_units"` // Journald
ExcludeUnits []string `mapstructure:"exclude_units" json:"exclude_units"` // Journald
Image string // Docker
Label string // Docker
Name string // Docker
Identifier string // Docker
ChannelPath string `mapstructure:"channel_path" json:"channel_path"` // Windows Event
Query string // Windows Event
Service string
Source string
SourceCategory string
Tags []string
ProcessingRules []*ProcessingRule `mapstructure:"log_processing_rules" json:"log_processing_rules"`
}
LogsConfig represents a log source config, which can be for instance a file to tail or a port to listen to.
func ParseJSON ¶
func ParseJSON(data []byte) ([]*LogsConfig, error)
ParseJSON parses the data formatted in JSON returns an error if the parsing failed.
func ParseYAML ¶
func ParseYAML(data []byte) ([]*LogsConfig, error)
ParseYAML parses the data formatted in YAML, returns an error if the parsing failed.
func (*LogsConfig) Validate ¶
func (c *LogsConfig) Validate() error
Validate returns an error if the config is misconfigured
type Messages ¶
type Messages struct {
// contains filtered or unexported fields
}
Messages holds messages and warning that can be displayed in the status Warnings are display at the top of the log section in the status and messages are displayed in the log source that generated the message
func NewMessages ¶
func NewMessages() *Messages
NewMessages initialize Messages with the default values
func (*Messages) AddMessage ¶
AddMessage create a message
func (*Messages) GetMessages ¶
GetMessages returns all the messages
func (*Messages) RemoveMessage ¶
RemoveMessage removes a message
type ProcessingRule ¶
type ProcessingRule struct {
Type string
Name string
ReplacePlaceholder string `mapstructure:"replace_placeholder" json:"replace_placeholder"`
Pattern string
// TODO: should be moved out
Regex *regexp.Regexp
Placeholder []byte
}
ProcessingRule defines an exclusion or a masking rule to be applied on log lines
func GlobalProcessingRules ¶
func GlobalProcessingRules() ([]*ProcessingRule, error)
GlobalProcessingRules returns the global processing rules to apply to all logs.