Add initial project structure and configuration for monitoring suite
- Create .gitignore to exclude Python-generated files and virtual environments - Add .python-version for Python version management - Initialize README.md with project description and usage instructions - Implement alloy.river configuration for Grafana Alloy observability - Set up grafana.ini for Grafana configuration - Configure dashboards.yml for automatic dashboard loading in Grafana - Define datasources.yml for connecting Grafana to Prometheus, Loki, and Tempo - Establish loki.yaml configuration for Loki logging - Set up prometheus.yml for Prometheus metrics collection - Configure tempo.yaml for Tempo tracing - Create docker-compose.yml for orchestrating services - Develop init.sh script for initializing project directories and services - Implement main.py as the entry point for the application - Define pyproject.toml for project metadata and dependencies - Update uv.lock for dependency management
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
# Suite de Monitoreo con Grafana, Prometheus y Mimir
|
||||
|
||||
Esta configuraci�n incluye un stack completo de monitoreo con:
|
||||
- **Prometheus**: Recolecci�n de m�tricas
|
||||
- **Mimir**: Almacenamiento de m�tricas a largo plazo
|
||||
- **Grafana**: Visualizaci�n y dashboards
|
||||
|
||||
## Estructura de Archivos
|
||||
|
||||
|
||||
## Uso
|
||||
|
||||
### Iniciar los servicios
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Verificar estado
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
### Ver logs
|
||||
```bash
|
||||
# Todos los servicios
|
||||
docker-compose logs -f
|
||||
|
||||
# Servicio espec�fico
|
||||
docker-compose logs -f grafana
|
||||
docker-compose logs -f prometheus
|
||||
docker-compose logs -f mimir
|
||||
```
|
||||
|
||||
### Detener los servicios
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## Acceso a los Servicios
|
||||
|
||||
- **Grafana**: http://localhost:3000
|
||||
- Usuario: `admin`
|
||||
- Contrase�a: `admin`
|
||||
|
||||
- **Prometheus**: http://localhost:9090
|
||||
|
||||
- **Mimir**: http://localhost:9009
|
||||
|
||||
## Configuraci�n
|
||||
|
||||
### Modificar Configuraciones
|
||||
|
||||
Todos los archivos de configuraci�n est�n en la carpeta `config/` y pueden editarse directamente:
|
||||
|
||||
1. **Prometheus** (`config/prometheus/prometheus.yml`):
|
||||
- Agregar nuevos targets de scraping
|
||||
- Configurar reglas de alertas
|
||||
- Modificar intervalos de recolecci�n
|
||||
|
||||
2. **Mimir** (`config/mimir/mimir.yml`):
|
||||
- Ajustar l�mites de series
|
||||
- Configurar almacenamiento
|
||||
- Modificar configuraci�n de cluster
|
||||
|
||||
3. **Grafana** (`config/grafana/grafana.ini`):
|
||||
- Cambiar configuraci�n de seguridad
|
||||
- Configurar autenticaci�n
|
||||
- Ajustar configuraci�n de la base de datos
|
||||
|
||||
### Aplicar Cambios
|
||||
|
||||
Despu�s de modificar las configuraciones:
|
||||
|
||||
```bash
|
||||
# Reiniciar servicios espec�ficos
|
||||
docker-compose restart prometheus
|
||||
docker-compose restart mimir
|
||||
docker-compose restart grafana
|
||||
|
||||
# O reiniciar todo
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### Agregar Fuentes de Datos
|
||||
|
||||
Edita `config/grafana/provisioning/datasources/datasources.yml` para agregar nuevas fuentes de datos autom�ticamente.
|
||||
|
||||
### Cargar Dashboards
|
||||
|
||||
Coloca archivos JSON de dashboards en `data/grafana/dashboards/` y se cargar�n autom�ticamente.
|
||||
|
||||
## Flujo de Datos
|
||||
|
||||
1. **Prometheus** recolecta m�tricas de los targets configurados
|
||||
2. **Prometheus** env�a las m�tricas a **Mimir** via remote_write
|
||||
3. **Grafana** consulta tanto **Prometheus** (datos recientes) como **Mimir** (datos hist�ricos)
|
||||
|
||||
## Personalizaci�n
|
||||
|
||||
### Agregar Node Exporter
|
||||
|
||||
Descomenta las l�neas en `config/prometheus/prometheus.yml` y agrega al docker-compose:
|
||||
|
||||
```yaml
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
ports:
|
||||
- "9100:9100"
|
||||
networks:
|
||||
- monitoring
|
||||
```
|
||||
|
||||
### Agregar Alertmanager
|
||||
|
||||
Descomenta las l�neas en `config/prometheus/prometheus.yml` y agrega al docker-compose:
|
||||
|
||||
```yaml
|
||||
alertmanager:
|
||||
image: prom/alertmanager:latest
|
||||
container_name: alertmanager
|
||||
ports:
|
||||
- "9093:9093"
|
||||
networks:
|
||||
- monitoring
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Verificar conectividad
|
||||
```bash
|
||||
# Ping entre contenedores
|
||||
docker exec prometheus ping mimir
|
||||
docker exec grafana ping prometheus
|
||||
```
|
||||
|
||||
### Verificar configuraci�n de Prometheus
|
||||
```bash
|
||||
# Verificar sintaxis de configuraci�n
|
||||
docker exec prometheus promtool check config /etc/prometheus/prometheus.yml
|
||||
```
|
||||
|
||||
### Verificar configuraci�n de Mimir
|
||||
```bash
|
||||
# Ver configuraci�n activa
|
||||
curl http://localhost:9009/config
|
||||
```
|
||||
Reference in New Issue
Block a user