Skip to content
/ ddgo Public

Distributed system monitoring platform in Golang

Notifications You must be signed in to change notification settings

ryanisho/ddgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DGOS - Distributed System Monitoring Platform

DGOS is a distributed system monitoring platform built in Go (Golang) for efficient monitoring of various system metrics across multiple nodes. It provides a central server for monitoring and control, agents deployed on local nodes, and a web-based frontend for real-time monitoring. The project is useful for monitoring system health and performance in a distributed environment.

Table of Contents

Overview

DGOS uses a central server to collect data from multiple agents running on different machines in a network. Agents send system metrics (such as CPU usage, memory usage, etc.) to the server, which can be visualized using a web-based frontend.

Features

  • Centralized Monitoring: One central server collects data from multiple agents running on distributed nodes.
  • Real-Time Metrics: Live data visualization of system metrics such as CPU and memory usage.
  • User-Friendly Frontend: A web-based UI built with Node.js and React to view the system status of all agents.
  • Simple Setup: Lightweight agents in Go, deployable on any machine with minimal configuration.

Architecture

The DGOS architecture consists of three primary components:

  1. Central Server: Manages communication with agents, aggregates data, and serves data to the frontend.
  2. Agent: Runs on each monitored machine, collects local metrics, and sends them to the central server.
  3. Frontend: Web-based dashboard that displays real-time metrics from the central server, built with React.

Installation

Prerequisites

  • Go: Ensure that Go is installed. You can download it here.
  • Node.js: Required to run the frontend. Download from here.

Steps

  1. Clone the repository:

    git clone https://github.com/yourusername/dgos.git
    cd dgos
  2. Install frontend dependencies:

    cd client/ddgo-fe
    npm install

Usage

  1. Start the central server:

    go run cmd/server/main.go -port 8080
  2. Run the agent:

    go run cmd/agent/agent.go -server http://<your-ip-here>:8080
  3. Launch the frontend

    cd client/dggo-fe
    npm run start

To launch DGOS over a network:

  • Launch the central server on one machine (Step 1).
  • Run the frontend on the same device as the central server.
  • Run agents on remote nodes (local devices) by providing the IP address of the central server.

Authors

  • Ryan Ho

About

Distributed system monitoring platform in Golang

Topics

Resources

Stars

Watchers

Forks