Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

CloudHub

Intro

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on. And this is another branch of an open-source web application derived from Influxdata's Chronograf written in Go and React.js that provides the tools to visualize your monitoring data and easily create alerting and automation rules.

Therefore, CloudHub has been enhanced by adding our direction, such as automation of configuration management(via SaltStack Rest API) and monitoring the systems or applications over several Clouds.

CloudHub has been started with Chronograf version 1.7.11.

Test Environment

For running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf). This Sandbox provided by sysnetsystems will help to do.
Download snetsystems/sandbox

For the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.
You should use Forked Snetsystems/salt

For collecting data from data sources,
you should use Forked Snetsystems/telegraf

How to use Cloudhub

Documentation for CloudHub Guide (in Korean)

General Features

Infrastructure

Infrastructure Topology Map authoring feature by user group.

  • Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).
  • Show IPMI Sensor Data.
  • Addable to connect to Public Cloud(AWS, GCE).
  • Bare-metal Server Remote Management via IPMI

Several Type Graphs for customizable visualization

Telegraf agent control via SaltStack

Web SSH Terminal Console

  • Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.

VMWare Infrastructure Viewer

OpenStack Infrastructure Monitoring

K8s Infrastructure Diagram & Viewer

AWS Instances Monitoring

  • Topology and Time series graphs

  • Topology and Instance details

  • Host list and Time series graphs

GCE Instances Monitoring

AI Features

Anomaly Detection for Network Device using AI(Deep Learning)


Log Analysis

Morphology-based indexing for log search and time-series visualization


Change log

You could know the changelog by versions via the follows.
Version <= v1.2.0: Projects(Legacy)
Version >= v1.3.0: Projects(Newly)

Setting in VSCode

  • Add the followings into User Setting or Workspace Setting.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.rightClickBehavior": "default",
"terminal.explorerKind": "external",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.scrollback": 10000,
"breadcrumbs.enabled": true,
"editor.renderControlCharacters": true,
"editor.largeFileOptimizations": false,
"editor.formatOnSave": true,
"editor.renderWhitespace": "none",
"editor.wordWrap": "on",
"workbench.startupEditor": "newUntitledFile",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"files.eol": "\n",
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.autocompleteUnimportedPackages": true,
"prettier.singleQuote": true,
"prettier.bracketSpacing": false,
"prettier.semi": false,
"prettier.trailingComma": "es5",
"prettier.arrowParens": "avoid",
"eslint.alwaysShowStatus": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.associations": {
"*.yml": "yaml"
},
"window.zoomLevel": 0,
"gitlens.views.repositories.files.layout": "tree",
"git.ignoreLegacyWarning": true,
"screencastMode.onlyKeyboardShortcuts": true,
"diffEditor.ignoreTrimWhitespace": false,
"workbench.sideBar.location": "left"
}

How to build

Preparing dependencies

  • CloudHub works with go 1.21.x, node 14.x, and yarn 1.15.x ~ 1.22.x. Thus, you have to install that according to each offcial guide.
    • Yarn install example:
      $ npm install --global yarn@1.22.18
  • Install protoc(protocol buffer compiler)
    • Download here proper package.
    • Unzip and then add bin/protoc or bin/protoc.exe to $PATH env. or simply put into $GOPATH/bin or $GOROOT/bin/ diretory.
  • In the case of Windows, it cannot be invoked "make" command,
    So you need to download and install GNUMake for windows.

Getting the source code from github.

[If you're on Windows, run "Git Bash" and] type the followings.

# If you're on Windows, run "Git Bash" and type the followings.
$ git clone https://github.com/snetsystems/cloudhub.git
$ cd cloudhub
$ make

If well done, you can see the binary.

$ cd backend/cmd/cloudhub
$ ls -l
total 28072
...
-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub

Once run cloudhub, 8888 port will be listened.

$ ./cloudhub

You can see the CloudHub UI via browser: http://localhost:8888

How to debug via VSCode for Development.

Run "cloudhub.code-workspace" within cloudhub folder.

$ code cloudhub.code-workspace

Simply, select "Launch Server" and then run.
Also, for UI debugging, select "Launch Chrome" and then run debug.
For continuous debugging, you can use "Launch Chrome" after yarn start

[Note] On Windows, you have to use "Launch Chrome" after yarn start

[Note]
For continuous debugging, you need to add develop mode into the running argument.

We already prepared ".vscode/launch.json" and ".vscode/settings.json"

  • Using GO111MODULE.
    • Not need a vendor directory anymore.
  • Snetsystems Github login setting as a default.
    • You need to change to the Github's keys of your organization.
    • If you don't need to login, get rid of the login information.
    ..."args": [
    "-l=debug",
    "-d""-c=./cloudhub-canned/",
    "--protoboards-path=./cloudhub-protoboards/",
    "--auth-duration=0",
    "-t=74c1e9e245088f060b5bff36b935cd0bf2976d35",
    "--github-client-id=c170bbdbc5cb2ea8f6d3",
    "--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22"
    ],
    ...

If you run a not login mode, you can use "Launch Chrome via Proxy" after yarn start

$ cd$CloudHub_PATH/frontend
$ yarn start
yarn run v1.15.2
$ node parcel.jsx
Serving on http://localhost:8080
√ Built in 7.54s.

About

CloudHub is a totally designed system that lets you monitor and manage the availability of something like servers, applications, virtual machines, Kubernetes, and so on.

Topics

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages