@@ -176,6 +176,13 @@ For operators that prefer to see descriptive or friendly interface names the
176
176
following play can be run. This takes network names as defined in kayobe and
177
177
relabels the devices/interfaces in Prometheus to make use of these names.
178
178
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:
179
186
180
187
.. code-block :: console
181
188
@@ -185,22 +192,44 @@ relabels the devices/interfaces in Prometheus to make use of these names.
185
192
This first generates a template based on the prometheus.yml.j2
186
193
``etc/kayobe/ansible/ `` and which is further templated for use with
187
194
kolla-ansible.
195
+ This is then rolled out via service reconfigure.
188
196
189
197
190
198
This 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
193
201
interface/device names. This play causes Prometheus to relabel these fields to
194
202
human readable names based on the networks as defined in kayobe
195
203
e.g. bond1.1838 may become storage_network.
196
204
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