[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:47:01 EDT 2019
[ https://issues.jboss.org/browse/MODCLUSTER-565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michal Karm reassigned MODCLUSTER-565:
--------------------------------------
Assignee: Jean-Frederic Clere (was: Michal Karm)
> 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