hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "Chukwa Console Integration Guide" by TerenceKwan
Date Mon, 20 Apr 2009 17:26:29 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The following page has been changed by TerenceKwan:
http://wiki.apache.org/hadoop/Chukwa_Console_Integration_Guide

------------------------------------------------------------------------------
  [[TableOfContents]]
  
  == Introduction ==
- This document provides a high level overview of the Chukwa Console (aka HICC). Then it will
describe how to setup the Chukwa HICC console and integrate the Chukwa console as a standalone
management portal. It is targeted to developers who just want to use the Chukwa web UI component
to display their own data set.
+ This document provides a high level overview of the Chukwa Console (aka HICC). It describes
how to setup the Chukwa HICC console and integrate the Chukwa console as a standalone management
portal. It is targeted to developers who just want to use the Chukwa web UI component to display
their own data set.
  
- For information about setting up the full Chukwa system, please read ["Chukwa Quick Start"].
+ For information about setting up the full Chukwa system (instead of just HICC), please read
["Chukwa Quick Start"].
  
- == Why using Chukwa Console? ==
+ == What is Chukwa Console (HICC)? ==
- - TBD. Describe the Pros and Cons of Chukwa Console.
- 
+ HICC is a java based portal platform for service management. The basic features for HICC
include:
+  * Individual user view management
+  * Basic Drag and Drop Web portal functions
+    * Multiple view per user
+    * Multiple tab page per view
+    * Multiple widgets per tab page
+    * Drag and Drop relayout individual view
+  * Basic view permission system
+  * external widgets integration
+    * data integration. Using HICC existing UI component to display chart, table and graph.
+    * direct UI integration. Component can provide a URL and HICC will display the html page
as a widget on the portal page
+  
  == Install Chukwa Console ==
  Chukwa HICC UI is a Java web application running on top of the Tomcat application server.
Here is the steps required to get it up and running.
  
@@ -44, +54 @@

     * check out the web UI
       * goto: http://<host>:8080/hicc
  
+ == User Guide ==
- == Customization ==
- In this part of the documnent, I will describe how to customize the management console for
your own application.
- 
- === Create Your Own Default View ===
- 
  The user's views are store in your $CHUKWA_DATA_DIR/views directory. Each view is stored
under <name>.view file as a JSON object. 
  
  To create a new view, do the following:
@@ -60, +66 @@

    * Click '''Options''' -> '''Add Widget'''
    * Explorer the widget tree and add widget into the potral.
  
+ To remove widget from the view. 
+   * move the mouse to the widget's title bar and click the "X" delete button
+   * after confirmation of the deletion, the widget will be remove from the page
+   * To save the modification. Click "Save Dashboard"
+ 
+ == Customization ==
+ In this part of the documnent, I will describe how to customize the HICC console for your
own application.
+ 
  === View Permission ===
+ (** TODO **) 
+ 
- - TDB. This will description the HICC user based permission system.
+ This will describe the HICC user based permission system.
  
  === Add Your Own Widget ===
  In this section, I will describe how to create your own widget for HICC. 
@@ -69, +85 @@

  ==== Example 1. Simple Hello World ====
  First, we will build a '''Hello World widget'''.
    * cd $CHUKWA_DATA_DIR/descriptors
-   * create a hello_world.descriptor file. The same of the file is not important as long
as it is unique.
+   * create a hello_world.descriptor file. The name of the file is not important as long
as it is unique.
    * Inside the hello_world.descriptor file, put the following (remember, the content is
in JSON format. Make sure that it is a valid JSON string). {{{
  {
  "id":"hellow_word",
@@ -85, +101 @@

  }
  }}}
    * create tomcat/webapps/hicc/jsp/hello.jsp and put "Hello world" in the file.
-   * remove the cache files
+   * remove the cache files (if they exist)
      * remove $CONFIG_DATA_DIR/descriptors/*.cache
      * remove $CONFIG_DATA_DIR/views/*.cache
    * Congralution! You just finish your first HICC Widget.
  
- You can now go to the HICC UI. Click on '''Options''' -> '''Add Widget'''. You will see
the widget tree has a new category call "Test". Open it up and you will see your hello world
widget. Click '''Add'''. Then it will add the widget to your view and it will display '''Hello
world''' as in the hello.jsp file.
+ You can now go to the HICC UI. Click on '''Options''' -> '''Add Widget'''. You will see
the widget tree has a new category calls "Test". Open it up and you will see your '''Hello
World''' widget. Click '''Add'''. Then it will add the widget to your view and it will display
'''Hello world''' as in the widget area.
  
  ==== Example 2. Hello Your Name ====
  
  In this example, we will extend example 1 to take configuration parameter.
  
    * cd $CHUKWA_DATA_DIR/descriptors
-   * create a hello_world.descriptor file. The same of the file is not important as long
as it is unique.
+   * create a hello_world.descriptor file. 
    * Inside the hello_world.descriptor file, put the following: {{{
  {
  "id":"hellow_word",
@@ -114, +130 @@

  }
  }}}
    * create tomcat/webapps/hicc/jsp/hello.jsp and put {{{ Hello <% out.print(request.getParameter("your
name")); %>. }}} in the file.
-   * remove the cache files
+   * remove the cache files  (if they exist)
      * remove $CONFIG_DATA_DIR/descriptors/*.cache
      * remove $CONFIG_DATA_DIR/views/*.cache
    * Congralution! You just finish your second HICC Widget.
  
- You can now go to the HICC UI (''' *** refresh the UI so it will load the new descriptor
file *** '''). Click on '''Options''' -> '''Add Widget'''. You will see the widget tree
has a new category call "Test". Open it up and you will see your hello world widget. Click
'''Add'''. Then it will add the widget to your view and it will display '''Hello world'''
as in the hello.jsp file.
+ You can now go to the HICC UI (''' *** refresh the UI so it will load the new descriptor
file *** '''). Click on '''Options''' -> '''Add Widget'''. You will see the widget tree
has a new category calls "Test". Open it up and you will see your '''Hello World''' widget.
Click '''Add'''. Then it will add the widget to your view and it will display '''Hello'''
as in widget area. (If you already has the hello widget add in the page from example 1, you
can remove it and readd it to your page).
  
- Now, the fun part, in the widget, move your mouse to the widget's title bar. You will see
the "edit" option. Click on it and you will see the widget edit option. You will see that
there is an option call "your name". Type in your name as "joe" and click "save". The widget
will refresh and display "Hello joe".
+ Now, the fun part, in the widget, move your mouse to the widget's title bar. You will see
the "edit" option. Click on it and you will see the widget edit option. There is an option
calls "your name". Type in your name as "joe" and click "save". The widget will refresh and
display "Hello joe". HICC will pass the configuration parameter to the jsp as a request parameter.
Hence, the JSP page will be able to get the parameter and display it.
+ 
  
  === More Detail About The Examples ===
  The HICC UI framework consists of 3 parts.
   * The framework and view 
-    * The framework will handle the view management and user management. It will also handle
descriptor version control and widget loading.
+    * The framework will handle the view management, user management, javascript level drag
and drop. It will also handle descriptor version control and widget loading.
   * The descriptor
-    * You can think of the descriptor file is a Java class file, PHP class definition or
any OO class definition. It provides the id (similar to class name), description, refresh
time in second and per widget instance parameters (similar to class internal variable). When
the view load up a widget, it will pass the parameter to individual URL specified in the descriptor
file.
+    * You can think of the descriptor file as a Java class file, PHP class definition or
any OO class definition. It provides the id (similar to class name), description, refresh
time in second and per widget instance parameters (similar to class's internal variables).
When the view loads up a widget, it will pass the parameters to individual URL specified in
the descriptor file.
   * Your widget
     * Just think of it as a web page. The descriptor file will pass the configured parameter
to your URL and you can use the parameter to display the web page.
  
+ Inside individual descriptor file, you need to specify the following JSON fields:
+ 
+ '''Descriptor File Format'''
+ || '''Field ID''' || '''Decsription ''' || '''Comment''' ||
+ || id || a unique id for the widget || ||
+ || title || The name/title of the widget. It will be displayed in the widget selection UI.
||
+ || categories || A comma separated list. It is used to specified the components category
in the widget selection tree. || ||
+ || module || The called back URL for the widget. The content for the widget to be displayed.
|| ||
+ || description || description of the widget. The description is display in the widget selection
UI. || ||
+ || screendump || (optional) A small thumbnail of what the widget look like. || ||
+ || version || version number of the widget. The format is: MajorVersion.MinorVersion. HICC
will use the value to handle widget upgrade || ||
+ || refresh || the default refresh rate for the widget in minute. For example, 15, means
the widget will be refresh in 15 minutes. || ||
+ || parameters || List of the configuration parameters for the widget (see the configuration
parameter table below for detail). || ||
+ 
+ '''Configuration Parameter Table'''
+ || '''Type''' || '''Description''' || '''Example''' || '''Comment''' ||
+ || Edit Field (String) || Single edit box || {"name":"table","type":"string","value":"ClientTrace","edit":"0"}
|| ||
+ || Drop Down Selection || A drop box to allow user to do single item selection ||  || ||
+ || Radio Box || A radio button control || {{{{"name":"legend","type":"radio","value":"on","label":"Show
Legends","options":[
+ {"label":"On","value":"on"},
+ {"label":"Off","value":"off"}
+ ]}
+ }}} || ||
+ 
+ 
+ 
+ === More Examples ===
+ (*** TODO ***)
+ 
+ === Charting Widget Component ===
+ (*** TODO ***)
+ 
+ === Target Widget Component ===
+ (*** TODO ***)
+ 

Mime
View raw message