[pve-devel] [PATCH manager] status: influxdb: always quote tags

Dominik Csapak d.csapak at proxmox.com
Wed Nov 27 12:18:21 CET 2024


Since tags are mostly free-form, a single tag with a numeric value will
get sent to influxdb as a number by default. Change that to always quote
the tags as a string, like we do for the 'name' field. (InfluxDB can
only have one type per field, so either a string or a number type).

This won't fix influxdb databases after there are already numeric values
in there, but I guess most tags won't be purely numeric, so this won't
be an issue for most users, and fixes the reverse case where purely
numeric tags won't show up in influxdb.

reported in the community forum:
https://forum.proxmox.com/threads/138004/#post-724127

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 PVE/Status/InfluxDB.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/PVE/Status/InfluxDB.pm b/PVE/Status/InfluxDB.pm
index 95c1d559..13a96711 100644
--- a/PVE/Status/InfluxDB.pm
+++ b/PVE/Status/InfluxDB.pm
@@ -276,8 +276,8 @@ sub test_connection {
 sub build_influxdb_payload {
     my ($class, $txn, $data, $ctime, $tags, $excluded, $measurement, $instance) = @_;
 
-    # 'abc' and '123' are both valid hostnames, that confuses influx's type detection
-    my $to_quote = { name => 1 };
+    # 'abc' and '123' are both valid hostnames/tags, that confuses influx's type detection
+    my $to_quote = { name => 1, tags => 1, };
 
     my @values = ();
 
-- 
2.39.5





More information about the pve-devel mailing list