Distributed monitoring system in Go.
- CPU / RAM / Disk / Load / Network metrics
- Distributed agents
- REST API + WebSocket live metrics
- Simple web dashboard
- Alerts (console, Telegram, Slack)
- Docker & docker-compose support
- PostgreSQL or SQLite storage
Agents → Message Queue → Server → Database → Web Dashboard
go-monitor/
├── agent/
│ ├── main.go
│ ├── metrics.go
│ ├── sender.go
│ └── config.yaml
├── server/
│ ├── main.go
│ ├── api.go
│ ├── alerts.go
│ ├── storage.go
│ ├── websocket.go
│ └── models.go
├── web/
│ └── dashboard.html
├── config/
│ └── server.yaml
├── docker/
│ ├── Dockerfile.agent
│ ├── Dockerfile.server
│ └── docker-compose.yaml
└── README.mddocker-compose up --build1.Start PostgreSQL
2.Start server:
cd server
go run main.go3.Start agent:
cd agent
go run main.go- Open dashboard: http://localhost:8080
-
CPU > 90%
-
Memory > 85%
-
Disk > 90%
- Create a
go-monitorrepository. - Copy all files, including the
agent,server,web,config, anddockerfolders. - Add
.gitignorefor Go and Docker. - Push to GitHub:
git init
git add .
git commit -m "Initial commit Go-Monitor"
git branch -M main
git remote add origin https://github.com/mscbuild/Go-Monitor.git
git push -u origin main