class Kafka(PluginBase): def __init__(self): self.pluginName = "KafkaProducer" super(Kafka,self).__init__() #TODO: move kafka client config to config.ini #print(dir(kafkaproducer)) self.myKafka = KafkaClient("192.168.100.91", 9092) #self.producer = SimpleProducer(self.myKafka, "netflow", async=True) def run(self,inputObject): r = self._fmt(inputObject) self.myKafka.send_messages_simple("netflow",r) def _fmt(self,inputObject): r = {key:getattr(inputObject,key) for key in Settings.SETTINGS.getlist(Settings.SETTINGS.get("output","fieldNames"))} self.logger.debug("Sending: %s"%(json.dumps(r))) return json.dumps(r)
from kafka.client import KafkaClient if __name__ == "__main__": kafka = KafkaClient("kafka01", 9092) for i in range(100000): kafka.send_messages_simple("test", "some message {0}".format(i)) kafka.close()