mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-09 23:24:05 -08:00
Add Marathon-SD metrics. (#2106)
This commit is contained in:
parent
296644adeb
commit
f002fe186a
|
@ -24,6 +24,7 @@ import (
|
|||
|
||||
"golang.org/x/net/context"
|
||||
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/prometheus/common/log"
|
||||
"github.com/prometheus/common/model"
|
||||
"github.com/prometheus/prometheus/config"
|
||||
|
@ -41,8 +42,31 @@ const (
|
|||
imageLabel model.LabelName = metaLabelPrefix + "image"
|
||||
// taskLabel contains the mesos task name of the app instance.
|
||||
taskLabel model.LabelName = metaLabelPrefix + "task"
|
||||
|
||||
// Constants for instrumentation.
|
||||
namespace = "prometheus"
|
||||
)
|
||||
|
||||
var (
|
||||
scrapeFailuresCount = prometheus.NewCounter(
|
||||
prometheus.CounterOpts{
|
||||
Namespace: namespace,
|
||||
Name: "sd_marathon_scrape_failures_total",
|
||||
Help: "The number of Marathon-SD scrape failures.",
|
||||
})
|
||||
scrapeDuration = prometheus.NewSummary(
|
||||
prometheus.SummaryOpts{
|
||||
Namespace: namespace,
|
||||
Name: "sd_marathon_scrape_duration_seconds",
|
||||
Help: "The duration of a Marathon-SD scrape in seconds.",
|
||||
})
|
||||
)
|
||||
|
||||
func init() {
|
||||
prometheus.MustRegister(scrapeFailuresCount)
|
||||
prometheus.MustRegister(scrapeDuration)
|
||||
}
|
||||
|
||||
const appListPath string = "/v2/apps/?embed=apps.tasks"
|
||||
|
||||
// Discovery provides service discovery based on a Marathon instance.
|
||||
|
@ -70,7 +94,15 @@ func (md *Discovery) Run(ctx context.Context, ch chan<- []*config.TargetGroup) {
|
|||
}
|
||||
}
|
||||
|
||||
func (md *Discovery) updateServices(ctx context.Context, ch chan<- []*config.TargetGroup) error {
|
||||
func (md *Discovery) updateServices(ctx context.Context, ch chan<- []*config.TargetGroup) (err error) {
|
||||
t0 := time.Now()
|
||||
defer func() {
|
||||
scrapeDuration.Observe(time.Since(t0).Seconds())
|
||||
if err != nil {
|
||||
scrapeFailuresCount.Inc()
|
||||
}
|
||||
}()
|
||||
|
||||
targetMap, err := md.fetchTargetGroups()
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in a new issue