Code Monkey home page Code Monkey logo

cudgx's Introduction

画板备份 9

Go Report Card   CodeFactor

Language

English | 中文

Introduction

CudgX is an AIOps intelligent operation & maintenance engine for the cloud-native era launched by Galaxy Future, it indexes and digitally measures various services through multi-dimensional big-data collection and machine learning training analysis. Based on the deployed training model, the real-time measurement of service quality could achieve the automated and intelligent real-time dynamic scheduling of computing power, storage, network, and other basic resources.

Main Features:

  1. Support service logging record and aggregate computing;
  2. Support automatic pressure measurement
  3. Support real-time capacity evaluation
  4. Support automatic, intelligent computing-force elastic schedule
  5. Provide agency access to mesh agent SDK
  6. Support automatic measurement and Auto Scaling of Web service metric
  7. With the open platform of metrics definition, partners could configure customized metrics based on the platform.

Contact Us

Weibo | Zhihu | Bilibili | WeChat Official Account | WeCom Communication Group

System Architecture

  • System Architecture Diagram

image

  • System Module Description

    • cudgx-api:

      • predict-rules: Responsible for maintaining Scaling rules.

      • redundancy-keeper: Responsible for maintaining the redundancy of service clusters.

    • cudgx-gateway: Responsible for collecting dotting data from metrics-go and distributing it to Kafka.

    • cudgx-consumer: Responsible for consuming Kafka data, and storing it in clickhouse.

    • metrics-go: CudgX dots SDK.

System Diagram Legends

  • View Service Monitoring Legends: Redundancy Trends, QPS, Machine Amount
  • View record of service scaling
  • Example:

image

Installation and Deployment

  1. Configuration Requirements To ensure the stable running of the system, it is recommended that the system has 2 cores and 4 GB memory storage; CudgX has been installed and tested in Linux and MacOS.

  2. Environment Dependency Before installing CudgX, please install:

  1. Installment Steps
  • (1) Download the source code:

    • Back-end engineering:

    git clone https://github.com/galaxy-future/cudgx.git

  • (2)MacOS(intel chip only) system installation and deployment

    • Back-end deployment, running in CudgX directory

      make docker-run-mac

  • (3)Linux system installation and deployment

    • 1)For users:

      • Back-end deployment, running in CudgX directory

        make docker-run-linux

    • 2)For developers

      • Since the project will download the required basic images, it is recommended to place the downloaded source code in a directory that is larger than 10 GB
      • Back-end deployment
        • CudgX relies on mysql & kafka & clickhouse artifact,
          • If use the built-in mysql & etcd & clickhouse, access the CudgX root directory, and use the following command:

            docker-compose up -d //start up CudgX
            docker-compose down //stop CudgX

          • If already have external mysql & etcd & clickhouse service, go to cd conf and change the IP and port configuration information for the corresponding artifacts of api.json gateway.json consumer.json, then go to the root directory of CudgX, use the following command:

            docker-compose up -d api //start up api
            docker-compose up -d gateway //tart up gateway
            docker-compose up -d consumer //tart up consumer
            docker-compose down //stop CudgX

  • (4)Front-end page

    • If front-end operations are required, please install ComandX
      • After the system runs, enter 'http://127.0.0.1' to view the management console page. The initial username is “root” and the password is “123456”.
  • (5)metrics-go

    • 1)To complete uploading the data, the target application should dot based on CudgX-SDK metrics-go, we have provided a sample application cudgx-sample-pi for testing: The cudgx-sample-pi application has been buried based on metrics-go, and the docker image galaxyfuture/cudgx-sample-pi has been pushed to docker hub.

    • 2)Completing service deployment through SchedulX, see the process of creating SchedulX services.

      • Key Deployment:

        • ComandX Page - Service Deployment - Create Scaling Process – Image Deployment – Services Startup Command:

          docker run -d -e CUDGX_SERVICE_NAME=test.cudgx.gf -e CUDGX_CLUSTER_NAME=default -e CUDGX_GATEWAY_URL=http://127.0.0.1:8080 -p 80:8090

          Environment Variables Parameter Description:

          • CUDGX_SERVICE_NAME: Sverice Name
          • CUDGX_CLUSTER_NAME: Cluster Name
          • CUDGX_GATEWAY_URL: CudgX-gateway Service IP address
        • ComandX Page-Service Deployment - Create Scaling Process – Traffic Access – Configure SLB ID: Connect to Ali cloud SLB.

    • 3)Rules of Scaling Configuration

      • Key Configuration
        • ComandX Page – Service Deployment – Scaling Rules
    • 4)Two Methods are recommended for pressuring {SLB IP}:{SLB PORT}/pi Interface

      • a:During the test, we provided cudgx-sample-benchmark application to simulate access traffic. Docker images galaxyfuture/cudgx-sample-benchmark has been pushed to docker hub

        docker run -d --name cudgx_sample_benchmark --network host galaxyfuture/cudgx-sample-benchmark --gf.cudgx.sample.benchmark.sever-address={SLB IP}:{SLB PORT}/pi

      • b:By using opensource interface testing tools, apply pressure to {SLB IP}:{SLB PORT}/pi

    • 5)ComandX Page- Service List – Cluster Monitoring

      • View service monitoring legends: Redundancy Trends, QPS, Machine Amount
      • View service scaling records

Code of Conduct

Contributor Convention

Authorization

CudgX uses Elastic License 2.0 Agreement for Authorization.

Contact us

If you want more information about the service, scan the following QR code to contact us: image

cudgx's People

Contributors

ceciliachen123 avatar gf-zhangdd avatar lbsu avatar ldhgalaxy avatar liqunn avatar liyasongaha avatar

Watchers

 avatar

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.