@@ -176,6 +176,13 @@ For operators that prefer to see descriptive or friendly interface names the
176176following play can be run. This takes network names as defined in kayobe and
177177relabels the devices/interfaces in Prometheus to make use of these names.
178178
179+ **Check considerations and known limitations to see if this is suitable in any
180+ given environment before applying. **
181+
182+ This reuses existing fields to provide good compatibility with existing
183+ dashboards and alerts.
184+
185+ To enable the change:
179186
180187.. code-block :: console
181188
@@ -185,22 +192,44 @@ relabels the devices/interfaces in Prometheus to make use of these names.
185192 This first generates a template based on the prometheus.yml.j2
186193``etc/kayobe/ansible/ `` and which is further templated for use with
187194kolla-ansible.
195+ This is then rolled out via service reconfigure.
188196
189197
190198This helps Prometheus provide insights that can be more easily understood by
191- those without an intimate understanding of a given site. Prometheus Node Exporter
192- and cAdvisor both provide network statistics using the
199+ those without an intimate understanding of a given site. Prometheus Node
200+ Exporter and cAdvisor both provide network statistics using the
193201interface/device names. This play causes Prometheus to relabel these fields to
194202 human readable names based on the networks as defined in kayobe
195203 e.g. bond1.1838 may become storage_network.
196204
197- The default labels are preserved with the prefix ``original_ ``.
198- For node_exporter, ``device `` is then used for network names, while
199- ``original_device `` is used for the interface itself.
200- For cAdvisor, ``interface `` is used for network names, and ``original_interface ``
201- is used to preserve the interface name.
202-
203- **Known-Limitations/Untested **
204- The current implementation does not cover known edge cases:
205- * Reusing the same network devices under a different network name.
206-
205+ The default labels are preserved with the prefix ``original_ ``.
206+
207+ * For node_exporter, ``device `` is then used for network names, while
208+ ``original_device `` is used for the interface itself.
209+ * For cAdvisor, ``interface `` is used for network names, and
210+ ``original_interface `` is used to preserve the interface name.
211+
212+ :Known-Limitations/Considerations/Requirements:
213+
214+ Before enabling this feature, the implications must be discussed with the
215+ customer. The following are key considerations for that conversation:
216+
217+ * Only network names defined within kayobe are within scope.
218+ * Tenant network interfaces, including SR-IOV are not considered or modified.
219+ * In the case of bonded interfaces, only the bond itself is relablled.
220+ The bond members are displayed with their standard naming.
221+ * Modified entries will be within existing labels. This may be breaking for
222+ anything that expects the original structure, including custom dashboards,
223+ alerting, billing, etc.
224+ * After applying, there will be inconsistency in the time-series db for the
225+ duration of the retention period i.e until previously ingested entries
226+ expire.
227+ The metrics gathered prior to applying these modifications will be unaltered,
228+ with all new metrics using the new structure.
229+ * The interface names and their purpose must be consistent and unique within
230+ the environment. i.e if eth0 is defined as admin_interface on one node, no
231+ other node can include a different network definition using eth0.
232+ This does not apply in the case when both devices are bond members.
233+ e.g. bond0 on a controller has eth0 and eth1 as members. bond1 on a compute
234+ uses eth0 and eth1 as members. This is not problematic as it is only
235+ the bond itself that is relabelled.
0 commit comments