[mod_cluster-issues] [JBoss JIRA] (MODCLUSTER-565) Expand mod_cluster manager console to output JSON data about worker nodes

Michal Karm (Jira) issues at jboss.org
Wed Aug 14 03:48:00 EDT 2019


    [ https://issues.jboss.org/browse/MODCLUSTER-565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13770553#comment-13770553 ] 

Michal Karm commented on MODCLUSTER-565:
----------------------------------------

Leaving the topic.

 If [~jfclere] is interested he might find someone to look into it or close it.

> Expand mod_cluster manager console to output JSON data about worker nodes
> -------------------------------------------------------------------------
>
>                 Key: MODCLUSTER-565
>                 URL: https://issues.jboss.org/browse/MODCLUSTER-565
>             Project: mod_cluster
>          Issue Type: Feature Request
>          Components: Native (httpd modules)
>    Affects Versions: 2.0.0.Alpha1
>            Reporter: Michal Karm
>            Assignee: Jean-Frederic Clere
>            Priority: Major
>
> mod_proxy_cluster needs a module that would provide a comprehensive command & control visualization of events going on within the balancer and with worker nodes. The visualization would also serve as a demonstration for presentation purposes (to replace current SWING app from ~2009-ish).
> The new module would most likely work with https://d3js.org/ and generate an SVG/JS page on a new added httpd handler. For this new module to work, we need JSON data from mod_cluster manager (currently spits out only HTML/text/XML).
> h3. Task one: mod_cluster manager JSON data
> [~bsikora] researched suitable JavaScript libraries and he would like to have the JSON output resemble the following:
> {quote}
> I find the Wildfly style of Undertow mod_cluster proxy filter CLI output the most suitable:
> {code}
> "balancer" => {"mycluster" => {
>             "max-attempts" => 1,
>             "sticky-session" => true,
>             "sticky-session-cookie" => "JSESSIONID",
>             "sticky-session-force" => false,
>             "sticky-session-path" => undefined,
>             "sticky-session-remove" => false,
>             "wait-worker" => 0,
>             "load-balancing-group" => undefined,
>             "node" => {
>                 "jboss-eap-7.1-1" => {
>                     "aliases" => [
>                         "default-host",
>                         "localhost"
>                     ],
>                     "cache-connections" => 40,
>                     "elected" => 0,
>                     "flush-packets" => false,
>                     "load" => 0,
>                     "load-balancing-group" => undefined,
>                     "max-connections" => 40,
>                     "open-connections" => 0,
>                     "ping" => 10,
>                     "queue-new-requests" => true,
>                     "read" => 0L,
>                     "request-queue-size" => 1000,
>                     "status" => "NODE_HOT_STANDBY",
>                     "timeout" => 0,
>                     "ttl" => 60L,
>                     "uri" => "ajp://192.168.122.88:8009/?#",
>                     "written" => 0L,
>                     "context" => {"/clusterbench" => {
>                         "requests" => 0,
>                         "status" => "enabled"
>                     }}
>                 },
> {code}
> So, the JSON for my JavaScript renderer could look like:
> {code}
> {
>     "balancers": [{
>         "name": "mycluster",
>         "max-attempts": 1,
>         "sticky-session": true,
>         "sticky-session-cookie": "JSESSIONID",
>         "sticky-session-force": false,
>         "sticky-session-remove": false,
>         "wait-worker": 0,
>         "workers": [
>             {
>                 "name": "jboss-eap-7.1-1",
>                 "aliases": ["default-host", "localhost"],
>                 "cache-connections": 40,
>                 "elected": 0,
>                 "flush-packets": false,
>                 "load": 0,
>                 "requests": 350
>             }, {
>                 "name": "jboss-eap-7.1-2",
>                 "aliases": ["default-host", "localhost"],
>                 "cache-connections": 40,
>                 "elected": 0,
>                 "flush-packets": false,
>                 "load": 0,
>                 "requests": 350
>             }
>         ]
>     }]
> }
> {code}
> {quote}
> h3. Task two: mod_cluster gui console
> Write a separate module that could be optionally loaded alongside with mod_manager to provide the gui JavaScript/SVG gui console and/or consider deploying the console as a web page into the httpd's web serving directory.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the mod_cluster-issues mailing list