Documentation ¶
Overview ¶
Package metricsd supports metrics collection, augmentation, and export, as well as providing REST API endpoints for viewing metrics and managing alerts.
A metrics profile defines the manner and extent to which metrics are consumed and exported.
Metrics profiles are registered with the profile registry. The metricsd service consumes profiles from the registry and kicks off their respective collect/export loops.
Only one metrics profile can be active at a time. The active profile is determined by a service-level config value, and changing the active profile requires a metricsd service restart. Each exporter in the active profile receives metrics from every collector.
Available exporters include export to a custom Prometheus push gateway, as well as support for more time-series-oriented endpoints.
The metricsd service provides gRPC endpoints to accept metrics pushed via the REST API, as well as metrics collected (reported) from non-local services such as those on AGWs.
The obsidian REST API handlers provide endpoints to query metrics, as well as view, configure, and silence alerts.
Index ¶
Constants ¶
const ( PrometheusQueryAddress = "prometheusQueryAddress" PrometheusConfigServiceURL = "prometheusConfigServiceURL" AlertmanagerConfigServiceURL = "alertmanagerConfigServiceURL" AlertmanagerApiURL = "alertmanagerApiURL" )
Constants to represent the keys in the metricsd.yml config file
const (
ServiceName = "METRICSD"
)
Variables ¶
This section is empty.
Functions ¶
func GetMetricsExporters ¶
GetMetricsExporters returns all registered metrics exporters.
func PushMetrics ¶
func PushMetrics(metrics protos.PushedMetricsContainer) error
PushMetrics pushes a set of metrics to the metricsd service.
Types ¶
type MetricsProfile ¶
type MetricsProfile struct { // Name is a unique name to assign to this profile. This is how you // will tell metricsd which profile to run with. Name string // Collectors defines the set of functionalities for collecting metrics. // Many-inputs. Collectors []collection.MetricCollector // Exporters defines the set of functionalities for exporting metrics. // Many-outputs. Exporters []exporters.Exporter }
MetricsProfile is a configuration for the metricsd servicer which specifies which collectors and exporters it should run.
Collectors intake metrics, metricsd augments each set of metrics, and Exporters output metrics. Deprecated: collectors are now static, exporters via service mesh
Directories ¶
Path | Synopsis |
---|---|
Package collection contains implementations of metric collectors and gatherers to perform local metric collection/aggregation.
|
Package collection contains implementations of metric collectors and gatherers to perform local metric collection/aggregation. |
Package exporters provides an interface for converting protobuf metrics to timeseries datapoints and writing these datapoints to storage.
|
Package exporters provides an interface for converting protobuf metrics to timeseries datapoints and writing these datapoints to storage. |
obsidian
|
|
prometheus
|
|