1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!/usr/bin/env python2
import pika
import json,argparse
from snmp_users import snmp_users
import logging
logging.basicConfig(level=logging.INFO)
log = logging.getLogger('snmp_exchange')
SNMP_EXCHANGE='snmp_src'
parser = argparse.ArgumentParser(description='generates dummy package on given exchange against AMQP')
parser.add_argument('--host',default='141.31.8.11', help='AMQP host ip address')
parser.add_argument('--port',type=int,default=5672, help='AMQP host port')
parser.add_argument('-u','--username',default='guest', help='AMQP username')
parser.add_argument('-p','--password',default='guest', help='AMQP password')
parser.add_argument('-r','--repeat',type=int,default=20, help='SNMP_Polling Delay')
args = parser.parse_args()
connection = pika.AsyncoreConnection(pika.ConnectionParameters(
credentials = pika.PlainCredentials(args.username,args.password),
host=args.host,port=args.port))
channel = connection.channel()
channel.exchange_declare(exchange=SNMP_EXCHANGE,
type='fanout')
log.info('Starting StatsForUser Module (mongodb)')
s = snmp_users()
print ' [*] Sending Messages in Intervals. To exit press CTRL+C'
while True:
log.info("collecting data from network")
ret = s.collect()
data = { 'type' : 'snmp', 'subtype' : 0, 'data' : ret}
log.debug("writing data to queue : %s" % data)
channel.basic_publish(exchange=SNMP_EXCHANGE,
routing_key='',
body=json.dumps(data))
|