Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewHTTPClient ¶
func NewHTTPClient(cfg HTTPClient) (*http.Client, error)
Types ¶
type Config ¶
type Config struct {
Database Database `yaml:"database"`
MetricCollector MetricCollector `yaml:"metric_collector,omitempty"`
RulesCollectors []*RulesCollector `yaml:"rules_collectors,omitempty"`
LabelsCollectors []*LabelsCollector `yaml:"labels_collectors,omitempty"`
PersesCollector PersesCollector `yaml:"perses_collector,omitempty"`
GrafanaCollector GrafanaCollector `yaml:"grafana_collector,omitempty"`
}
type Database ¶ added in v0.3.0
type Database struct {
// Define if the database is stored in a file or in memory
InMemory *bool `yaml:"in_memory,omitempty"`
// In case the database is stored in a file, then the path to a JSON file must be defined
Path string `yaml:"path,omitempty"`
// FlushPeriod defines the frequency the system will flush the data into the JSON file
FlushPeriod model.Duration `yaml:"flush_period,omitempty"`
}
type GrafanaCollector ¶
type GrafanaCollector struct {
Enable bool `yaml:"enable"`
Period model.Duration `yaml:"period,omitempty"`
MetricUsageClient *HTTPClient `yaml:"metric_usage_client,omitempty"`
HTTPClient HTTPClient `yaml:"grafana_client"`
PublicURL *common.URL `yaml:"public_url,omitempty"`
}
func (*GrafanaCollector) Verify ¶
func (c *GrafanaCollector) Verify() error
type HTTPClient ¶
type LabelsCollector ¶ added in v0.4.0
type LabelsCollector struct {
Enable bool `yaml:"enable"`
Period model.Duration `yaml:"period,omitempty"`
// MetricUsageClient is a client to send the metrics usage to a remote metrics_usage server.
MetricUsageClient *HTTPClient `yaml:"metric_usage_client,omitempty"`
HTTPClient HTTPClient `yaml:"prometheus_client"`
}
func (*LabelsCollector) Verify ¶ added in v0.4.0
func (c *LabelsCollector) Verify() error
type MetricCollector ¶
type MetricCollector struct {
Enable bool `yaml:"enable"`
Period model.Duration `yaml:"period,omitempty"`
HTTPClient HTTPClient `yaml:"http_client"`
}
func (*MetricCollector) Verify ¶
func (c *MetricCollector) Verify() error
type PersesCollector ¶
type PersesCollector struct {
Enable bool `yaml:"enable"`
Period model.Duration `yaml:"period,omitempty"`
MetricUsageClient *HTTPClient `yaml:"metric_usage_client,omitempty"`
HTTPClient config.RestConfigClient `yaml:"perses_client"`
PublicURL *common.URL `yaml:"public_url,omitempty"`
}
func (*PersesCollector) Verify ¶
func (c *PersesCollector) Verify() error
type RulesCollector ¶
type RulesCollector struct {
Enable bool `yaml:"enable"`
Period model.Duration `yaml:"period,omitempty"`
// MetricUsageClient is a client to send the metrics usage to a remote metrics_usage server.
MetricUsageClient *HTTPClient `yaml:"metric_usage_client,omitempty"`
// RetryToGetRules is the number of retries the collector will do to get the rules from Prometheus before actually failing.
// Between each retry, the collector will wait first 10 seconds, then 20 seconds, then 30 seconds ...etc.
RetryToGetRules uint `yaml:"retry_to_get_rules,omitempty"`
HTTPClient HTTPClient `yaml:"prometheus_client"`
PublicURL *common.URL `yaml:"public_url,omitempty"`
}
func (*RulesCollector) Verify ¶
func (c *RulesCollector) Verify() error
Click to show internal directories.
Click to hide internal directories.