Skip to content
This repository has been archived by the owner on Oct 18, 2024. It is now read-only.

Latest commit

 

History

History
76 lines (59 loc) · 2.63 KB

README.md

File metadata and controls

76 lines (59 loc) · 2.63 KB

⚠️ This plugin is deprecated.

etcd no longer relies on a bespoke REST API to expose statistics and instead relies on a Prometheus endpoint.

Please use this documentation guide to scrape etcd metrics.

collectd etcd Plugin

An etcd collectd plugin which users can use to send metrics from etcd instances to SignalFx

Installation

  • Checkout this repository somewhere on your system accessible by collectd. The suggested location is /usr/share/collectd/
  • Install the Python requirements with sudo pip install -r requirements.txt
  • Configure the plugin (see below)
  • Restart collectd

Requirements

  • collectd 4.9 or later (for the Python plugin)
  • Python 2.7 or later
  • etcd 2.0.8 or later

Configuration

The following are required configuration keys:

  • Host - Required. Hostname or IP address of the etcd member, default is 'localhost'
  • Port - Required. The port of the etcd member, default is '2379'

Optional configurations keys include:

  • Interval - Interval between metric calls. Default is 10s
  • Cluster - The cluster to which the member belongs. By default, this is set to "default"
  • EnhancedMetrics - Flag to specify whether stats from the /metrics endpoint are needed. Default is False
  • IncludeMetric - Metrics from the /metrics endpoint can be included individually
  • ExcludeMetric - Metrics from the /metrics endpoint can be excluded individually
  • Dimension - Add extra dimensions to your metrics

Specify path to keyfile and certificate if certificate based authentication of clients is enabled on your etcd server

  • ssl_keyfile - path to file
  • ssl_certificate - path to file
  • ssl_cert_validation - if False, don't require SSL certificate validation (default True to validate certificates)

Provide a custom file that lists trusted CA certificates, required when keyfile and certificate are provided

  • ssl_ca_certs - path to file

Note that multiple etcd members can be configured in the same file.

LoadPlugin python
<Plugin python>
  ModulePath "/usr/share/collectd/collectd-etcd"

  Import etcd_plugin
  <Module etcd_plugin>
    Host "localhost"
    Port "22379"
    Cluster "dev"
    Interval 10
    EnhancedMetrics False
    IncludeMetric "etcd_debugging_mvcc_slow_watcher_total"
    IncludeMetric "etcd_debugging_store_reads_total"
    IncludeMetric "etcd_server_has_leader"
  </Module>
  <Module etcd_plugin>
    Host "localhost"
    Port "2379"
    Cluster "dev"
    Interval 10
    EnhancedMetrics True
    ExcludeMetric "etcd_debugging_mvcc_slow_watcher_total"
    ExcludeMetric "etcd_server_has_leader"
    Dimension foo bar
  </Module>
</Plugin>