mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 01:38:10 +00:00
Add a helper to generate legacy configuration
This moves the DefaultConfig method out into a helper to generate legacy configuration. Passing in a config file is now required.
This commit is contained in:
parent
ad1837e9b5
commit
40a9ee2474
9 changed files with 150 additions and 40 deletions
44
cmd/config-gen/main.go
Normal file
44
cmd/config-gen/main.go
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
yaml "gopkg.in/yaml.v2"
|
||||
|
||||
"github.com/directxman12/k8s-prometheus-adapter/cmd/config-gen/utils"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var labelPrefix string
|
||||
var rateInterval time.Duration
|
||||
|
||||
cmd := &cobra.Command{
|
||||
Short: "Generate a config matching the legacy discovery rules",
|
||||
Long: `Generate a config that produces the same functionality
|
||||
as the legacy discovery rules. This includes discovering metrics and associating
|
||||
resources according to the Kubernetes instrumention conventions and the cAdvisor
|
||||
conventions, and auto-converting cumulative metrics into rate metrics.`,
|
||||
RunE: func(c *cobra.Command, args []string) error {
|
||||
cfg := utils.DefaultConfig(rateInterval, labelPrefix)
|
||||
enc := yaml.NewEncoder(os.Stdout)
|
||||
if err := enc.Encode(cfg); err != nil {
|
||||
return err
|
||||
}
|
||||
return enc.Close()
|
||||
},
|
||||
}
|
||||
|
||||
cmd.Flags().StringVar(&labelPrefix, "label-prefix", "",
|
||||
"Prefix to expect on labels referring to pod resources. For example, if the prefix is "+
|
||||
"'kube_', any series with the 'kube_pod' label would be considered a pod metric")
|
||||
cmd.Flags().DurationVar(&rateInterval, "rate-interval", 5*time.Minute,
|
||||
"Period of time used to calculate rate metrics from cumulative metrics")
|
||||
|
||||
if err := cmd.Execute(); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Unable to generate config: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue