Code Monkey home page Code Monkey logo

nexcloud's Introduction

NexCloud (Beta)

Summary

NexCloud is the container monitoring and performance management solution specialized in Docker, Apache Mesos, Marathon, DC/OS, Mesosphere, Kubernetes(Soon). It will provide container performance management , Microservice automation through API Gateway and Machine learning based predictive, forecasting, abnormal detection with enterprise version.

In this beta version, it support fundamental function to monitor and analyze container cluster(Mesos, DC/OS, Mesosphere), Container, Agent and basic root cause functionality for event management with on-premise version. At next beta and SaaS version, it will provide more rich functionality for root cause (event management, resource tracing, performance monitor and transaction tasing, etc) soon.

For more detail product, visit http://www.nexcloud.co.kr.

Prerequisites | Configuration | Installation

  • Architecture
    Collector : The part of Nexcloud solution to collect DC/OS Metric, Node etc..
    Workflow : The part of Nexcloud solution for processing and handling to input all metric data.
    nexcloudui :The part of Nexcloud solution for visualization.

  • Full Stack Dashboard Enterprise Version (below picture is Free Version which has limited function)
    Dashboard shows all summary information about full stack of DC/OS

  • Agent Map
    This map shows all information in detail about Node, Agent and host located in cluster.

  • Container
    This list shows all information in detail about container which is operating in the cluster.


Features

  • Full Stack Dashboard
  • Container Cluster Resource Allocation & Usage Monitoring
  • Private Cloud Monitoring: Agent / Container
  • Container Performance Monitoring & Tracing
  • Event Notification And Event Trace
  • Major Framework & Service Monitoring
  • Container Status Monitoring

Prerequisites

The installation of Nexcloud can be supported by DC/OS CLI and GUI of Univese. It needs some applications such as Influx, MySQL, Redis, Kafka before the installation of Nexcloud.

※ If you have already installed these apps of Influx, MySQL, Redis, Kafka on your DC/OS Clustster, you can use existing apps. However, you have to check the your app's configuration, if specificed configuration is used. ( It is not necessary, if you use still default configuration of these apps. Please check configuration of Database Name, Password, Account, Port, VIP about these apps )

< DC/OS CLI Installation > / For more information about CLI, Go to Link (Installing the CLI)
Access to DC/OS CLI installed node

  • InfluxDB
    $ dcos package install influxdb
  • MySQL / MySQL-admin
    $ dcos package install mysql
    $ dcos package install mysql-admin
  • Redis
    $ dcos package install redis
  • Kafka
    $ dcos package install kafka

Installation

Before NexCloud installation, you have to create table and input initial data in the database (Mysql) using below sql scripts. Please login your MySql app. And execute scripts of nex_notification.sql, nex_node.sql, nex_config.sql. also please change the configuration part of scretKey, uid in nex_config.sql. this configuration is your cluster information.

  1. Configuration step before Nexcloud installation
    o nex_notification.sql : this sql for create table of notification.
    o nex_node.sql : this sql for create table of DC/OS Node information.
    o nex_config.sql : this sql for input initi data of Nexcloud app configuration
    ※ these scipts works on the only mysql app. please donwn load this scripts or capy sql query form sql scpirt. and run it in the MySQL app.

  2. Select Install Type

    -> Group Installation
    it can be supported to install all apps. ( collector, workflow, nexcloudui )

    -> Component Installation
          it can be supported to install each apps memually. ( collector, workflow, nexcloudui )
    ※ If you are using your existing apps (Influx, MySQL, Redis, Kafka) on your DC/OS Cluster, we recommend to install the component installation way. Because you may be change the environment configuration in your apps.  


Configuration Step before Nexcloud installation

All sql scripts has to be excute in your Mysql app.

  1. SQL scripts All sql scripts has to be excuted in your Mysql app.

    • nex_notification.sql
      • This table is created for saving data of notification

    • nex_node.sql
      • This table is created for saving the node information of DC/OS.

    • nex_config.sql
      • This table is created for nexcloud configuration.
      • These datas is saved about necessary information of nexcloud configuration.
        ※ Please change the information of “SecetKey” and “uid”. This information has to be changed in your DC/OS information.
      • This is explaination for each columns of instert quarry. please refer it when you change information

  2. Deployment JSON Modify

    • nexcloud.json -> This mark mean explaination for object. please delete it, when you change "env" in the json.

      • "id": "nexcloud/collecter"
        • Default setting
          "env": {
              "MYSQL_DBNAME": "defaultdb",  --> (MySQL DB name)
              "MYSQL_URL": "mysql.marathon.l4lb.thisdcos.directory:3306",  --> (MySQL URL)
              "MYSQL_PASSWORD": "password",  --> (MySQL password)
              "MYSQL_USERNAME": "admin"  --> (MySQL account)
          },
          

      • "id": "nexcloud/workflow"
        • Default setting
          "env": {
              "REDIS_HOST": "redis.marathon.l4lb.thisdcos.directory", --> (Redis URL)
              "MYSQL_DBNAME": "defaultdb",  --> (MySQL DB name)
              "REDIS_PORT": "6379",  --> (Redis port)
              "MYSQL_URL": "mysql.marathon.l4lb.thisdcos.directory:3306",  --> (MySQL URL)
              "MYSQL_PASSWORD": "password",  --> (MySQL password)
              "MYSQL_USERNAME": "admin" --> (MySQL account)
          },
          

      • "id": "nexcloud/nexcloudui"
        • Default setting
          "env": {
              "REDIS_HOST": "redis.marathon.l4lb.thisdcos.directory",  --> (Redis URL)
              "MYSQL_DBNAME": "defaultdb",  --> (MySQL DB name)
              "REDIS_PORT": "6379",  --> (Redis port)
              "MYSQL_URL": "mysql.marathon.l4lb.thisdcos.directory:3306", -->(MySQL URL)
              "MYSQL_PASSWORD": "password",  --> (MySQL password)
              "MYSQL_USERNAME": "admin"  --> (MySQL account)
          },
          

Group install

  • Deploy NexCloud
    $ dcos marathon group add https://raw.githubusercontent.com/nexclouding/NexCloud/master/JSON/nexcloud.json
    ※ This installation is only for initial user. please install it by this way, if you finished the Configuration Step. If you have already installed the apps (Influx, MySQL, Redis, Kafka), please install it by component installation way.

Component Install

  1. collecter.json
    $ dcos marathon app add https://raw.githubusercontent.com/nexclouding/NexCloud/master/JSON/components/collecter.json 
  2. workflow.json
    $ dcos marathon app add https://raw.githubusercontent.com/nexclouding/NexCloud/master/JSON/components/workflow.json  
  3. nexcloudui.json
    $ dcos marathon app add https://raw.githubusercontent.com/nexclouding/NexCloud/master/JSON/components/nexcloudui.json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.