summaryrefslogtreecommitdiffstats
path: root/glances/exports/glances_kafka.py
diff options
context:
space:
mode:
Diffstat (limited to 'glances/exports/glances_kafka.py')
-rw-r--r--glances/exports/glances_kafka.py13
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))