Complete documentation refactoring with 57 service docs
- Refactored README.md, getting-started.md, quick-reference.md - Enhanced setup-homelab.sh with 9-step automated process - Created services-overview.md with all stacks - Added comprehensive documentation for 57 services in docs/service-docs/ - All services include: overview, configuration, resources, educational content - Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks - Educational focus with links to tutorials, videos, and guides
This commit is contained in:
194
docs/service-docs/grafana.md
Normal file
194
docs/service-docs/grafana.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# Grafana - Metrics Visualization
|
||||
|
||||
## Table of Contents
|
||||
- [Overview](#overview)
|
||||
- [What is Grafana?](#what-is-grafana)
|
||||
- [Why Use Grafana?](#why-use-grafana)
|
||||
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
|
||||
- [Official Resources](#official-resources)
|
||||
- [Educational Resources](#educational-resources)
|
||||
- [Docker Configuration](#docker-configuration)
|
||||
- [Setup](#setup)
|
||||
|
||||
## Overview
|
||||
|
||||
**Category:** Monitoring Dashboards
|
||||
**Docker Image:** [grafana/grafana](https://hub.docker.com/r/grafana/grafana)
|
||||
**Default Stack:** `monitoring.yml`
|
||||
**Web UI:** `http://SERVER_IP:3001`
|
||||
**Default Login:** admin/admin
|
||||
**Ports:** 3001
|
||||
|
||||
## What is Grafana?
|
||||
|
||||
Grafana is the leading open-source platform for monitoring and observability. It visualizes data from Prometheus, InfluxDB, Elasticsearch, and 80+ other data sources with beautiful, interactive dashboards. The standard for turning metrics into insights.
|
||||
|
||||
### Key Features
|
||||
- **Beautiful Dashboards:** Stunning visualizations
|
||||
- **80+ Data Sources:** Prometheus, InfluxDB, MySQL, etc.
|
||||
- **Alerting:** Visual alert rules
|
||||
- **Variables:** Dynamic dashboards
|
||||
- **Annotations:** Mark events
|
||||
- **Sharing:** Share dashboards/panels
|
||||
- **Plugins:** Extend functionality
|
||||
- **Templating:** Reusable dashboards
|
||||
- **Community Dashboards:** 10,000+ ready-made
|
||||
- **Free & Open Source:** No limits
|
||||
|
||||
## Why Use Grafana?
|
||||
|
||||
1. **Industry Standard:** Used everywhere
|
||||
2. **Beautiful:** Best-in-class visualizations
|
||||
3. **Flexible:** 80+ data sources
|
||||
4. **Easy:** Pre-made dashboards
|
||||
5. **Powerful:** Advanced queries
|
||||
6. **Alerting:** Visual alert builder
|
||||
7. **Community:** Huge dashboard library
|
||||
8. **Free:** All features included
|
||||
|
||||
## Configuration in AI-Homelab
|
||||
|
||||
```
|
||||
/opt/stacks/monitoring/grafana/data/
|
||||
grafana.db # Configuration database
|
||||
dashboards/ # Dashboard JSON
|
||||
plugins/ # Installed plugins
|
||||
```
|
||||
|
||||
## Official Resources
|
||||
|
||||
- **Website:** https://grafana.com
|
||||
- **Documentation:** https://grafana.com/docs/grafana/latest
|
||||
- **Dashboards:** https://grafana.com/grafana/dashboards
|
||||
- **Tutorials:** https://grafana.com/tutorials
|
||||
|
||||
## Educational Resources
|
||||
|
||||
### YouTube Videos
|
||||
1. **Techno Tim - Prometheus & Grafana**
|
||||
- https://www.youtube.com/watch?v=9TJx7QTrTyo
|
||||
- Complete setup guide
|
||||
- Dashboard creation
|
||||
- Alerting configuration
|
||||
|
||||
2. **TechWorld with Nana - Grafana Tutorial**
|
||||
- https://www.youtube.com/watch?v=QDQmY1iFvSU
|
||||
- Dashboard building
|
||||
- Variables and templating
|
||||
- Best practices
|
||||
|
||||
3. **Christian Lempa - Grafana Basics**
|
||||
- https://www.youtube.com/watch?v=bXZeTpFGw94
|
||||
- Getting started
|
||||
- Data source configuration
|
||||
- Panel types
|
||||
|
||||
### Popular Dashboards
|
||||
1. **Node Exporter Full:** https://grafana.com/grafana/dashboards/1860 (ID: 1860)
|
||||
2. **Docker Container & Host Metrics:** https://grafana.com/grafana/dashboards/179 (ID: 179)
|
||||
3. **cAdvisor:** https://grafana.com/grafana/dashboards/14282 (ID: 14282)
|
||||
|
||||
## Docker Configuration
|
||||
|
||||
```yaml
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- traefik-network
|
||||
ports:
|
||||
- "3001:3000"
|
||||
environment:
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
|
||||
- GF_INSTALL_PLUGINS=grafana-piechart-panel,grafana-worldmap-panel
|
||||
- GF_SERVER_ROOT_URL=https://grafana.${DOMAIN}
|
||||
volumes:
|
||||
- /opt/stacks/monitoring/grafana/data:/var/lib/grafana
|
||||
user: "472" # grafana user
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.grafana.rule=Host(`grafana.${DOMAIN}`)"
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
1. **Start Container:**
|
||||
```bash
|
||||
docker compose up -d grafana
|
||||
```
|
||||
|
||||
2. **Access UI:** `http://SERVER_IP:3001`
|
||||
|
||||
3. **First Login:**
|
||||
- Username: `admin`
|
||||
- Password: `admin`
|
||||
- Set new password
|
||||
|
||||
4. **Add Prometheus Data Source:**
|
||||
- Configuration (gear) → Data Sources → Add
|
||||
- Type: Prometheus
|
||||
- URL: `http://prometheus:9090`
|
||||
- Save & Test
|
||||
|
||||
5. **Import Dashboard:**
|
||||
- Dashboards (squares) → Import
|
||||
- Enter dashboard ID (e.g., 1860)
|
||||
- Select Prometheus data source
|
||||
- Import
|
||||
|
||||
6. **Popular Dashboard IDs:**
|
||||
- **1860:** Node Exporter Full
|
||||
- **179:** Docker Container Metrics
|
||||
- **14282:** cAdvisor
|
||||
- **11074:** Node Exporter for Prometheus
|
||||
- **893:** Docker Metrics
|
||||
|
||||
7. **Create Custom Dashboard:**
|
||||
- Dashboards → New Dashboard
|
||||
- Add Panel
|
||||
- Select visualization
|
||||
- Write PromQL query
|
||||
- Configure panel options
|
||||
- Save dashboard
|
||||
|
||||
## Summary
|
||||
|
||||
Grafana is your visualization platform offering:
|
||||
- Beautiful metric dashboards
|
||||
- 80+ data source types
|
||||
- 10,000+ community dashboards
|
||||
- Visual alert builder
|
||||
- Dashboard templating
|
||||
- Team collaboration
|
||||
- Plugin ecosystem
|
||||
- Free and open-source
|
||||
|
||||
**Perfect for:**
|
||||
- Prometheus visualization
|
||||
- Infrastructure monitoring
|
||||
- Application metrics
|
||||
- Business analytics
|
||||
- IoT data
|
||||
- Log analysis
|
||||
- Performance dashboards
|
||||
|
||||
**Key Points:**
|
||||
- Change default password!
|
||||
- Import community dashboards
|
||||
- Prometheus common data source
|
||||
- Dashboard ID for quick import
|
||||
- Variables make dashboards dynamic
|
||||
- Alerting built-in
|
||||
- Share dashboards easily
|
||||
|
||||
**Remember:**
|
||||
- Default: admin/admin
|
||||
- Change password immediately
|
||||
- Add Prometheus as data source
|
||||
- Use community dashboards (save time)
|
||||
- Learn PromQL for custom queries
|
||||
- Set refresh intervals
|
||||
- Export dashboards as JSON backup
|
||||
|
||||
Grafana turns metrics into beautiful insights!
|
||||
Reference in New Issue
Block a user