Documentation ¶
Index ¶
Constants ¶
const (
// The timestamp format in the S3 objects with second precision: yyyyMMddTHHmmssZ
S3ObjectTimestampFormat = "20060102T150405Z"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Destination ¶
type Destination interface {
SendEvents(parsedEventChannel chan *parsers.PantherLog, errChan chan error)
}
Destination defines the interface that all Destinations should follow
func CreateDestination ¶
func CreateDestination() Destination
CreateDestination the method returns the appropriate Destination based on configuration
type FirehoseDestination ¶
type FirehoseDestination struct {
// contains filtered or unexported fields
}
FirehoseDestination sends classified events to Kinesis Firehose
func (*FirehoseDestination) SendEvents ¶
func (destination *FirehoseDestination) SendEvents(parsedEventChannel chan *parsers.PantherLog, errChan chan error)
SendEvents sends events to Kinesis firehose streams It continuously reads events from outputChannel, groups them in batches per log type and sends them to the appropriate Kinesis FIrehose. If the method encounters an error it stops reading from the outputChannel and writes an error to the errorChannel
type S3Destination ¶
type S3Destination struct {
// contains filtered or unexported fields
}
S3Destination sends normalized events to S3
func (*S3Destination) SendEvents ¶
func (destination *S3Destination) SendEvents(parsedEventChannel chan *parsers.PantherLog, errChan chan error)
SendEvents stores events in S3. It continuously reads events from outputChannel, groups them in batches per log type and stores them in the appropriate S3 path. If the method encounters an error it writes an error to the errorChannel and continues until channel is closed (skipping events). The sendData() method is called as go routine to allow processing to continue and hide network latency.