This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

    etcd

    etcdis a distributed key-value store that provides a reliable way to store data across a cluster of machines. If etcd is installed on your environment, the Sysdig agent will automatically connect. If you are using ectd older than version 2, you may need to edit the default entries to connect. See the Default Configuration section, below.

    The Sysdig Agent automatically collects all metrics.

    This page describes the default configuration settings, how to edit the configuration to collect additional information, the metrics available for integration, and a sample result in the Sysdig Monitor UI.

    etcd Versions

    etcd v2

    The app check functionality described on this page supports etcd metrics from APIs that are specific to v2 of etcd.

    These APIs are present in etcd v3 as well, but export metrics only for the v2 datastores. For example, after upgrading from etcd v2 to v3, if the v2 datastores are not migrated to v3, the v2 APIs will continue exporting metrics for these datastores. If the v2 datastores are migrated to v3, the v2 APIs will no longer export metrics for these datastores.

    etcd v3

    etcd v3 uses a native Prometheus exporter. The exporter only exports metrics for v3 datastores. For example, after upgrading from etcd v2 to v3, if v2 datastores are not migrated to v3, the Prometheus endpoint will not export metrics for these datastores. The Prometheus endpoint will only export metrics for datastores migrated to v3 or datastores created after the upgrade to v3.

    If your etcd version is v3 or higher, use the information on this page to enable an integration: Integrate Prometheus Metrics.

    etcd Setup

    etcd will automatically expose all metrics. You do not need to add anything to the etcd instance.

    Sysdig Agent Configuration

    Review how to Edit dragent.yaml to Integrate or Modify Application Checks.

    The default agent configuration for etcd will look for the application on localhost, port 2379. No customization is required.

    Default Configuration

    By default, Sysdig’s dragent.default.yaml uses the following code to connect with etcd and collect all metrics.

    app_checks:
      - name: etcd
        pattern:
          comm: etcd
        conf:
          url: "http://localhost:2379"
    

    etcd (before version 2) does not listen on localhost, so the Sysdig agent will not connect to it automatically. In such case, you may need edit the dragent.yaml file with the hostname and port. See Example 1.

    Alternatively, you can add the option -bind-addr 0.0.0.0:4001 to the etcd command line to allow the agent to connect.

    Remember! Never edit dragent.default.yaml directly; always edit only dragent.yaml.

    Example 1

    You can use {hostname} and {port} as a tokens in the conf: section. This is the recommended setting for Kubernetes customers.

    app_checks:
      - name: etcd
        pattern:
          comm: etcd
        conf:
          url: "http://{hostname}:{port}"
    

    Alternatively you can specify the real hostname and port.

    app_checks:
      - name: etcd
        pattern:
          comm: etcd
        conf:
          url: "http://my_hostname:4000"  #etcd service listening on port 4000
    

    Example 2: SSL/TLS Certificate

    If encryption is used, add the appropriate SSL/TLS entries. Provide correct path of SSL/TLS key and certificates used in etcd configuration in fields ssl_keyfile, ssl_certfile, ssl_ca_certs.

    app_checks:
      - name: etcd
        pattern:
          comm: etcd
        conf:
          url: "https://localhost:PORT"
          ssl_keyfile:  /etc/etcd/peer.key  # Path to key file
          ssl_certfile: /etc/etcd/peer.crt  # Path to SSL certificate
          ssl_ca_certs: /etc/etcd/ca.crt    # Path to CA certificate
          ssl_cert_validation: True
    

    Metrics Available

    See etcd Metrics.

    Result in the Monitor UI