Documentation ¶
Overview ¶
Package elasticsearch_exporter instantiates the exporter from github.com/justwatchcom/elasticsearch_exporter - replaced for github.com/prometheus-community/elasticsearch_exporter Using the YAML config provided by the agent
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultConfig = Config{ Address: "http://localhost:9200", Timeout: 5 * time.Second, Node: "_local", ExportClusterInfoInterval: 5 * time.Minute, IncludeAliases: true, }
DefaultConfig holds the default settings for the elasticsearch_exporter integration.
Functions ¶
func New ¶
func New(logger log.Logger, c *Config) (integrations.Integration, error)
New creates a new elasticsearch_exporter This function replicates the main() function of github.com/justwatchcom/elasticsearch_exporter but uses yaml configuration instead of kingpin flags.
Types ¶
type BasicAuthHTTPTransport ¶
Custom http.Transport struct for Basic Auth-secured communication with ES cluster
type Config ¶
type Config struct { // HTTP API address of an Elasticsearch node. Address string `yaml:"address,omitempty"` // Timeout for trying to get stats from Elasticsearch. Timeout time.Duration `yaml:"timeout,omitempty"` // Export stats for all nodes in the cluster. If used, this flag will override the flag es.node. AllNodes bool `yaml:"all,omitempty"` // Node's name of which metrics should be exposed. Node string `yaml:"node,omitempty"` // Export stats for indices in the cluster. ExportIndices bool `yaml:"indices,omitempty"` // Export stats for settings of all indices of the cluster. ExportIndicesSettings bool `yaml:"indices_settings,omitempty"` // Export stats for cluster settings. ExportClusterSettings bool `yaml:"cluster_settings,omitempty"` // Export stats for shards in the cluster (implies indices). ExportShards bool `yaml:"shards,omitempty"` // Include informational aliases metrics IncludeAliases bool `yaml:"aliases,omitempty"` // Export stats for the cluster snapshots. ExportSnapshots bool `yaml:"snapshots,omitempty"` // Cluster info update interval for the cluster label. ExportClusterInfoInterval time.Duration `yaml:"clusterinfo_interval,omitempty"` // Path to PEM file that contains trusted Certificate Authorities for the Elasticsearch connection. CA string `yaml:"ca,omitempty"` // Path to PEM file that contains the private key for client auth when connecting to Elasticsearch. ClientPrivateKey string `yaml:"client_private_key,omitempty"` // Path to PEM file that contains the corresponding cert for the private key to connect to Elasticsearch. ClientCert string `yaml:"client_cert,omitempty"` // Skip SSL verification when connecting to Elasticsearch. InsecureSkipVerify bool `yaml:"ssl_skip_verify,omitempty"` // Export stats for Data Streams ExportDataStreams bool `yaml:"data_stream,omitempty"` // Export stats for Snapshot Lifecycle Management ExportSLM bool `yaml:"slm,omitempty"` // BasicAuth block allows secure connection with Elasticsearch cluster via Basic-Auth BasicAuth *promCfg.BasicAuth `yaml:"basic_auth,omitempty"` }
Config controls the elasticsearch_exporter integration.
func (*Config) InstanceKey ¶
InstanceKey returns the hostname:port of the elasticsearch node being queried.
func (*Config) NewIntegration ¶
func (c *Config) NewIntegration(logger log.Logger) (integrations.Integration, error)
NewIntegration creates a new elasticsearch_exporter
func (*Config) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler for Config