Skip to content

konstfish/bonsai

Repository files navigation


Logo

Bonsai

🌳 Minimal Monitoring System

Publish license

This project was created in part of the fulfillment of my degree in Computing at the University of Central Lancashire. See the complete project report here.

Build

docker-compose build

Deploy

Docker

docker-compose up -d or docker-compose --file docker-compose.pub.yml up -d for the pre-built images See Example Docker Compose

Kubernetes

kubectl apply -f kubernetes/bonsai.yml (WIP) Creates a bonsai namespace, an exporter DaemonSet & deployments/services for the system components

Frontend Views

Home

Overview of all active exporters home

Node Graph

Visual overview of all active exporters node-graph

Dashboard

Interactive & Customizable dashboarding dashboard

Explore

Provides the raw output from each exporter explore

Example Docker Compose

version: '3.9'
services:
  rethink:
    image: rethinkdb:latest
    volumes:
      - rethink_data:/data
    restart: always

  server:
    image: ghcr.io/konstfish/bonsai_server
    depends_on:
      - "rethink"
    links:
      - "rethink"
    environment:
      - IN_DOCKER_CONTAINER=1
    ports:
      - 50051:50051
      - 50052:50052
    restart: always

  local_exporter:
    image: ghcr.io/konstfish/bonsai_exporter_base
    depends_on:
      - "server"
    links:
      - "server"
    restart: always

  socket:
    image: ghcr.io/konstfish/bonsai_socket
    depends_on:
      - "server"
      - "rethink"
    links:
      - "rethink"
    environment:
      - IN_DOCKER_CONTAINER=1
    restart: always

  frontend:
    image: ghcr.io/konstfish/bonsai_frontend
    depends_on:
      - "socket"
    ports:
      - 3000:3000
    links:
      - "socket"
    restart: always

volumes:
  rethink_data:

Further Reading

See INTRODUCTION.md