|
|
|
@ -13,11 +13,8 @@ var _ = proto.Marshal
|
|
|
|
|
var _ = &json.SyntaxError{} |
|
|
|
|
var _ = math.Inf |
|
|
|
|
|
|
|
|
|
// A label/value pair suitable for attaching to timeseries.
|
|
|
|
|
type LabelPair struct { |
|
|
|
|
// The name of the label. Must adhere to the regex "[a-zA-Z_][a-zA-Z0-9_]*".
|
|
|
|
|
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
|
|
|
|
// The value of the label. May contain any characters.
|
|
|
|
|
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
|
|
|
|
Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
} |
|
|
|
@ -40,7 +37,6 @@ func (m *LabelPair) GetValue() string {
|
|
|
|
|
return "" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// A set of label/value pairs.
|
|
|
|
|
type LabelPairs struct { |
|
|
|
|
Label []*LabelPair `protobuf:"bytes,1,rep,name=label" json:"label,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
@ -57,19 +53,12 @@ func (m *LabelPairs) GetLabel() []*LabelPair {
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The global Prometheus configuration section.
|
|
|
|
|
type GlobalConfig struct { |
|
|
|
|
// How frequently to scrape targets by default. Must be a valid Prometheus
|
|
|
|
|
// duration string in the form "[0-9]+[smhdwy]".
|
|
|
|
|
ScrapeInterval *string `protobuf:"bytes,1,opt,name=scrape_interval,def=1m" json:"scrape_interval,omitempty"` |
|
|
|
|
// How frequently to evaluate rules by default. Must be a valid Prometheus
|
|
|
|
|
// duration string in the form "[0-9]+[smhdwy]".
|
|
|
|
|
EvaluationInterval *string `protobuf:"bytes,2,opt,name=evaluation_interval,def=1m" json:"evaluation_interval,omitempty"` |
|
|
|
|
// The labels to add to any timeseries that this Prometheus instance scrapes.
|
|
|
|
|
Labels *LabelPairs `protobuf:"bytes,3,opt,name=labels" json:"labels,omitempty"` |
|
|
|
|
// The list of file names of rule files to load.
|
|
|
|
|
RuleFile []string `protobuf:"bytes,4,rep,name=rule_file" json:"rule_file,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
ScrapeInterval *string `protobuf:"bytes,1,opt,name=scrape_interval,def=1m" json:"scrape_interval,omitempty"` |
|
|
|
|
EvaluationInterval *string `protobuf:"bytes,2,opt,name=evaluation_interval,def=1m" json:"evaluation_interval,omitempty"` |
|
|
|
|
Labels *LabelPairs `protobuf:"bytes,3,opt,name=labels" json:"labels,omitempty"` |
|
|
|
|
RuleFile []string `protobuf:"bytes,4,rep,name=rule_file" json:"rule_file,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (m *GlobalConfig) Reset() { *m = GlobalConfig{} } |
|
|
|
@ -107,11 +96,8 @@ func (m *GlobalConfig) GetRuleFile() []string {
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// A labeled group of targets to scrape for a job.
|
|
|
|
|
type TargetGroup struct { |
|
|
|
|
// The list of endpoints to scrape via HTTP.
|
|
|
|
|
Target []string `protobuf:"bytes,1,rep,name=target" json:"target,omitempty"` |
|
|
|
|
// The labels to add to any timeseries scraped for this target group.
|
|
|
|
|
Target []string `protobuf:"bytes,1,rep,name=target" json:"target,omitempty"` |
|
|
|
|
Labels *LabelPairs `protobuf:"bytes,2,opt,name=labels" json:"labels,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
} |
|
|
|
@ -134,32 +120,22 @@ func (m *TargetGroup) GetLabels() *LabelPairs {
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The configuration for a Prometheus job to scrape.
|
|
|
|
|
type JobConfig struct { |
|
|
|
|
// The job name. Must adhere to the regex "[a-zA-Z_][a-zA-Z0-9_-]*".
|
|
|
|
|
Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` |
|
|
|
|
// How frequently to scrape targets from this job. Overrides the global
|
|
|
|
|
// default.
|
|
|
|
|
ScrapeInterval *string `protobuf:"bytes,2,opt,name=scrape_interval" json:"scrape_interval,omitempty"` |
|
|
|
|
// The DNS-SD service name pointing to SRV records containing endpoint
|
|
|
|
|
// information for a job. When this field is provided, no target_group
|
|
|
|
|
// elements may be set.
|
|
|
|
|
SdName *string `protobuf:"bytes,3,opt,name=sd_name" json:"sd_name,omitempty"` |
|
|
|
|
// Discovery refresh period when using DNS-SD to discover targets. Must be a
|
|
|
|
|
// valid Prometheus duration string in the form "[0-9]+[smhdwy]".
|
|
|
|
|
SdRefreshInterval *string `protobuf:"bytes,4,opt,name=sd_refresh_interval,def=30s" json:"sd_refresh_interval,omitempty"` |
|
|
|
|
// List of labeled target groups for this job. Only legal when DNS-SD isn't
|
|
|
|
|
// used for a job.
|
|
|
|
|
TargetGroup []*TargetGroup `protobuf:"bytes,5,rep,name=target_group" json:"target_group,omitempty"` |
|
|
|
|
// The HTTP resource path to fetch metrics from on targets.
|
|
|
|
|
MetricsPath *string `protobuf:"bytes,6,opt,name=metrics_path,def=/metrics.json" json:"metrics_path,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` |
|
|
|
|
ScrapeInterval *string `protobuf:"bytes,2,opt,name=scrape_interval" json:"scrape_interval,omitempty"` |
|
|
|
|
ScrapeTimeout *string `protobuf:"bytes,7,opt,name=scrape_timeout,def=10s" json:"scrape_timeout,omitempty"` |
|
|
|
|
SdName *string `protobuf:"bytes,3,opt,name=sd_name" json:"sd_name,omitempty"` |
|
|
|
|
SdRefreshInterval *string `protobuf:"bytes,4,opt,name=sd_refresh_interval,def=30s" json:"sd_refresh_interval,omitempty"` |
|
|
|
|
TargetGroup []*TargetGroup `protobuf:"bytes,5,rep,name=target_group" json:"target_group,omitempty"` |
|
|
|
|
MetricsPath *string `protobuf:"bytes,6,opt,name=metrics_path,def=/metrics.json" json:"metrics_path,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (m *JobConfig) Reset() { *m = JobConfig{} } |
|
|
|
|
func (m *JobConfig) String() string { return proto.CompactTextString(m) } |
|
|
|
|
func (*JobConfig) ProtoMessage() {} |
|
|
|
|
|
|
|
|
|
const Default_JobConfig_ScrapeTimeout string = "10s" |
|
|
|
|
const Default_JobConfig_SdRefreshInterval string = "30s" |
|
|
|
|
const Default_JobConfig_MetricsPath string = "/metrics.json" |
|
|
|
|
|
|
|
|
@ -177,6 +153,13 @@ func (m *JobConfig) GetScrapeInterval() string {
|
|
|
|
|
return "" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (m *JobConfig) GetScrapeTimeout() string { |
|
|
|
|
if m != nil && m.ScrapeTimeout != nil { |
|
|
|
|
return *m.ScrapeTimeout |
|
|
|
|
} |
|
|
|
|
return Default_JobConfig_ScrapeTimeout |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (m *JobConfig) GetSdName() string { |
|
|
|
|
if m != nil && m.SdName != nil { |
|
|
|
|
return *m.SdName |
|
|
|
@ -205,15 +188,10 @@ func (m *JobConfig) GetMetricsPath() string {
|
|
|
|
|
return Default_JobConfig_MetricsPath |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The top-level Prometheus configuration.
|
|
|
|
|
type PrometheusConfig struct { |
|
|
|
|
// Global Prometheus configuration options. If omitted, an empty global
|
|
|
|
|
// configuration with default values (see GlobalConfig definition) will be
|
|
|
|
|
// created.
|
|
|
|
|
Global *GlobalConfig `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` |
|
|
|
|
// The list of jobs to scrape.
|
|
|
|
|
Job []*JobConfig `protobuf:"bytes,2,rep,name=job" json:"job,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
Global *GlobalConfig `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` |
|
|
|
|
Job []*JobConfig `protobuf:"bytes,2,rep,name=job" json:"job,omitempty"` |
|
|
|
|
XXX_unrecognized []byte `json:"-"` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (m *PrometheusConfig) Reset() { *m = PrometheusConfig{} } |
|
|
|
|