main 1
Kar k1 2025-09-19 21:22:51 +05:30
parent 29a50484e2
commit 0fe581daa0
4 changed files with 16114 additions and 512 deletions

View File

@ -1,48 +0,0 @@
# Replace example.com with your domain or use localhost for local development
# For production, uncomment and configure the email line with your email
# and uncomment the tls line to enable automatic HTTPS
# Global settings
{
#email your-email@example.com
#acme_ca https://acme-v02.api.letsencrypt.org/directory
}
# Grafana
grafana.example.com {
#tls {
# issuer acme
#}
reverse_proxy grafana:3000
}
# Prometheus
prometheus.example.com {
#tls {
# issuer acme
#}
reverse_proxy prometheus:9090
}
# Node Exporter (if you want to expose it)
# node-exporter.example.com {
# tls {
# issuer acme
# }
# reverse_proxy node-exporter:9100
# }
# For local development without DNS
localhost {
handle_path /grafana/* {
reverse_proxy grafana:3000
}
handle_path /prometheus/* {
reverse_proxy prometheus:9090
}
# Uncomment if you want to expose node-exporter
# handle_path /node-exporter/* {
# reverse_proxy node-exporter:9100
# }
respond "Not Found" 404
}

View File

@ -83,21 +83,6 @@ services:
networks:
- monitoring
# Caddy (reverse proxy with automatic HTTPS)
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- monitoring
networks:
monitoring:
driver: bridge
@ -105,5 +90,3 @@ networks:
volumes:
prometheus_data:
grafana_data:
caddy_data:
caddy_config:

View File

@ -1,447 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": "Prometheus",
"description": "CPU usage by instance",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "percent"
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"expr": "100 - (avg by(instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[1m])) * 100",
"legendFormat": "{{instance}} - CPU Usage",
"refId": "A"
}
],
"title": "CPU Usage",
"type": "timeseries"
},
{
"datasource": "Prometheus",
"description": "Memory usage by instance",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "percent"
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 3,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"expr": "100 * (1 - ((avg_over_time(node_memory_MemFree_bytes[1m]) + avg_over_time(node_memory_Cached_bytes[1m]) + avg_over_time(node_memory_Buffers_bytes[1m])) / avg_over_time(node_memory_MemTotal_bytes[1m]))",
"legendFormat": "{{instance}} - Memory Usage",
"refId": "A"
}
],
"title": "Memory Usage",
"type": "timeseries"
},
{
"datasource": "Prometheus",
"description": "Disk I/O operations per second",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 1000
}
]
},
"unit": "ops"
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
"id": 4,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"expr": "rate(node_disk_reads_completed_total[1m])",
"legendFormat": "{{device}} - Reads",
"refId": "A"
},
{
"expr": "rate(node_disk_writes_completed_total[1m])",
"legendFormat": "{{device}} - Writes",
"refId": "B"
}
],
"title": "Disk I/O Operations",
"type": "timeseries"
},
{
"datasource": "Prometheus",
"description": "Network traffic by interface",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
}
]
},
"unit": "Bps"
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 8
},
"id": 5,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"expr": "rate(node_network_receive_bytes_total[1m])",
"legendFormat": "{{device}} - Received",
"refId": "A"
},
{
"expr": "rate(node_network_transmit_bytes_total[1m])",
"legendFormat": "{{device}} - Transmitted",
"refId": "B"
}
],
"title": "Network Traffic",
"type": "timeseries"
},
{
"datasource": "Prometheus",
"description": "Load average",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 1
}
]
},
"unit": "short"
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 16
},
"id": 6,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"expr": "node_load1",
"legendFormat": "1m Load Avg",
"refId": "A"
},
{
"expr": "node_load5",
"legendFormat": "5m Load Avg",
"refId": "B"
},
{
"expr": "node_load15",
"legendFormat": "15m Load Avg",
"refId": "C"
}
],
"title": "System Load Average",
"type": "timeseries"
},
{
"datasource": "Prometheus",
"description": "Disk space usage by mount point",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "percent"
}
},
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 16
},
"id": 7,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"expr": "100 - ((node_filesystem_avail_bytes{mountpoint=~\"/|/mnt/.*\",fstype!=\"tmpfs\"} * 100) / node_filesystem_size_bytes{mountpoint=~\"/|/mnt/.*\",fstype!=\"tmpfs\"})",
"legendFormat": "{{mountpoint}} - Used",
"refId": "A"
}
],
"title": "Disk Space Usage",
"type": "timeseries"
}
],
"refresh": "10s",
"schemaVersion": 36,
"style": "dark",
"tags": [
"node-exporter",
"monitoring"
],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"hide": 0,
"includeAll": true,
"label": "Instance",
"multi": true,
"name": "instance",
"options": [],
"query": "label_values(node_cpu_seconds_total, instance)",
"queryValue": "",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "browser",
"title": "Node Exporter Full",
"uid": "node-exporter-full",
"version": 1,
"weekStart": ""
}