#!/usr/bin/env python import os, sys, time from kombu import Connection from kombu.pools import producers # Configurations host = "10.206.11.41" port = 5672 user = "guest" password = "guest" vhost = "canopsis" exchange = "canopsis.events" if len(sys.argv) != 14: print "Vous n'avez que", len(sys.argv)-1, " arguments, or il en faut 13 : (connector) (connector_name) (event_type) (source_type) (component) (resource) (state) (output) (display_name) (metric) (perf_data_value) (metric unit) (metric type)" #for arg in sys.argv[1:]: #print arg # Afficher les arguments sys.exit() else: perfdata_array = [{'metric': sys.argv[10], 'value':sys.argv[11], 'unit': sys.argv[12], 'min': None, 'max': None, 'warn': None, 'crit': None, 'type': sys.argv[13]}] event = { "timestamp": int(time.time()), "connector": sys.argv[1], "connector_name": sys.argv[2], "event_type": sys.argv[3], "source_type": sys.argv[4], "component": sys.argv[5], "resource": sys.argv[6], "state": sys.argv[7], "state_type": 1, "output": sys.argv[8], "display_name": sys.argv[9], "perf_data_array": perfdata_array } routing_key = "%s.%s.%s.%s.%s" % (event['connector'], event['connector_name'], event['event_type'], event['source_type'], event['component']) if event['source_type'] == "resource": routing_key += ".%s" % event['resource'] routing_key += ".%s" % event['perf_data_array'] if event['source_type'] == "perfdata": routing_key += ".%s" % event['resource'] routing_key += ".%s" % event['perf_data_array'] # Connection with Connection(hostname=host, userid=user, virtual_host=vhost) as conn: # Get one producer with producers[conn].acquire(block=True) as producer: # Publish producer.publish( event, serializer='json', exchange=exchange, routing_key=routing_key)