[
https://issues.apache.org/jira/browse/OODT-139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12994821#comment-12994821
]
Chris A. Mattmann edited comment on OODT-139 at 2/15/11 3:15 PM:
-----------------------------------------------------------------
I just wanted to provide some documentation on how to call the Health Monitor
service.
h2. JSON output format
All calls to the Health Monitor REST service provide the following JSON output:
{noformat}
{
"report": {
"crawlerStatus": {
"Crawler1": {
"crawlerName": "Crawler1",
"crawlerPort": "9020",
"status": "UP",
"url": "localhost"
}
},
"daemonStatus": {
"stubs": [
{
"daemon": "batch stub",
"status": "UP",
"url": "http://localhost:2001"
}
],
"fm": {
"daemon": "File Manager",
"status": "UP",
"url": "http://localhost:9000"
},
"rm": {
"daemon": "Resource Manager",
"status": "UP",
"url": "http://localhost:9002"
},
"wm": {
"daemon": "Workflow Manager",
"status": "UP",
"url": "http://localhost:9001"
}
},
"generated": "2011-02-15T06:57:07.591-0800",
"ingestHealth": [
{
"avgCrawlTime": 132.78640211640212,
"crawler": "Crawler1",
"numCrawls": 189
}
],
"jobHealth": [
{
"numJobs": 0,
"state": "QUEUED"
},
{
"numJobs": 0,
"state": "RSUBMIT"
},
{
"numJobs": 0,
"state": "BUILDING CONFIG FILE"
},
{
"numJobs": 0,
"state": "PGE EXEC"
},
{
"numJobs": 0,
"state": "CRAWLING"
},
{
"numJobs": 0,
"state": "STAGING INPUT"
},
{
"numJobs": 7,
"state": "FINISHED"
},
{
"numJobs": 0,
"state": "STARTED"
},
{
"numJobs": 0,
"state": "PAUSED"
}
],
"latestFiles": {
"files": [
{
"filepath": "/Users/mattmann/files/foo.bar/foo.bar",
"receivedTime": "2011-01-22T15:19:21.126-08:00"
},
{
"filepath": "/Users/mattmann/files/foo.bar/foo.bar",
"receivedTime": "2011-01-22T15:08:10.198-08:00"
},
{
"filepath": "/Users/mattmann/files/foo.bar/foo.bar",
"receivedTime": "2011-01-22T15:06:03.659-08:00"
},
{
"filepath": "/Users/mattmann/files/blah.txt/blah.txt",
"receivedTime": "2011-01-21T21:56:03.922-08:00"
}
],
"topN": 20
}
}
}
{noformat}
The below REST-ful service descriptions show how to slice out different parts
of the report. All reports at least have the *generatedTime* attribute, and
then some combination of *daemonStatus*, and/or *crawlerStatus*, and (if the
file manager is running) *latestFiles*, and if the workflow manager is running
*jobHealth*, and if the crawlers are running *ingestHealth*.
h2. Full Report
To see the full Health Monitor report, access:
{noformat}
http://host/pcs-services/services/health/report
{noformat}
h2. Just the Daemons
To see the Health Monitor report, focused on just the PCS daemons (including
batch stubs), access:
{noformat}
http://host/pcs-services/services/health/report/daemon
{noformat}
Note that daemons can be further "sliced out" by adding additional REST
parameters, e.g.:
h3. To see just the file manager status:
{noformat}
http://host/pcs-services/services/health/report/daemon/fm
{noformat}
h3. To see just the workflow manager status
{noformat}
http://host/pcs-services/services/health/report/daemon/wm
{noformat}
h3. To see just the resource manager status
{noformat}
http://host/pcs-services/services/health/report/daemon/rm
{noformat}
h3. To see just the batch stub status
{noformat}
http://host/pcs-services/services/health/report/daemon/stubs
{noformat}
was (Author: chrismattmann):
I just wanted to provide some documentation on how to call the Health
Monitor service.
h2. JSON output format
All calls to the Health Monitor REST service provide the following JSON output:
{noformat}
{
"report": {
"crawlerStatus": {
"Crawler1": {
"crawlerName": "Crawler1",
"crawlerPort": "9020",
"status": "UP",
"url": "localhost"
}
},
"daemonStatus": {
"batch stubs": [
{
"daemon": "batch stub",
"status": "UP",
"url": "http://localhost:2001"
}
],
"fm": {
"daemon": "File Manager",
"status": "UP",
"url": "http://localhost:9000"
},
"rm": {
"daemon": "Resource Manager",
"status": "UP",
"url": "http://localhost:9002"
},
"wm": {
"daemon": "Workflow Manager",
"status": "UP",
"url": "http://localhost:9001"
}
},
"generated": "2011-02-15T06:57:07.591-0800",
"ingestHealth": [
{
"avgCrawlTime": 132.78640211640212,
"crawler": "Crawler1",
"numCrawls": 189
}
],
"jobHealth": [
{
"numJobs": 0,
"state": "QUEUED"
},
{
"numJobs": 0,
"state": "RSUBMIT"
},
{
"numJobs": 0,
"state": "BUILDING CONFIG FILE"
},
{
"numJobs": 0,
"state": "PGE EXEC"
},
{
"numJobs": 0,
"state": "CRAWLING"
},
{
"numJobs": 0,
"state": "STAGING INPUT"
},
{
"numJobs": 7,
"state": "FINISHED"
},
{
"numJobs": 0,
"state": "STARTED"
},
{
"numJobs": 0,
"state": "PAUSED"
}
],
"latestFiles": {
"files": [
{
"filepath": "/Users/mattmann/files/foo.bar/foo.bar",
"receivedTime": "2011-01-22T15:19:21.126-08:00"
},
{
"filepath": "/Users/mattmann/files/foo.bar/foo.bar",
"receivedTime": "2011-01-22T15:08:10.198-08:00"
},
{
"filepath": "/Users/mattmann/files/foo.bar/foo.bar",
"receivedTime": "2011-01-22T15:06:03.659-08:00"
},
{
"filepath": "/Users/mattmann/files/blah.txt/blah.txt",
"receivedTime": "2011-01-21T21:56:03.922-08:00"
}
],
"topN": 20
}
}
}
{noformat}
The below REST-ful service descriptions show how to slice out different parts
of the report. All reports at least have the *generatedTime* attribute, and
then some combination of *daemonStatus*, and/or *crawlerStatus*, and (if the
file manager is running) *latestFiles*, and if the workflow manager is running
*jobHealth*, and if the crawlers are running *ingestHealth*.
h2. Full Report
To see the full Health Monitor report, access:
{noformat}
http://host/pcs-services/services/health/report
{noformat}
> PCS JAX-RS services
> -------------------
>
> Key: OODT-139
> URL: https://issues.apache.org/jira/browse/OODT-139
> Project: OODT
> Issue Type: New Feature
> Components: pcs
> Reporter: Chris A. Mattmann
> Assignee: Chris A. Mattmann
> Labels: jaxrs, jsr311, pcs
> Fix For: 0.3
>
> Attachments: OODT-139.Mattmann.021311.patch.txt,
> OODT-139.Mattmann.021411.2.patch.txt, OODT-139.Mattmann.021411.patch.txt
>
>
> Now that the PCS core is contributed, it would be great to not just have
> command line versions and APIs for tools like pcs_stat, pcstrace and pcs_ll.
> We should expose them over JAX-RS so that webapps can easily take advantage
> of PCS services.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira