From f6533272a5a61d13a4041d84c43adeffee926aef Mon Sep 17 00:00:00 2001 From: nicolargo Date: Thu, 27 Feb 2020 15:17:24 +0100 Subject: Feature request: Include hostname in all (e.g. kafka) exports #1594 --- conf/glances.conf | 4 ++++ docs/gw/influxdb.rst | 5 ++++- docs/gw/kafka.rst | 6 +++++- glances/exports/glances_kafka.py | 9 +++++++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/conf/glances.conf b/conf/glances.conf index 5a177068..9ffe1713 100644 --- a/conf/glances.conf +++ b/conf/glances.conf @@ -488,6 +488,10 @@ host=localhost port=9092 topic=glances #compression=gzip +# Tags will be added for all events +#tags=foo:bar,spam:eggs +# You can also use dynamic values +#tags=hostname:`hostname -f` [zeromq] # Configuration for the --export zeromq option diff --git a/docs/gw/influxdb.rst b/docs/gw/influxdb.rst index a14f75c8..43db9df9 100644 --- a/docs/gw/influxdb.rst +++ b/docs/gw/influxdb.rst @@ -16,7 +16,10 @@ following: user=root password=root db=glances - tags=foo:bar,spam:eggs + # Tags will be added for all measurements + #tags=foo:bar,spam:eggs + # You can also use dynamic values + #tags=system:`uname -s` and run Glances with: diff --git a/docs/gw/kafka.rst b/docs/gw/kafka.rst index 2bfe532a..6e3dedf3 100644 --- a/docs/gw/kafka.rst +++ b/docs/gw/kafka.rst @@ -14,6 +14,10 @@ following: port=9092 topic=glances #compression=gzip + # Tags will be added for all events + #tags=foo:bar,spam:eggs + # You can also use dynamic values + #tags=hostname:`hostname -f` Note: you can enable the compression but it consume CPU on your host. @@ -43,4 +47,4 @@ Python code example to consume Kafka Glances plugin: consumer = KafkaConsumer('glances', value_deserializer=json.loads) for s in consumer: - print s + print(s) diff --git a/glances/exports/glances_kafka.py b/glances/exports/glances_kafka.py index c328d7f6..88d13bf0 100644 --- a/glances/exports/glances_kafka.py +++ b/glances/exports/glances_kafka.py @@ -42,11 +42,14 @@ class Export(GlancesExport): # Optionals configuration keys self.compression = None + self.tags = None # Load the Kafka configuration file section self.export_enable = self.load_conf('kafka', - mandatories=['host', 'port', 'topic'], - options=['compression']) + mandatories=['host', 'port', + 'topic'], + options=['compression', + 'tags']) if not self.export_enable: sys.exit(2) @@ -79,6 +82,8 @@ class Export(GlancesExport): # Create DB input data = dict(zip(columns, points)) + if self.tags is not None: + data.update(self.parse_tags(self.tags)) # Send stats to the kafka topic # key= -- cgit v1.2.3