<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>v3.6 docs on etcd</title><link>https://etcd.io/docs/v3.6/</link><description>Recent content in v3.6 docs on etcd</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://etcd.io/docs/v3.6/index.xml" rel="self" type="application/rss+xml"/><item><title>Quickstart</title><link>https://etcd.io/docs/v3.6/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/quickstart/</guid><description>&lt;p&gt;Follow these instructions to locally install, run, and test a single-member
cluster of etcd:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install etcd from pre-built binaries or from source. For details, see
&lt;a href="../install/"&gt;Install&lt;/a&gt;.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: Ensure that you perform the last
step of the installation instructions to verify that &lt;code&gt;etcd&lt;/code&gt; is in your path.
&lt;/div&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;Launch &lt;code&gt;etcd&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902"&gt;$&lt;/span&gt; etcd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-17T09:19:32.783-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:72&amp;#34;,&amp;#34;msg&amp;#34;:... }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;⋮
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="alert alert-info" role="alert"&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The output produced by &lt;code&gt;etcd&lt;/code&gt; are
&lt;a href="../op-guide/configuration/#logging"&gt;logs&lt;/a&gt; — info-level logs can
be ignored. &lt;/div&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;From &lt;strong&gt;another terminal&lt;/strong&gt;, use &lt;code&gt;etcdctl&lt;/code&gt; to set a key:&lt;/p&gt;</description></item><item><title>Demo</title><link>https://etcd.io/docs/v3.6/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/demo/</guid><description>&lt;p&gt;This series of examples shows the basic procedures for working with an etcd cluster.&lt;/p&gt;
&lt;h2 id="auth"&gt;Auth&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; for authentication:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;export&lt;/span&gt; &lt;span style="color:#000"&gt;ETCDCTL_API&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; auth &lt;span style="color:#204a87"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# now all client requests go through auth&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; --user&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# permission denied, user name is empty because the request does not issue an authentication request&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; --user&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# user0 can read the key foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; --user&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Install</title><link>https://etcd.io/docs/v3.6/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/install/</guid><description>&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;Before installing etcd, see the following pages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://etcd.io/docs/v3.6/op-guide/supported-platform/"&gt;Supported platforms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/docs/v3.6/op-guide/hardware/"&gt;Hardware recommendations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-pre-built-binaries"&gt;Install pre-built binaries&lt;/h2&gt;
&lt;p&gt;The easiest way to install etcd is from pre-built binaries:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the compressed archive file for your platform from &lt;a href="https://github.com/etcd-io/etcd/releases/" target="_blank" rel="noopener"&gt;Releases&lt;/a&gt;,
choosing release &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.0" target="_blank" rel="noopener"&gt;v3.6.0&lt;/a&gt; or later.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unpack the archive file. This results in a directory containing the binaries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the executable binaries to your path. For example, rename and/or move
the binaries to a directory in your path (like &lt;code&gt;/usr/local/bin&lt;/code&gt;), or add the
directory created by the previous step to your path.&lt;/p&gt;</description></item><item><title>Feature Gates</title><link>https://etcd.io/docs/v3.6/feature-gates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/feature-gates/</guid><description>&lt;!-- overview --&gt;
&lt;p&gt;This page contains an overview of the various feature gates an administrator
can specify on etcd.&lt;/p&gt;
&lt;p&gt;See &lt;a href="#feature-stages"&gt;feature stages&lt;/a&gt; for an explanation of the stages for a feature.&lt;/p&gt;
&lt;!-- body --&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Feature gates are a set of key=value pairs that describe etcd features.
You can turn these features on or off using the &lt;code&gt;--feature-gates&lt;/code&gt; command line flag
on etcd.&lt;/p&gt;
&lt;p&gt;etcd lets you enable or disable a set of feature gates.
Use &lt;code&gt;-h&lt;/code&gt; flag to see a full set of feature gates.
To set feature gates, use the &lt;code&gt;--feature-gates&lt;/code&gt; flag assigned to a list of feature pairs in commandline:&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://etcd.io/docs/v3.6/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, general&lt;/h2&gt;
&lt;h3 id="what-is-etcd"&gt;What is etcd?&lt;/h3&gt;
&lt;p&gt;etcd is a consistent distributed key-value store. Mainly used as a separate coordination service, in distributed systems. And designed to hold small amounts of data that can fit entirely in memory.&lt;/p&gt;
&lt;h3 id="how-do-you-pronounce-etcd"&gt;How do you pronounce etcd?&lt;/h3&gt;
&lt;p&gt;etcd is pronounced &lt;strong&gt;/ˈɛtsiːdiː/&lt;/strong&gt;, and means &amp;ldquo;distributed &lt;code&gt;etc&lt;/code&gt; directory.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Do clients have to send requests to the etcd leader?&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf" target="_blank" rel="noopener"&gt;Raft&lt;/a&gt; is leader-based; the leader handles all client requests which need cluster consensus. However, the client does not need to know which node is the leader. Any request that requires consensus sent to a follower is automatically forwarded to the leader. Requests that do not require consensus (e.g., serialized reads) can be processed by any cluster member.&lt;/p&gt;</description></item><item><title>Libraries and tools</title><link>https://etcd.io/docs/v3.6/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/integrations/</guid><description>&lt;p&gt;Note that third-party libraries and tools (not hosted on &lt;a href="https://github.com/etcd-io" target="_blank" rel="noopener"&gt;etcd-io main repository&lt;/a&gt;) mentioned below are not tested or maintained by the etcd team. Before using them, users are recommended to read and investigate them.&lt;/p&gt;
&lt;h2 id="tools"&gt;Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl" target="_blank" rel="noopener"&gt;etcdctl&lt;/a&gt; - A command line client for etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump" target="_blank" rel="noopener"&gt;etcd-dump&lt;/a&gt; - Command line utility for dumping/restoring etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs" target="_blank" rel="noopener"&gt;etcd-fs&lt;/a&gt; - FUSE filesystem for etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir" target="_blank" rel="noopener"&gt;etcddir&lt;/a&gt; - Realtime sync etcd and local directory. Work with windows and linux.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser" target="_blank" rel="noopener"&gt;etcd-browser&lt;/a&gt; - A web-based key/value editor for etcd using AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock" target="_blank" rel="noopener"&gt;etcd-lock&lt;/a&gt; - Master election &amp;amp; distributed r/w lock implementation using etcd - Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console" target="_blank" rel="noopener"&gt;etcd-console&lt;/a&gt; - A web-base key/value editor for etcd using PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer" target="_blank" rel="noopener"&gt;etcd-viewer&lt;/a&gt; - An etcd key-value store editor/viewer written in Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool" target="_blank" rel="noopener"&gt;etcdtool&lt;/a&gt; - Export/Import/Edit etcd directory as JSON/YAML/TOML and Validate directory using JSON schema&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest" target="_blank" rel="noopener"&gt;etcdloadtest&lt;/a&gt; - A command line load test client for etcd version 3.0 and above.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/olamilekan000/etcd-tui" target="_blank" rel="noopener"&gt;etcd-tui&lt;/a&gt; - A modern terminal user interface (TUI) for interacting with your etcd database. Navigate keys, view values, filter data, and manage your etcd cluster directly from your terminal.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdfinder.github.io" target="_blank" rel="noopener"&gt;etcdfinder&lt;/a&gt; - A lightning-fast, modern web UI for etcd with instant search. Supports both etcd v2 and v3.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas" target="_blank" rel="noopener"&gt;lucas&lt;/a&gt; - A web-based key-value viewer for kubernetes etcd3.0+ cluster.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdmanager.io" target="_blank" rel="noopener"&gt;etcd-manager&lt;/a&gt; - A modern, efficient, multi-platform and free etcd 3.x GUI &amp;amp; client tool. Available for Windows, Linux and Mac.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore" target="_blank" rel="noopener"&gt;etcd-backup-restore&lt;/a&gt; - Utility to periodically and incrementally backup and restore the etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid" target="_blank" rel="noopener"&gt;etcd-druid&lt;/a&gt; - A Kubernetes operator to deploy etcd clusters and manage day-2 operations.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm" target="_blank" rel="noopener"&gt;etcdadm&lt;/a&gt; - A command-line tool for operating an etcd cluster.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ahrtr/etcd-defrag" target="_blank" rel="noopener"&gt;etcd-defrag&lt;/a&gt; - An easier to use and smarter etcd defragmentation tool.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper" target="_blank" rel="noopener"&gt;etcdhelper&lt;/a&gt; - An intellij platform plugin for etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tzfun/etcd-workbench" target="_blank" rel="noopener"&gt;etcd-workbench&lt;/a&gt; - A free and powerful ui client for etcd v3. Provides desktop application and web packages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Libraries&lt;/h2&gt;
&lt;p&gt;The sections below list etcd client libraries by language.&lt;/p&gt;</description></item><item><title>Metrics</title><link>https://etcd.io/docs/v3.6/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/metrics/</guid><description>&lt;p&gt;etcd uses &lt;a href="https://prometheus.io/" target="_blank" rel="noopener"&gt;Prometheus&lt;/a&gt; for metrics reporting. The metrics can be used for real-time monitoring and debugging. etcd does not persist its metrics; if a member restarts, the metrics will be reset.&lt;/p&gt;
&lt;p&gt;The simplest way to see the available metrics is to cURL the metrics endpoint &lt;code&gt;/metrics&lt;/code&gt;. The format is described &lt;a href="http://prometheus.io/docs/instrumenting/exposition_formats/" target="_blank" rel="noopener"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Follow the &lt;a href="https://prometheus.io/docs/introduction/getting_started/" target="_blank" rel="noopener"&gt;Prometheus getting started doc&lt;/a&gt; to spin up a Prometheus server to collect etcd metrics.&lt;/p&gt;
&lt;p&gt;The naming of metrics follows the suggested &lt;a href="https://prometheus.io/docs/practices/naming/" target="_blank" rel="noopener"&gt;Prometheus best practices&lt;/a&gt;. A metric name has an &lt;code&gt;etcd&lt;/code&gt; or &lt;code&gt;etcd_debugging&lt;/code&gt; prefix as its namespace and a subsystem prefix (for example &lt;code&gt;wal&lt;/code&gt; and &lt;code&gt;etcdserver&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Reporting bugs</title><link>https://etcd.io/docs/v3.6/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/reporting_bugs/</guid><description>&lt;p&gt;If any part of the etcd project has bugs or documentation mistakes, please let us know by &lt;a href="https://github.com/etcd-io/etcd/issues/new" target="_blank" rel="noopener"&gt;opening an issue&lt;/a&gt;. We treat bugs and mistakes very seriously and believe no issue is too small. Before creating a bug report, please check that an issue reporting the same problem does not already exist.&lt;/p&gt;
&lt;p&gt;To make the bug report accurate and easy to understand, please try to create bug reports that are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Specific. Include as much details as possible: which version, what environment, what configuration, etc. If the bug is related to running the etcd server, please attach the etcd log (the starting log with etcd configuration is especially important).&lt;/p&gt;</description></item><item><title>Tuning</title><link>https://etcd.io/docs/v3.6/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/tuning/</guid><description>&lt;p&gt;The default settings in etcd should work well for installations on a local network where the average network latency is low. However, when using etcd across multiple data centers or over networks with high latency, the heartbeat interval and election timeout settings may need tuning.&lt;/p&gt;
&lt;p&gt;The network isn&amp;rsquo;t the only source of latency. Each request and response may be impacted by slow disks on both the leader and follower. Each of these timeouts represents the total time from request to successful response from the other machine.&lt;/p&gt;</description></item><item><title>Discovery service protocol</title><link>https://etcd.io/docs/v3.6/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Discovery service protocol helps new etcd member to discover all other members in cluster bootstrap phase using a shared discovery token and endpoint list.&lt;/p&gt;
&lt;p&gt;Discovery service protocol is &lt;em&gt;only&lt;/em&gt; used in cluster bootstrap phase, and cannot be used for runtime reconfiguration or cluster monitoring.&lt;/p&gt;
&lt;p&gt;The protocol uses a new discovery token to bootstrap one &lt;em&gt;unique&lt;/em&gt; etcd cluster. Remember that one discovery token can represent only one etcd cluster. As long as discovery protocol on this token starts, even if it fails halfway, it must not be used to bootstrap another etcd cluster.&lt;/p&gt;</description></item><item><title>Logging conventions</title><link>https://etcd.io/docs/v3.6/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/dev-internal/logging/</guid><description>&lt;p&gt;etcd uses the &lt;a href="https://github.com/uber-go/zap" target="_blank" rel="noopener"&gt;zap&lt;/a&gt; library for logging application output categorized into &lt;em&gt;levels&lt;/em&gt;. A log message&amp;rsquo;s level is determined according to these conventions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DebugLevel logs are typically voluminous, and are usually disabled in production.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Examples:
&lt;ul&gt;
&lt;li&gt;Send a normal message to a remote peer&lt;/li&gt;
&lt;li&gt;Write a log entry to disk&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;InfoLevel is the default logging priority.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Examples:
&lt;ul&gt;
&lt;li&gt;Startup configuration&lt;/li&gt;
&lt;li&gt;Start to do snapshot&lt;/li&gt;
&lt;li&gt;Add a new node into the cluster&lt;/li&gt;
&lt;li&gt;Add a new user into auth subsystem&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WarnLevel logs are more important than Info, but don&amp;rsquo;t need individual human review.&lt;/p&gt;</description></item><item><title>Golang modules</title><link>https://etcd.io/docs/v3.6/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://etcd.io/docs/v3.6/dev-internal/modules/</guid><description>&lt;p&gt;The etcd project (since version 3.5) is organized into multiple
&lt;a href="https://golang.org/ref/mod" target="_blank" rel="noopener"&gt;golang modules&lt;/a&gt; hosted in a &lt;a href="https://golang.org/ref/mod#vcs-dir" target="_blank" rel="noopener"&gt;single repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="../img/modules.svg" alt="modules graph"&gt;&lt;/p&gt;
&lt;p&gt;There are following modules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; - contains API definitions
(like protos &amp;amp; proto-generated libraries) that defines communication protocol
between etcd clients and server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; - collection of utility packages used by etcd
without being specific to etcd itself. A package belongs here
only if it could possibly be moved out into its own repository in the future.
Please avoid adding here code that has a lot of dependencies on its own, as
they automatically becoming dependencies of the client library
(that we want to keep lightweight).&lt;/p&gt;</description></item></channel></rss>