A sample project designed for learning SRE and DevOps skills.
This repository contains a small Go service that exposes simple metrics (health check & latency), then gets monitored using Prometheus and visualized with Grafana.
The project demonstrates how to containerize applications.
- Build a lightweight service in Go
- Dockerize the application for portability
- Collect metrics with Prometheus
- Visualize metrics on Grafana dashboards
- Prepare infrastructure for CI/CD pipelines (GitHub Actions / GitLab CI)
- Golang → core service
- Docker → build & run container images
- Prometheus → monitoring & metrics collection
- Grafana → dashboards & visualization
git clone https://github.com/NeginSal/Mini-Monitoring-App
cd mini-monitoring-app
2. Build the Docker image
docker build -t mini-monitoring-app .
- Run the container
docker run -p 8080:8080 mini-monitoring-app
Now the service is available at:
http://localhost:8080/health
Go App → http://localhost:8080
Prometheus → http://localhost:9090
Grafana → http://localhost:3000
(default user/pass: admin / admin)
You can pull and run the app directly from DockerHub:
docker pull negin007/mini-monitoring-app:latest
docker run -p 8080:8080 negin007/mini-monitoring-app:latest
Prometheusscrapes metrics from the Go application.Grafanaprovides dashboards and visualization.
This project is for educational and portfolio purposes. Feel free to fork and adapt.
You can learn more about this project in this article mini-monitoring-app