Documentation ¶
Index ¶
- Constants
- func PriorityToStatus(priority int) string
- type AlertManagerExporter
- type CsvExporter
- type Exporter
- type ExporterBus
- type ExportersConfig
- type HTTPAlert
- type HTTPAlertsList
- type HTTPAlertsListSpec
- type HTTPExporter
- type HTTPExporterConfig
- type MalwareAlert
- type RuleAlert
- type StdoutExporter
- type SyslogExporter
Constants ¶
View Source
const (
// AlertManagerURLs separator delimiter.
AlertManagerSepartorDelimiter = ","
)
Variables ¶
This section is empty.
Functions ¶
func PriorityToStatus ¶
Types ¶
type AlertManagerExporter ¶
type AlertManagerExporter struct { Host string NodeName string // contains filtered or unexported fields }
func InitAlertManagerExporter ¶
func InitAlertManagerExporter(alertmanagerURL string) *AlertManagerExporter
func (*AlertManagerExporter) SendMalwareAlert ¶ added in v0.0.19
func (ame *AlertManagerExporter) SendMalwareAlert(malwareDescription scan.MalwareDescription)
func (*AlertManagerExporter) SendRuleAlert ¶ added in v0.0.19
func (ame *AlertManagerExporter) SendRuleAlert(failedRule rule.RuleFailure)
type CsvExporter ¶ added in v0.0.17
CsvExporter is an exporter that sends alerts to csv
func InitCsvExporter ¶ added in v0.0.17
func InitCsvExporter(csvRulePath, csvMalwarePath string) *CsvExporter
InitCsvExporter initializes a new CsvExporter
func (*CsvExporter) SendMalwareAlert ¶ added in v0.0.19
func (ce *CsvExporter) SendMalwareAlert(malwareDescription scan.MalwareDescription)
func (*CsvExporter) SendRuleAlert ¶ added in v0.0.19
func (ce *CsvExporter) SendRuleAlert(failedRule rule.RuleFailure)
SendRuleAlert sends an alert to csv
type Exporter ¶
type Exporter interface { // SendRuleAlert sends an alert on failed rule to the exporter SendRuleAlert(failedRule rule.RuleFailure) // SendMalwareAlert sends an alert on malware detection to the exporter. SendMalwareAlert(scan.MalwareDescription) }
generic exporter interface
type ExporterBus ¶ added in v0.0.22
type ExporterBus struct {
// contains filtered or unexported fields
}
func InitExporters ¶
func InitExporters(exportersConfig ExportersConfig) ExporterBus
InitExporters initializes all exporters.
func (*ExporterBus) SendMalwareAlert ¶ added in v0.0.22
func (e *ExporterBus) SendMalwareAlert(malwareDescription scan.MalwareDescription)
func (*ExporterBus) SendRuleAlert ¶ added in v0.0.22
func (e *ExporterBus) SendRuleAlert(failedRule rule.RuleFailure)
type ExportersConfig ¶
type ExportersConfig struct { StdoutExporter *bool `yaml:"stdoutExporter"` AlertManagerExporterUrls string `yaml:"alertManagerExporterUrls"` SyslogExporter string `yaml:"syslogExporterURL"` CsvRuleExporterPath string `yaml:"CsvRuleExporterPath"` CsvMalwareExporterPath string `yaml:"CsvMalwareExporterPath"` HTTPExporterConfig *HTTPExporterConfig `yaml:"httpExporterConfig"` }
type HTTPAlert ¶ added in v0.0.37
type HTTPAlert struct { RuleAlert `json:",inline"` MalwareAlert `json:",inline"` RuleName string `json:"ruleName"` Message string `json:"message"` ContainerID string `json:"containerID,omitempty"` ContainerName string `json:"containerName,omitempty"` PodNamespace string `json:"podNamespace,omitempty"` PodName string `json:"podName,omitempty"` HostName string `json:"hostName"` NodeName string `json:"nodeName"` }
type HTTPAlertsList ¶ added in v0.0.37
type HTTPAlertsList struct { Kind string `json:"kind"` ApiVersion string `json:"apiVersion"` Spec HTTPAlertsListSpec `json:"spec"` }
type HTTPAlertsListSpec ¶ added in v0.0.37
type HTTPAlertsListSpec struct {
Alerts []HTTPAlert `json:"alerts"`
}
type HTTPExporter ¶ added in v0.0.37
we will have a CRD-like json struct to send in the HTTP request
func InitHTTPExporter ¶ added in v0.0.37
func InitHTTPExporter(config HTTPExporterConfig) (*HTTPExporter, error)
InitHTTPExporter initializes an HTTPExporter with the given URL, headers, timeout, and method
func (*HTTPExporter) SendMalwareAlert ¶ added in v0.0.37
func (exporter *HTTPExporter) SendMalwareAlert(malwareDescription scan.MalwareDescription)
func (*HTTPExporter) SendRuleAlert ¶ added in v0.0.37
func (exporter *HTTPExporter) SendRuleAlert(failedRule rule.RuleFailure)
type HTTPExporterConfig ¶ added in v0.0.37
type HTTPExporterConfig struct { // URL is the URL to send the HTTP request to URL string `json:"url"` // Headers is a map of headers to send in the HTTP request Headers map[string]string `json:"headers"` // Timeout is the timeout for the HTTP request TimeoutSeconds int `json:"timeoutSeconds"` // Method is the HTTP method to use for the HTTP request Method string `json:"method"` MaxAlertsPerMinute int `json:"maxAlertsPerMinute"` }
func (*HTTPExporterConfig) Validate ¶ added in v0.0.37
func (config *HTTPExporterConfig) Validate() error
type MalwareAlert ¶ added in v0.0.37
type MalwareAlert struct { MalwareName string `json:"malwareName,omitempty"` MalwareDescription string `json:"malwareDescription,omitempty"` // Path to the file that was infected Path string `json:"path,omitempty"` // Hash of the file that was infected Hash string `json:"hash,omitempty"` // Size of the file that was infected Size string `json:"size,omitempty"` // Is part of the image IsPartOfImage bool `json:"isPartOfImage,omitempty"` // K8s resource that was infected Resource schema.GroupVersionResource `json:"resource,omitempty"` // K8s container image that was infected ContainerImage string `json:"containerImage,omitempty"` }
type RuleAlert ¶ added in v0.0.37
type RuleAlert struct { Severity int `json:"severity,omitempty"` // PriorityToStatus(failedRule.Priority()), ProcessName string `json:"processName,omitempty"` // failedRule.Event().Comm, FixSuggestions string `json:"fixSuggestions,omitempty"` PID uint32 `json:"pid,omitempty"` PPID uint32 `json:"ppid,omitempty"` // Parent Process ID UID uint32 `json:"uid,omitempty"` // User ID of the process GID uint32 `json:"gid,omitempty"` // Group ID of the process }
type StdoutExporter ¶
type StdoutExporter struct {
// contains filtered or unexported fields
}
func InitStdoutExporter ¶
func InitStdoutExporter(useStdout *bool) *StdoutExporter
func (*StdoutExporter) SendMalwareAlert ¶ added in v0.0.19
func (exporter *StdoutExporter) SendMalwareAlert(malwareDescription scan.MalwareDescription)
func (*StdoutExporter) SendRuleAlert ¶ added in v0.0.19
func (exporter *StdoutExporter) SendRuleAlert(failedRule rule.RuleFailure)
type SyslogExporter ¶ added in v0.0.14
type SyslogExporter struct {
// contains filtered or unexported fields
}
SyslogExporter is an exporter that sends alerts to syslog
func InitSyslogExporter ¶ added in v0.0.14
func InitSyslogExporter(syslogHost string) *SyslogExporter
InitSyslogExporter initializes a new SyslogExporter
func (*SyslogExporter) SendMalwareAlert ¶ added in v0.0.19
func (se *SyslogExporter) SendMalwareAlert(malwareDescription scan.MalwareDescription)
SendMalwareAlert sends an alert to syslog (RFC 5424) - https://tools.ietf.org/html/rfc5424
func (*SyslogExporter) SendRuleAlert ¶ added in v0.0.19
func (se *SyslogExporter) SendRuleAlert(failedRule rule.RuleFailure)
SendRuleAlert sends an alert to syslog (RFC 5424) - https://tools.ietf.org/html/rfc5424
Click to show internal directories.
Click to hide internal directories.