3
3
from kafka .client import KafkaClient
4
4
from kafka .producer import SimpleProducer
5
5
6
- COLLECTD_PYTHON_CONF = '/etc/collectd /collectd2kafka.py.conf'
6
+ COLLECTD_PYTHON_CONF = '/home/igor/code/collectd2kafka /collectd2kafka.py.conf'
7
7
8
8
def parse_types_file (path ):
9
9
f = open (path , 'r' )
@@ -37,46 +37,42 @@ def parse_types_file(path):
37
37
38
38
def get_config ():
39
39
config = conf_p .ConfigParser ()
40
- config .read (CONFIG_FILE )
40
+ config .read (COLLECTD_PYTHON_CONF )
41
41
global KAFKA_BROKERS
42
42
global TOPIC
43
43
global TYPES
44
44
KAFKA_BROKERS = []
45
45
TYPES = {}
46
- for x in config .get ('collectd2kafka' , 'Brokers' )
47
- KAFKA_BROKERS .append (x )
46
+ KAFKA_BROKERS .append (config .get ('collectd2kafka' , 'Brokers' ))
48
47
TOPIC = config .get ('collectd2kafka' , 'Topic' )
49
48
TYPES .update (parse_types_file (config .get ('collectd2kafka' , 'TypesDB' )))
50
49
51
- def config_callback (conf ):
52
- global KAFKA_BROKERS
53
- global TOPIC
54
- global TYPES
55
- KAFKA_BROKERS = []
56
- TYPES = {}
57
-
58
-
59
- for node in conf .children :
60
- if node .key == 'Brokers' :
61
- for x in node .values :
62
- print x
63
- KAFKA_BROKERS .append (x )
64
- elif node .key == 'Topic' :
65
- TOPIC = node .values [0 ]
66
- elif node .key == 'TypesDB' :
67
- for x in node .values :
68
- TYPES .update (parse_types_file (x ))
69
-
50
+ #def config_callback(conf):
51
+ # global KAFKA_BROKERS
52
+ # global TOPIC
53
+ # global TYPES
54
+ # KAFKA_BROKERS = []
55
+ # TYPES = {}
56
+ # for node in conf.children:
57
+ # if node.key == 'Brokers':
58
+ # for x in node.values:
59
+ # print x
60
+ # KAFKA_BROKERS.append(x)
61
+ # elif node.key == 'Topic':
62
+ # TOPIC = node.values[0]
63
+ # elif node.key == 'TypesDB':
64
+ # for x in node.values:
65
+ # TYPES.update(parse_types_file(x))
70
66
71
67
def write_callback (v , data = None ):
72
68
if v .type not in TYPES :
73
- collectd .warning ('collectd2kafka: cannot handle type %s. check types.db file? ' % v .type )
69
+ collectd .warning ('collectd2kafka: cannot handle type %s. check types.db file' % v .type )
74
70
return
75
71
76
72
v_type = TYPES [v .type ]
77
73
78
74
if len (v_type ) != len (v .values ):
79
- collectd .warning ('collectd2kafka: more values than type %s' % v .type )
75
+ collectd .warning ('collectd2kafka: more values than types %s' % v .type )
80
76
return
81
77
82
78
@@ -99,12 +95,10 @@ def write_callback(v, data=None):
99
95
metric ['values' ].append (value )
100
96
101
97
producer .send_messages (TOPIC , json .dumps (metric ))
102
- print "!!!!!!!!!!!!!!!!!!!"
103
- print str (KAFKA_BROKERS )
104
- print "!!!!!!!!!!!!!!!!!!!"
105
98
106
- get_config ();
107
- #collectd.register_config(config_callback);
108
- collectd .register_write ( write_callback );
99
+ get_config ()
100
+ print KAFKA_BROKERS
101
+ # collectd.register_config(config_callback)
109
102
kafka = KafkaClient (KAFKA_BROKERS )
110
103
producer = SimpleProducer (kafka )
104
+ collectd .register_write (write_callback )
0 commit comments