An open API service indexing awesome lists of open source software.

https://github.com/khalidit23/grafana


https://github.com/khalidit23/grafana

Last synced: 15 days ago
JSON representation

Awesome Lists containing this project

README

          

# ๐Ÿ“ก MikroTik Monitoring Stack (Grafana + Prometheus + VictoriaMetrics)

![Docker](https://img.shields.io/badge/docker-ready-blue?logo=docker)
![Grafana](https://img.shields.io/badge/Grafana-dashboard-orange?logo=grafana)
![Prometheus](https://img.shields.io/badge/Prometheus-monitoring-red?logo=prometheus)
![VictoriaMetrics](https://img.shields.io/badge/VictoriaMetrics-storage-green)
![License](https://img.shields.io/badge/license-MIT-lightgrey)

A complete **Docker-based monitoring stack** for MikroTik devices using:

* ๐Ÿ“Š Grafana (Visualization)
* ๐Ÿ” Prometheus (Metrics scraping)
* ๐Ÿ“ก SNMP Exporter (SNMP โ†’ Prometheus)
* ๐Ÿ—„๏ธ VictoriaMetrics (Long-term storage)

---

# ๐Ÿง  Architecture Diagram

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ MikroTik โ”‚
โ”‚ Router โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚ SNMP
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ SNMP Exporter โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Prometheus โ”‚
โ”‚ (Collector) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚ remote_write
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ VictoriaMetrics โ”‚
โ”‚ (Long-term Storage) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Grafana โ”‚
โ”‚ Dashboard UI โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

---

# ๐Ÿ“ Project Structure

```
mikrotik-grafana/
โ”‚
โ”œโ”€โ”€ docker-compose.yml
โ”‚
โ”œโ”€โ”€ prometheus/
โ”‚ โ”œโ”€โ”€ prometheus.yml
โ”‚ โ””โ”€โ”€ data/
โ”‚
โ”œโ”€โ”€ snmp_exporter/
โ”‚ โ””โ”€โ”€ snmp.yml
โ”‚
โ”œโ”€โ”€ victoriametrics-data/
โ”‚
โ””โ”€โ”€ grafana/
โ””โ”€โ”€ provisioning/
โ””โ”€โ”€ datasources/
โ””โ”€โ”€ victoriametrics.yml
```

---

# ๐Ÿš€ Quick Start

## 1๏ธโƒฃ Clone Repository

```bash
git clone https://github.com/YOUR_USERNAME/mikrotik-grafana.git
cd mikrotik-grafana
```

---

## 2๏ธโƒฃ Start Stack

```bash
docker compose up -d
```

---

## 3๏ธโƒฃ Access Services

| Service | URL |
| --------------- | -------------------------- |
| Grafana | http://localhost:3000 |
| Prometheus | http://localhost:9090 |
| VictoriaMetrics | http://localhost:8428 |
| VM UI | http://localhost:8428/vmui |
| SNMP Exporter | http://localhost:9116 |

---

# ๐Ÿ” Default Login (Grafana)

```
Username: admin
Password: admin
```

---

# ๐Ÿ“Š Example Metrics

## CPU Load

```promql
avg(hrProcessorLoad{instance="YOUR_ROUTER_IP"})
```

## RAM Usage %

```promql
(
hrStorageUsed{hrStorageDescr="main memory"}
/
hrStorageSize{hrStorageDescr="main memory"}
) * 100
```

## WAN Traffic

```promql
rate(ifHCInOctets{ifName="ether1-WAN"}[5m]) * 8
```

# ๐Ÿงฑ Features

* ๐Ÿ“ก MikroTik SNMP Monitoring
* ๐Ÿ“Š Real-time + Historical metrics
* ๐Ÿ—„๏ธ 1 Year Data Retention (VictoriaMetrics)
* ๐Ÿ“ˆ Grafana Dashboards
* โšก Lightweight Docker Setup
* ๐Ÿ”ง Easy to extend

---

# โš™๏ธ Configuration

## Prometheus โ†’ VictoriaMetrics

```yaml
remote_write:
- url: http://victoriametrics:8428/api/v1/write
```

---

## VictoriaMetrics Retention

```yaml
--retentionPeriod=12
```

๐Ÿ‘‰ Keeps data for **12 months**

---

# ๐ŸŽฏ Dashboard Layout (Recommended)

## Row 1 (Stat Cards)

* Uptime
* CPU Load
* RAM Usage

## Row 2 (Traffic)

* WAN Traffic
* LAN Traffic

## Row 3 (Advanced)

* WLAN
* VPN / API Traffic

---

# ๐Ÿ” How It Works

| Component | Role |
| --------------- | ----------------- |
| SNMP Exporter | Collect SNMP data |
| Prometheus | Scrape & forward |
| VictoriaMetrics | Store metrics |
| Grafana | Visualize data |

---

# ๐Ÿš€ Future Improvements

* ๐Ÿ”” Alerting (CPU / Link Down)
* ๐Ÿ“œ Loki for Logs
* ๐ŸŒ Multi-device Monitoring
* ๐Ÿ“Š NOC Dashboard Layout
* โ˜๏ธ Cloud Storage Backup

---

# ๐Ÿ›  Troubleshooting

## Prometheus not starting

```bash
docker logs prometheus
```

## Grafana datasource error

* Ensure only **one `isDefault: true`**

---

# ๐Ÿ“š Resources

* https://grafana.com
* https://prometheus.io
* https://docs.victoriametrics.com

---

# ๐Ÿงพ License

MIT License

---

# โค๏ธ Author

**Your Name / GitHub**

---

โญ If this project helped you, please star the repository!