Back to

Package collector

Latest Go to latest

The latest major version is .

Published: Oct 26, 2017 | License: GPL2 | Module:



const (
	// FlowReject indicates that a flow was rejected
	FlowReject = "reject"
	// FlowAccept logs that a flow is accepted
	FlowAccept = "accept"
	// MissingToken indicates that the token was missing
	MissingToken = "missingtoken"
	// InvalidToken indicates that the token was invalid
	InvalidToken = "token"
	// InvalidFormat indicates that the packet metadata were not correct
	InvalidFormat = "format"
	// InvalidContext indicates that there was no context in the metadata
	InvalidContext = "context"
	// InvalidConnection indicates that there was no connection found
	InvalidConnection = "connection"
	// InvalidState indicates that a packet was received without proper state information
	InvalidState = "state"
	// InvalidNonse indicates that the nonse check failed
	InvalidNonse = "nonse"
	// PolicyDrop indicates that the flow is rejected because of the policy decision
	PolicyDrop = "policy"
	// ContainerStart indicates a container start event
	ContainerStart = "start"
	// ContainerStop indicates a container stop event
	ContainerStop = "stop"
	// ContainerCreate indicates a container create event
	ContainerCreate = "create"
	// ContainerDelete indicates a container delete event
	ContainerDelete = "delete"
	// ContainerUpdate indicates a container policy update event
	ContainerUpdate = "update"
	// ContainerFailed indicates an event that a container was stopped because of policy issues
	ContainerFailed = "forcestop"
	// ContainerIgnored indicates that the container will be ignored by Trireme
	ContainerIgnored = "ignore"
	// UnknownContainerDelete indicates that policy for an unknown  container was deleted
	UnknownContainerDelete = "unknowncontainer"
	// PolicyValid Normal flow accept
	PolicyValid = "V"
	// DefaultEndPoint  provides a string for unknown container sources
	DefaultEndPoint = "default"

func StatsFlowHash

func StatsFlowHash(r *FlowRecord) string

StatsFlowHash is a has function to hash flows

type ContainerRecord

type ContainerRecord struct {
	ContextID string
	IPAddress string
	Tags      *policy.TagStore
	Event     string

ContainerRecord is a statistics record for a container

type DefaultCollector

type DefaultCollector struct{}

DefaultCollector implements a default collector infrastructure to syslog

func (*DefaultCollector) CollectContainerEvent

func (d *DefaultCollector) CollectContainerEvent(record *ContainerRecord)

CollectContainerEvent is part of the EventCollector interface.

func (*DefaultCollector) CollectFlowEvent

func (d *DefaultCollector) CollectFlowEvent(record *FlowRecord)

CollectFlowEvent is part of the EventCollector interface.

type EndPoint

type EndPoint struct {
	ID   string
	IP   string
	Port uint16
	Type EndPointType

EndPoint is a structure that holds all the endpoint information

type EndPointType

type EndPointType byte

EndPointType is the type of an endpoint (PU or an external IP address )

const (
	// Address indicates that the endpoint is an external IP address
	Address EndPointType = iota
	// PU indicates that the endpoint is a PU

func (*EndPointType) String

func (e *EndPointType) String() string

type EventCollector

type EventCollector interface {

	// CollectFlowEvent collect a  flow event.
	CollectFlowEvent(record *FlowRecord)

	// CollectContainerEvent collects a container events
	CollectContainerEvent(record *ContainerRecord)

EventCollector is the interface for collecting events.

type FlowRecord

type FlowRecord struct {
	ContextID   string
	Count       int
	Source      *EndPoint
	Destination *EndPoint
	Tags        *policy.TagStore
	Action      policy.ActionType
	DropReason  string
	PolicyID    string

FlowRecord describes a flow record for statistis

func (*FlowRecord) String

func (f *FlowRecord) String() string

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier