Advertisement
Guest User

Untitled

a guest
Oct 11th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import json
  4. from pexpect import pxssh
  5. import argparse
  6.  
  7.  
  8. parser = argparse.ArgumentParser('Pull rabbitmq queues values.')
  9. parser.add_argument(
  10. "-u",
  11. "--username",
  12. help="SSH Username",
  13. required=True
  14. )
  15. parser.add_argument(
  16. "-p",
  17. "--password",
  18. help="SSH User Password",
  19. required=True
  20. )
  21. parser.add_argument(
  22. "--host",
  23. help="Host IP or FQDN",
  24. required=True
  25. )
  26.  
  27. args = parser.parse_args()
  28.  
  29. # setting up credentials:
  30. user = args.username
  31. host = args.host
  32. password = args.password
  33. data = {}
  34. results = {}
  35. results['values'] = {}
  36.  
  37. def parse_queues(queues_list):
  38. for line in queues_list:
  39. if 'zenoss.queues' in line:
  40. data[line.split()[0].replace('.', '_')] = int(line.split()[1])
  41. return data
  42.  
  43. def get_queues():
  44. try:
  45. s = pxssh.pxssh()
  46. s.login(host, user, password)
  47. s.sendline('rabbitmqctl list_queues -p /zenoss')
  48. s.prompt()
  49. if s.before:
  50. data = parse_queues(s.before.splitlines())
  51. results['values']['rabbit_queues'] = data
  52. results['events'] = [
  53. {
  54. "severity": 0,
  55. "summary": "succesful json parse!",
  56. "eventClass": "/Status",
  57. "eventKey": "rabbit_queues",
  58. "component": "rabbit_queues"
  59. }
  60. ]
  61. print json.dumps(results)
  62. except pxssh.ExceptionPxssh as e:
  63. results['events'] = [
  64. {
  65. "severity": 5,
  66. "summary": e,
  67. "eventClass": "/Status",
  68. "eventKey": "rabbit_queues",
  69. "component": "rabbit_queues"
  70. }
  71. ]
  72.  
  73. get_queues()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement