Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import json
- from pexpect import pxssh
- import argparse
- parser = argparse.ArgumentParser('Pull rabbitmq queues values.')
- parser.add_argument(
- "-u",
- "--username",
- help="SSH Username",
- required=True
- )
- parser.add_argument(
- "-p",
- "--password",
- help="SSH User Password",
- required=True
- )
- parser.add_argument(
- "--host",
- help="Host IP or FQDN",
- required=True
- )
- args = parser.parse_args()
- # setting up credentials:
- user = args.username
- host = args.host
- password = args.password
- data = {}
- results = {}
- results['values'] = {}
- def parse_queues(queues_list):
- for line in queues_list:
- if 'zenoss.queues' in line:
- data[line.split()[0].replace('.', '_')] = int(line.split()[1])
- return data
- def get_queues():
- try:
- s = pxssh.pxssh()
- s.login(host, user, password)
- s.sendline('rabbitmqctl list_queues -p /zenoss')
- s.prompt()
- if s.before:
- data = parse_queues(s.before.splitlines())
- results['values']['rabbit_queues'] = data
- results['events'] = [
- {
- "severity": 0,
- "summary": "succesful json parse!",
- "eventClass": "/Status",
- "eventKey": "rabbit_queues",
- "component": "rabbit_queues"
- }
- ]
- print json.dumps(results)
- except pxssh.ExceptionPxssh as e:
- results['events'] = [
- {
- "severity": 5,
- "summary": e,
- "eventClass": "/Status",
- "eventKey": "rabbit_queues",
- "component": "rabbit_queues"
- }
- ]
- get_queues()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement