diff options
author | Bartlomiej Cieszkowski <bartlomiej.cieszkowski@gmail.com> | 2020-03-05 22:49:47 +0100 |
---|---|---|
committer | Bartlomiej Cieszkowski <bartlomiej.cieszkowski@gmail.com> | 2020-03-05 22:49:47 +0100 |
commit | 5d5973abecd7e9db9a2b966e2f9b5c74e63bdf85 (patch) | |
tree | 274a59b179c0c5824e477a801dd7b3f4371b5fd4 /glances/exports/glances_kafka.py | |
parent | f9c13723c8968d38839c597d4367c87b6082736d (diff) | |
parent | 547062750b28a9f03700d956535eb38a55571281 (diff) |
Merge branch 'develop' into timezone_too_long
# Conflicts:
# glances/plugins/glances_now.py
Diffstat (limited to 'glances/exports/glances_kafka.py')
-rw-r--r-- | glances/exports/glances_kafka.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/glances/exports/glances_kafka.py b/glances/exports/glances_kafka.py index c328d7f6..f5a6127e 100644 --- a/glances/exports/glances_kafka.py +++ b/glances/exports/glances_kafka.py @@ -27,6 +27,7 @@ from glances.exports.glances_export import GlancesExport from kafka import KafkaProducer import json +import codecs class Export(GlancesExport): @@ -42,11 +43,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,13 +83,16 @@ 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=<plugin name> # value=JSON dict try: self.client.send(self.topic, - key=name, + # Kafka key name needs to be bytes #1593 + key=name.encode('utf-8'), value=data) except Exception as e: logger.error("Cannot export {} stats to Kafka ({})".format(name, e)) |