Documentation
¶
Index ¶
Constants ¶
View Source
const ( DroppedPackets metricName = "fw_bouncer_dropped_packets" DroppedBytes metricName = "fw_bouncer_dropped_bytes" ProcessedPackets metricName = "fw_bouncer_processed_packets" ProcessedBytes metricName = "fw_bouncer_processed_bytes" ActiveBannedIPs metricName = "fw_bouncer_banned_ips" )
View Source
const CollectionInterval = time.Second * 10
Variables ¶
View Source
var Map = metricMap{ ActiveBannedIPs: { Name: "active_decisions", Unit: "ip", Gauge: prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name: string(ActiveBannedIPs), Help: "Denotes the number of IPs which are currently banned", }, []string{"origin", "ip_type"}), LabelKeys: []string{"origin", "ip_type"}, LastValueMap: nil, KeyFunc: func([]*io_prometheus_client.LabelPair) string { return "" }, }, DroppedBytes: { Name: "dropped", Unit: "byte", Gauge: prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name: string(DroppedBytes), Help: "Denotes the number of total dropped bytes because of rule(s) created by crowdsec", }, []string{"origin", "ip_type"}), LabelKeys: []string{"origin", "ip_type"}, LastValueMap: make(map[string]float64), KeyFunc: func(labels []*io_prometheus_client.LabelPair) string { return getLabelValue(labels, "origin") + getLabelValue(labels, "ip_type") }, }, DroppedPackets: { Name: "dropped", Unit: "packet", Gauge: prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name: string(DroppedPackets), Help: "Denotes the number of total dropped packets because of rule(s) created by crowdsec", }, []string{"origin", "ip_type"}), LabelKeys: []string{"origin", "ip_type"}, LastValueMap: make(map[string]float64), KeyFunc: func(labels []*io_prometheus_client.LabelPair) string { return getLabelValue(labels, "origin") + getLabelValue(labels, "ip_type") }, }, ProcessedBytes: { Name: "processed", Unit: "byte", Gauge: prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name: string(ProcessedBytes), Help: "Denotes the number of total processed bytes by the rules created by crowdsec", }, []string{"ip_type"}), LabelKeys: []string{"ip_type"}, LastValueMap: make(map[string]float64), KeyFunc: func(labels []*io_prometheus_client.LabelPair) string { return getLabelValue(labels, "ip_type") }, }, ProcessedPackets: { Name: "processed", Unit: "packet", Gauge: prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name: string(ProcessedPackets), Help: "Denotes the number of total processed packets by the rules created by crowdsec", }, []string{"ip_type"}), LabelKeys: []string{"ip_type"}, LastValueMap: make(map[string]float64), KeyFunc: func(labels []*io_prometheus_client.LabelPair) string { return getLabelValue(labels, "ip_type") }, }, }
Functions ¶
This section is empty.
Types ¶
type Handler ¶ added in v0.0.32
type Handler struct {
Backend backendCollector
}
func (Handler) ComputeMetricsHandler ¶ added in v0.0.32
func (Handler) MetricsUpdater ¶ added in v0.0.32
func (m Handler) MetricsUpdater(met *models.RemediationComponentsMetrics, updateInterval time.Duration)
MetricsUpdater receives a metrics struct with basic data and populates it with the current metrics.
Click to show internal directories.
Click to hide internal directories.