Guest User

Untitled

a guest
Oct 27th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include "common/mysql_helper.js"
  2. #include "common/helpers.js"
  3. #include "cmon/alarms.h"
  4.  
  5.  
  6. query="SELECT user, host FROM mysql.user WHERE user <> 'cmon' ORDER BY user";
  7.  
  8. /*
  9. * get a list of mysql user and hosts
  10.  
  11. */
  12. function main(hostAndPort)
  13. {
  14. var hosts = cluster::mySqlNodes();
  15. var result = {};
  16. var k = 0;
  17. var port = '';
  18. result["dbusers"] = [];
  19.  
  20. for (idx = 0; idx < hosts.size(); ++idx)
  21. {
  22. host = hosts[idx];
  23. map = host.toMap();
  24. if(!hostMatchesFilter(host,hostAndPort))
  25. continue;
  26. connected = map["connected"];
  27. if (!connected)
  28. continue;
  29. isGalera = map["isgalera"];
  30.  
  31. if (isGalera)
  32. {
  33. localState = map["galera"]["localstatusstr"];
  34. if (localState != "Synced")
  35. continue;
  36. }
  37. else
  38. {
  39. isReadOnly = map["readonly"].toBoolean();
  40. if (hosts.size()>1 && !isReadOnly.toBoolean())
  41. {
  42. continue;
  43. }
  44. }
  45. ret = getValueMap(host, query);
  46. port = host.port();
  47.  
  48. //result["dbusers"][idx] = {};
  49. //result["dbusers"][idx]["host"]={};
  50. //result["dbusers"][idx]["host"]["hostname"] = host.hostName();
  51. //result["dbusers"][idx]["host"]["port"] = host.port();
  52.  
  53.  
  54.  
  55. if (ret != false && ret.size() > 0)
  56. {
  57. for (i=0; i<ret.size(); ++i)
  58. {
  59. user = ret[i][0];
  60. host = ret[i][1];
  61. password = ret[i][2];
  62.  
  63. result["dbusers"][k] = {};
  64. result["dbusers"][k]["hostname"] = host;
  65. result["dbusers"][k]["port"] = port;
  66. result["dbusers"][k]["user"] = user;
  67. result["dbusers"][k]["password"] = password;
  68.  
  69. k++;
  70. }
  71. }
  72. break;
  73. }
  74. print(result);
  75. exit(result);
  76. }
Add Comment
Please, Sign In to add comment