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
|
public
void
doGet(HttpServletRequest request, HttpServletResponse response) {
try
{
// Do the authorization
if
(!HttpServer.hasAdministratorAccess(getServletContext(), request,
response)) {
return
;
}
response.setContentType(
"application/json; charset=utf8"
);
PrintWriter writer = response.getWriter();
JsonFactory jsonFactory =
new
JsonFactory();
JsonGenerator jg = jsonFactory.createJsonGenerator(writer);
jg.useDefaultPrettyPrinter();
jg.writeStartObject();
if
(mBeanServer ==
null
) {
jg.writeStringField(
"result"
,
"ERROR"
);
jg.writeStringField(
"message"
,
"No MBeanServer could be found"
);
jg.close();
return
;
}
String qry = request.getParameter(
"qry"
);
if
(qry ==
null
) {
qry =
"*:*"
;
}
listBeans(jg,
new
ObjectName(qry));
jg.close();
}
catch
(IOException e) {
LOG.error(
"Caught an exception while processing JMX request"
, e);
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
catch
(MalformedObjectNameException e) {
LOG.error(
"Caught an exception while processing JMX request"
, e);
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
}
}
|
1
2
3
4
5
6
7
|
class
EasyHadoopHandler:
def
GetJmx(
self
,host,port,qry):
url
=
'http://'
+
host
+
':'
+
port
+
'/jmx?qry='
+
qry
jmx
=
urllib.urlopen(url)
json
=
jmx.read().replace(
'\n'
,'')
jmx.close()
return
json
|