Chukwa HICC provides REST interfaces for dashboard rendering. The primary resources are:
The resources and the entities that are passed to them are defined using JAXB and are represented in either XML or JSON formats depending on the ContentType and Accept HTTP headers. The definition of the types is given in the JavaDoc.
The typical usage are:
PUT | preview() |
Preview a banner tile
Content-Type: application/json | |
Status: 200 | Content-Type: text/html |
Preview a bannerExample
|
PUT | previewSeries() |
Preview a series JSON for banner tile
Content-Type: */* | |
Example for */* is available in REST API. |
Status: 200 | Content-Type: application/json |
Preview a banner seriesExample
|
POST | create() |
Content-Type: application/json | |
Content-Type: */* | |
Example for */* is available in REST API. |
GET | load() |
Load a dashboard view
id | string | is dashboard unique identifier |
Status: 200 | Content-Type: application/json |
Display dashboard JSON structureExample
|
PUT | save() |
Save a dashboard view
id | string | is dashboard unique identifier |
Content-Type: application/json | |
Example
|
Status: 200 | Content-Type: text/plain |
Display save status code |
GET | whoami() |
Return HTTP request connection user name
Status: 200 | Content-Type: text/plain |
UsernameExample
|
GET | quicklinks() |
Render Quick links to various services web portals
Status: 200 | Content-Type: text/html |
Display quick link widgetExample
|
GET | getHeatmap() |
Render a heatmap
metricGroup | string | is metric group name |
metric | string | is metric name |
start | string | is start time in yyyyMMddHHmmss format |
end | string | is end time in yyyyMMddHHmmss format |
max | double default: 1.0 | is maximum possible value of the heatmap |
scale | double default: 100 | is the range of possible values |
width | int default: 700 | is width of the image |
height | int default: 400 | is height of the image |
Status: 200 | Content-Type: text/html |
Login screenExample
|
GET | heatmapTemplate() |
Render a heatmap from HBase series
metricGroup | string default: SystemMetrics | is metric group name |
metric | string default: cpu.combined. | is metric name |
width | string default: 700px | is width of the image |
height | string default: 400px | is height of the image |
title | string default: CPU | is title of the heatmap |
yLabel | string default: device | is y axis label for the heatmap |
Content-Type: text/html | |
PUT | preview() |
Preview a pie chart
Content-Type: application/json | |
Status: 200 | Content-Type: text/html |
Preview a pie chartExample
|
PUT | previewSeries() |
Preview a series JSON for pie chart
Content-Type: application/json | |
Example
|
Status: 200 | Content-Type: application/json |
Preview a pie chart seriesExample
|
POST | create() |
Content-Type: application/json | |
Content-Type: */* | |
Example for */* is available in REST API. |
PUT | save() |
Store session attributes
Content-Type: application/json | |
Content-Type: */* | |
Example for */* is available in REST API. |
POST | check() |
Password verification REST API
Status: 200 | Content-Type: text/plain |
User login successfulExample
| |
Status: 403 | Content-Type: text/plain |
Login deniedExample
|
GET | login() |
Password verification login screen
Content-Type: */* | |
Example for */* is available in REST API. |
Status: 200 | Content-Type: text/html |
Login screenExample
|
GET | getSeriesBySessionAttribute() |
Query metric series by session key, this is useful to query same metric from multiple data sources, such as multiple hosts
metricGroup | string | is metric group name |
sessionKey | string | is session key which maps to multiple data sources |
metric | string | is metric name |
start | string | is start time |
end | string | is end time |
Content-Type: application/json | |
GET | getTables() |
Query all metric group names in HBase
Content-Type: application/json | |
POST | create() |
Create a new chart meta data
Content-Type: application/json | |
Example
|
Content-Type: */* | |
Example for */* is available in REST API. |
PUT | save() |
Save chart meta data
id | string | is unique identifier of Chart object |
Content-Type: application/json | |
Example
|
Content-Type: */* | |
Example for */* is available in REST API. |
PUT | preview() |
Display a chart base on chart configuration from REST API input
Content-Type: application/json | |
Example
|
Content-Type: text/html | |
PUT | previewSeries() |
Display metrics series in JSON
Content-Type: application/json | |
Example
|
Status: 200 | Content-Type: application/json |
Display series data in JSON |
GET | describe() |
Describe chart meta data
id | string | Chart ID |
Status: 200 | Content-Type: application/json |
Display chart configuration optionsExample
|
GET | viewWidget() |
View widget details
title | string | is title of the widget |
Status: 200 | Content-Type: application/json |
View widget detailsExample
|
POST | createWidget() |
Create a widget
Content-Type: application/json | |
Example
|
Status: 200 | Content-Type: text/plain |
Widget creation successfulExample
| |
Status: 400 | Content-Type: text/plain |
Widget creation unsuccessfulExample
|
PUT | updateWidget() |
Update a widget
title | string | is widget title |
Content-Type: application/json | |
Example
|
Status: 200 | Content-Type: text/plain |
Widget update is successfulExample
| |
Status: 400 | Content-Type: text/plain |
Widget update unsuccessfulExample
|
GET | searchWidget() |
Search for widget base on widget title
query | string | is search critieria |
Status: 200 | Content-Type: application/json |
Display list of HICC widget that matches queryExample
|
GET | listWidget() |
List widgets
limit | int default: 1000 | is number of widgets to return |
offset | int default: 0 | is position in the widget list |
Status: 200 | Content-Type: application/json |
Display list of HICC supported widgetsExample
|
PUT | preview() |
Preview circle graph with a set of chart configuration
Content-Type: application/json | |
Example
|
Content-Type: text/html | |
PUT | previewSeries() |
Circle graph data can be calculated based on either a ratio of two metrics or the selected metric is a percentage metric for rendering circle graph.
Content-Type: application/json | |
Example
|
Status: 200 | Content-Type: application/json |
Display series data in JSON |
GET | draw() |
Render circle using jquery circliful.js
id | string | Title of the tile. |
invert | boolean default: false | Toggle to display warning, error color by upper bound or lower bound. |
Status: 200 | Content-Type: text/html |
Render circleful chartExample
|