You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by "Chris A. Mattmann (JIRA)" <ji...@apache.org> on 2011/02/15 16:01:00 UTC

[jira] Issue Comment Edited: (OODT-139) PCS JAX-RS services

    [ 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:00 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": {
            "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}

      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}

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