consul

package
v1.61.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2021 License: Apache-2.0 Imports: 16 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SDCheckInterval = flag.Duration("promscrape.consulSDCheckInterval", 30*time.Second, "Interval for checking for changes in Consul. "+
	"This works only if consul_sd_configs is configured in '-promscrape.config' file. "+
	"See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config for details")

SDCheckInterval is check interval for Consul service discovery.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	Config AgentConfig
}

Agent is Consul agent.

See https://www.consul.io/api/agent.html#read-configuration

type AgentConfig

type AgentConfig struct {
	Datacenter string
}

AgentConfig is Consul agent config.

See https://www.consul.io/api/agent.html#read-configuration

type Check

type Check struct {
	CheckID string
	Status  string
}

Check is Consul check.

See https://www.consul.io/api/health.html#list-nodes-for-service

type Node

type Node struct {
	Address         string
	Datacenter      string
	Node            string
	Meta            map[string]string
	TaggedAddresses map[string]string
}

Node is Consul node.

See https://www.consul.io/api/health.html#list-nodes-for-service

type SDConfig

type SDConfig struct {
	Server            string                     `yaml:"server,omitempty"`
	Token             *string                    `yaml:"token"`
	Datacenter        string                     `yaml:"datacenter"`
	Scheme            string                     `yaml:"scheme,omitempty"`
	Username          string                     `yaml:"username"`
	Password          string                     `yaml:"password"`
	ProxyURL          proxy.URL                  `yaml:"proxy_url,omitempty"`
	ProxyClientConfig promauth.ProxyClientConfig `yaml:",inline"`
	TLSConfig         *promauth.TLSConfig        `yaml:"tls_config,omitempty"`
	Services          []string                   `yaml:"services,omitempty"`
	Tags              []string                   `yaml:"tags,omitempty"`
	NodeMeta          map[string]string          `yaml:"node_meta,omitempty"`
	TagSeparator      *string                    `yaml:"tag_separator,omitempty"`
	AllowStale        bool                       `yaml:"allow_stale,omitempty"`
}

SDConfig represents service discovery config for Consul.

See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config

func (*SDConfig) GetLabels added in v1.55.0

func (sdc *SDConfig) GetLabels(baseDir string) ([]map[string]string, error)

GetLabels returns Consul labels according to sdc.

func (*SDConfig) MustStop added in v1.55.0

func (sdc *SDConfig) MustStop()

MustStop stops further usage for sdc.

type Service

type Service struct {
	ID      string
	Service string
	Address string
	Port    int
	Tags    []string
	Meta    map[string]string
}

Service is Consul service.

See https://www.consul.io/api/health.html#list-nodes-for-service

type ServiceNode

type ServiceNode struct {
	Service Service
	Node    Node
	Checks  []Check
}

ServiceNode is Consul service node.

See https://www.consul.io/api/health.html#list-nodes-for-service

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL