README
¶
Korrel8r
Korrel8r is an observability tool for correlating observable signals and resources in a kubernetes cluster.
It is a rule based correlation engine, with an extensible rule set, that can navigate
- many types of signal and resource data
- serialized in diverse formats, with diverse schema, data models and naming conventions
- queried using diverse query languages
- stored in multiple stores with diverse query APIs
The Korrel8r Documentation Site explains the ideas behind korrel8r, how to use the built-in rules, and how to write new rules.
These Go packages include:
-
Core abstractions and interfaces used to implement new domains. See the user guide
-
Domain packages for k8s resources, alerts, logs, metris and more
Contributing
⚠️ NOTE: Early development, no compatibility guarantees ⚠️
Directories
¶
Path | Synopsis |
---|---|
client
module
|
|
cmd
|
|
internal
|
|
operator
module
|
|
pkg
|
|
config
Package config contains configuration types for Korrel8r.
|
Package config contains configuration types for Korrel8r. |
domains/alert
Package alert provides Prometheus alerts, queries and access to Thanos and AlertManager stores.
|
Package alert provides Prometheus alerts, queries and access to Thanos and AlertManager stores. |
domains/incident
Package incident provides mapping to https://github.com/openshift/cluster-health-analyzer incidents.
|
Package incident provides mapping to https://github.com/openshift/cluster-health-analyzer incidents. |
domains/k8s
Package k8s implements [Kubernetes] resources stored in a Kube API server.
|
Package k8s implements [Kubernetes] resources stored in a Kube API server. |
domains/log
Package log is a domain for openshift-logging ViaQ logs stored in Loki or LokiStack.
|
Package log is a domain for openshift-logging ViaQ logs stored in Loki or LokiStack. |
domains/metric
package metric represents Prometheus metric time-series as objects.
|
package metric represents Prometheus metric time-series as objects. |
domains/netflow
Package netflow is a domain for network observability flow events stored in Loki or LokiStack.
|
Package netflow is a domain for network observability flow events stored in Loki or LokiStack. |
domains/trace
Package trace implements OpenTelemetry [traces] stored in the Grafana [Tempo] data store.
|
Package trace implements OpenTelemetry [traces] stored in the Grafana [Tempo] data store. |
graph
Package graph provides a directed multi-graph with class nodes and rule lines.
|
Package graph provides a directed multi-graph with class nodes and rule lines. |
korrel8r
package korrel8r contains interfaces and algorithms to correlate objects between different domains.
|
package korrel8r contains interfaces and algorithms to correlate objects between different domains. |
korrel8r/impl
package impl provides helper types and functions for implementing a korrel8r domain.
|
package impl provides helper types and functions for implementing a korrel8r domain. |
otel
Package otel implements korrel8r-friendly OTEL attribute maps and attribute types.
|
Package otel implements korrel8r-friendly OTEL attribute maps and attribute types. |
ptr
package ptr provides pointer-related functions
|
package ptr provides pointer-related functions |
rest
Package rest implements a REST API for korrel8r.
|
Package rest implements a REST API for korrel8r. |
rest/auth
package auth forwards authorization information from an incoming REST request to an outgoing store request.
|
package auth forwards authorization information from an incoming REST request to an outgoing store request. |
rest/docs
Package docs Code generated by swaggo/swag.
|
Package docs Code generated by swaggo/swag. |
rules
Package rules uses Go templates to generate goal queries from start objects.
|
Package rules uses Go templates to generate goal queries from start objects. |
unique
package unique provides functions and types to remove duplicate values.
|
package unique provides functions and types to remove duplicate values. |
Click to show internal directories.
Click to hide internal directories.