{"id":15167152,"url":"https://github.com/snetsystems/cloudhub","last_synced_at":"2026-01-08T07:11:25.104Z","repository":{"id":38368038,"uuid":"196518074","full_name":"snetsystems/cloudhub","owner":"snetsystems","description":"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.","archived":false,"fork":false,"pushed_at":"2025-01-23T05:34:19.000Z","size":15223,"stargazers_count":20,"open_issues_count":50,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-31T07:04:44.406Z","etag":null,"topics":["128-technology","alert","chronograf","cloud","cloudhub","go","helm","influxdata","infrastructures","kapacitor","kubernetes","monitoring","react","saltstack","telegraf","typescript","visualization","vmware"],"latest_commit_sha":null,"homepage":"https://seversky.atlassian.net/wiki/spaces/CSHD/pages/219414598/Introduction","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snetsystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-12T06:03:25.000Z","updated_at":"2024-08-23T06:37:49.000Z","dependencies_parsed_at":"2023-07-13T20:17:52.704Z","dependency_job_id":"9c02cab1-1dc9-4a35-a791-5b4ee0750150","html_url":"https://github.com/snetsystems/cloudhub","commit_stats":{"total_commits":2442,"total_committers":17,"mean_commits":"143.64705882352942","dds":0.7403767403767404,"last_synced_commit":"4180023b6b06278cad6c84e3f1dd077c629cda70"},"previous_names":["snetsystems/cmp"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snetsystems%2Fcloudhub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snetsystems%2Fcloudhub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snetsystems%2Fcloudhub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snetsystems%2Fcloudhub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snetsystems","download_url":"https://codeload.github.com/snetsystems/cloudhub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238128572,"owners_count":19421056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["128-technology","alert","chronograf","cloud","cloudhub","go","helm","influxdata","infrastructures","kapacitor","kubernetes","monitoring","react","saltstack","telegraf","typescript","visualization","vmware"],"created_at":"2024-09-27T05:40:42.349Z","updated_at":"2026-01-08T07:11:25.088Z","avatar_url":"https://github.com/snetsystems.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CloudHub\n\n## Intro\n\n**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.\n\nTherefore, 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.\n\nCloudHub has been started with _Chronograf_ version **1.7.11**.\n\n### Test Environment\n\nFor running this project, maybe, you should get the environment for test data and composition like telegraf, kapacity and influxdb (but not need chronograf).\nThis **_Sandbox_** provided by _sysnetsystems_ will help to do.\u003cbr\u003e\n[Download **snetsystems/sandbox**](https://github.com/snetsystems/sandbox)\n\nFor the agent management or vsphere, k8s inventory viewer test, you prepare to Salt master, api, minion.\u003cbr\u003e\nYou should use [Forked **Snetsystems/salt**](https://github.com/snetsystems/salt/)\u003cbr\u003e\n\nFor collecting data from data sources,\u003cbr\u003e\nyou should use [Forked **Snetsystems/telegraf**](https://github.com/snetsystems/telegraf/releases)\n\n## How to use Cloudhub\n\n[Documentation for **CloudHub** Guide (in Korean)](https://seversky.atlassian.net/wiki/spaces/CSHD/overview)\n\n## General Features\n### Infrastructure\nInfrastructure Topology Map authoring feature by user group.\n- Status Overview of entire nodes(About CPU Temperature, CPU Memory, Disk usage, etc.).\n- Show IPMI Sensor Data.\n- Addable to connect to Public Cloud(AWS, GCE).\n- Bare-metal Server Remote Management via **IPMI**\n  \u003cp align=\"center\"\u003e\n    \u003cimg src=\"./docs/images/infrastructure.png\"/\u003e\n    \u003cimg src=\"./docs/images/topology_map.png\"/\u003e\n  \u003c/p\u003e\n\n### **Several Type Graphs** for customizable visualization\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/stat_dashboard.png\"/\u003e\n\u003c/p\u003e\n\n### Telegraf agent control via **_SaltStack_**\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/agent_configure.png\"/\u003e\n\u003c/p\u003e\n\n### Web SSH Terminal Console\n  - Connection to hosts using ssh protocol via CloudHub WebSocket Proxy.\n    \u003cp align=\"center\"\u003e\n      \u003cimg src=\"./docs/images/ch_terminal.png\"/\u003e\n    \u003c/p\u003e\n\n### **_VMWare_ Infrastructure** Viewer\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/VMWare.png\"/\u003e\n\u003c/p\u003e\n\n### **_OpenStack Infrastructure_** Monitoring\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/osp.png\"/\u003e\n\u003c/p\u003e\n\n### **_K8s Infrastructure_** Diagram \u0026 Viewer\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/k8s.png\"/\u003e\n\u003c/p\u003e\n\n### **_AWS_** Instances Monitoring\n  - Topology and Time series graphs\n    \u003cp align=\"center\"\u003e\n      \u003cimg src=\"./docs/images/AWS_01.png\"/\u003e\n    \u003c/p\u003e\n  - Topology and Instance details\n    \u003cp align=\"center\"\u003e\n      \u003cimg src=\"./docs/images/AWS_02.png\"/\u003e\n    \u003c/p\u003e\n  - Host list and Time series graphs\n    \u003cp align=\"center\"\u003e\n      \u003cimg src=\"./docs/images/AWS_03.png\"/\u003e\n    \u003c/p\u003e\n\n### **_GCE_** Instances Monitoring\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/gce.png\"/\u003e\n\u003c/p\u003e\n\n## AI Features\n### Anomaly Detection for Network Device using **AI(Deep Learning)**\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/net_ai_mon.png\"/\u003e\n  \u003cimg src=\"./docs/images/ai_dashboard.png\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n## Log Analysis\n### Morphology-based indexing for log search and time-series visualization\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/log-analysis.png\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n## Change log\n\nYou could know the changelog by versions via the follows.\u003cbr\u003e\nVersion \u003c= v1.2.0: [Projects(Legacy)](https://github.com/snetsystems/cloudhub/projects?query=is%3Aclosed\u0026type=classic)\u003cbr\u003e\nVersion \u003e= v1.3.0: [Projects(Newly)](https://github.com/snetsystems?tab=projects)\n\n## Setting in VSCode\n\n- Add the followings into **User Setting** or **Workspace Setting**.\n\n```json\n{\n  \"terminal.integrated.shell.windows\": \"C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\",\n  \"terminal.integrated.rightClickBehavior\": \"default\",\n  \"terminal.explorerKind\": \"external\",\n  \"terminal.integrated.copyOnSelection\": true,\n  \"terminal.integrated.scrollback\": 10000,\n  \"breadcrumbs.enabled\": true,\n  \"editor.renderControlCharacters\": true,\n  \"editor.largeFileOptimizations\": false,\n  \"editor.formatOnSave\": true,\n  \"editor.renderWhitespace\": \"none\",\n  \"editor.wordWrap\": \"on\",\n  \"workbench.startupEditor\": \"newUntitledFile\",\n  \"explorer.confirmDelete\": false,\n  \"explorer.confirmDragAndDrop\": false,\n  \"files.eol\": \"\\n\",\n  \"go.formatTool\": \"goimports\",\n  \"go.lintOnSave\": \"package\",\n  \"go.autocompleteUnimportedPackages\": true,\n  \"prettier.singleQuote\": true,\n  \"prettier.bracketSpacing\": false,\n  \"prettier.semi\": false,\n  \"prettier.trailingComma\": \"es5\",\n  \"prettier.arrowParens\": \"avoid\",\n  \"eslint.alwaysShowStatus\": true,\n  \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  \"files.associations\": {\n    \"*.yml\": \"yaml\"\n  },\n  \"window.zoomLevel\": 0,\n  \"gitlens.views.repositories.files.layout\": \"tree\",\n  \"git.ignoreLegacyWarning\": true,\n  \"screencastMode.onlyKeyboardShortcuts\": true,\n  \"diffEditor.ignoreTrimWhitespace\": false,\n  \"workbench.sideBar.location\": \"left\"\n}\n```\n\n## How to build\n\n### Preparing dependencies\n\n- 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.\u003cbr\u003e\n  - Yarn install example:\n    ```bash\n    $ npm install --global yarn@1.22.18\n    ```\n- Install **protoc**(protocol buffer compiler)\n  - [Download here](https://github.com/protocolbuffers/protobuf/releases) proper package.\n  - Unzip and then add `bin/protoc` or `bin/protoc.exe` to $PATH env. or simply put into ` $GOPATH/bin` or ` $GOROOT/bin/` diretory.\n- In the case of Windows, it cannot be invoked \"make\" command,\u003cbr\u003eSo you need to download and install [GNUMake](http://gnuwin32.sourceforge.net/packages/make.htm) for windows.\n  - [Download here](http://gnuwin32.sourceforge.net/downlinks/make.php)\n\n### Getting the source code from github.\n\n[If you're on Windows, run \"Git Bash\" and] type the followings.\n\n```bash\n# If you're on Windows, run \"Git Bash\" and type the followings.\n\n$ git clone https://github.com/snetsystems/cloudhub.git\n$ cd cloudhub\n$ make\n```\n\nIf well done, you can see the binary.\n\n```bash\n$ cd backend/cmd/cloudhub\n$ ls -l\ntotal 28072\n...\n-rwxr-xr-x 1 Snetsystems 197121 28610048 Jul 15 09:09 cloudhub\n```\n\nOnce run cloudhub, 8888 port will be listened.\n\n```bash\n$ ./cloudhub\n```\n\nYou can see the CloudHub UI via browser: http://localhost:8888\n\n## How to debug via VSCode for Development.\n\nRun \"_cloudhub.code-workspace_\" within cloudhub folder.\n\n```bash\n$ code cloudhub.code-workspace\n```\n\nSimply, select **\"Launch Server\"** and then run.\u003cbr\u003e\nAlso, for UI debugging, select **\"Launch Chrome\"** and then run debug.\u003cbr\u003e\nFor continuous debugging, you can use **\"Launch Chrome\"** after _**yarn start**_\u003cbr\u003e\n\n\u003e [Note] On Windows, you have to use **\"Launch Chrome\"** after _**yarn start**_\u003cbr\u003e\n\n\u003e [Note]\u003cbr\u003e\n\u003e For continuous debugging, you need to add **_develop mode_** into the running argument.\n\n\u003e We already prepared **\"_.vscode/launch.json_\"** and **\"_.vscode/settings.json_\"**\n\u003e\n\u003e \u003e - Using **GO111MODULE**.\n\u003e \u003e   - Not need a vendor directory anymore.\n\u003e \u003e - Snetsystems Github login setting as a default.\n\u003e \u003e   - You need to change to the Github's keys of your organization.\n\u003e \u003e   - If you don't need to login, get rid of the login information.\n\u003e \u003e   ```json\n\u003e \u003e    ...\n\u003e \u003e    \"args\": [\n\u003e \u003e      \"-l=debug\",\n\u003e \u003e      \"-d\"\n\u003e \u003e      \"-c=./cloudhub-canned/\",\n\u003e \u003e      \"--protoboards-path=./cloudhub-protoboards/\",\n\u003e \u003e      \"--auth-duration=0\",\n\u003e \u003e      \"-t=74c1e9e245088f060b5bff36b935cd0bf2976d35\",\n\u003e \u003e      \"--github-client-id=c170bbdbc5cb2ea8f6d3\",\n\u003e \u003e      \"--github-client-secret=55c35715b0e4eebab7edbdeef3081bf890e79d22\"\n\u003e \u003e    ],\n\u003e \u003e    ...\n\u003e \u003e   ```\n\nIf you run a not login mode, you can use **\"Launch Chrome via Proxy\"** after _**yarn start**_\n\n```bash\n$ cd $CloudHub_PATH/frontend\n$ yarn start\nyarn run v1.15.2\n$ node parcel.jsx\nServing on http://localhost:8080\n√  Built in 7.54s.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnetsystems%2Fcloudhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnetsystems%2Fcloudhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnetsystems%2Fcloudhub/lists"}