Cómo Verificar Eventos en Azure Portal
Opción 1: Metrics del Event Grid Topic (Recomendado)
Esta es la forma más rápida de ver si los eventos están llegando.
Pasos:
-
Abre Azure Portal: https://portal.azure.com
- Navega a tu Event Grid Topic:
- Click en el menú hamburguesa (☰) arriba a la izquierda
- Selecciona “Resource groups”
- Click en
agranelos
- Busca y click en
agranelosEventGrid
(tipo: Event Grid Topic)
- Abre Metrics:
- En el menú izquierdo, busca la sección “Monitoring”
- Click en “Metrics”
- Configurar la métrica:
- En “Metric” selecciona: “Publish Succeeded” o “Published Events”
- En “Aggregation” selecciona: “Sum”
- En “Time range” selecciona: “Last 30 minutes” o “Last hour”
- Ver resultados:
- Si ves una línea con valores > 0, ¡los eventos están llegando! ✅
- Si la línea está en 0, los eventos no están siendo publicados ❌
Métricas Importantes:
Métrica | Descripción |
---|---|
Published Events | Total de eventos publicados al topic |
Publish Succeeded | Eventos publicados exitosamente |
Publish Failed | Eventos que fallaron al publicar |
Unmatched Events | Eventos sin subscription que los consuma |
Delivery Succeeded | Eventos entregados exitosamente a subscriptions |
Delivery Failed | Eventos que fallaron al ser entregados |
📧 Opción 2: Event Subscriptions (Ver entregas)
Para ver si los eventos están siendo entregados a las funciones consumidoras:
Pasos:
-
En tu Event Grid Topic (
agranelosEventGrid
) -
Click en “Event Subscriptions” (menú izquierdo)
- Verás tus 2 subscriptions:
functionAgranelosHub
CrearBodegas
-
Click en cualquiera de ellas
-
Click en “Metrics” (menú izquierdo)
- Configurar métrica:
- Selecciona: “Delivery Succeeded”
- Time range: “Last hour”
- Ver Dead Letter Events (eventos que fallaron):
- En el mismo Metrics, selecciona: “Dead Lettered Events”
- Si ves valores > 0, hay eventos que no se pudieron entregar
Opción 3: Ver Logs en la Function App Consumidora
Para ver los logs de las funciones que consumen los eventos:
Pasos:
- Navega a tu Function App:
- Resource group:
agranelos
- Busca tu Function App (la que tiene las funciones consumidoras)
- Resource group:
-
Click en “Log stream” (menú izquierdo, sección Monitoring)
-
Genera un evento (crea/actualiza/elimina un producto)
- Observa los logs en tiempo real:
=== Evento ProductoCreado Recibido === Event Type: Agranelos.Inventario.ProductoCreado Subject: /productos/123 Data: {...} Evento procesado exitosamente
Opción 4: Application Insights (Análisis Detallado)
Si tienes Application Insights configurado:
Pasos:
-
Navega a tu Function App
-
Click en “Application Insights” (menú izquierdo)
-
Click en “View Application Insights data”
- En Application Insights:
- Click en “Logs” (menú izquierdo)
- Ejecuta una query:
traces | where timestamp > ago(1h) | where message contains "Evento" or message contains "Event Grid" | order by timestamp desc | take 50
- O busca por tipo de evento:
traces | where timestamp > ago(1h) | where message contains "ProductoCreado" or message contains "BodegaCreada" | order by timestamp desc
Opción 5: Test Manual con Event Grid Viewer (Desarrollo)
Para testing en desarrollo, puedes usar el Event Grid Viewer:
Setup:
- Crea un Event Grid Viewer:
# Deploy Event Grid Viewer (aplicación web simple) az deployment group create \ --resource-group agranelos \ --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \ --parameters siteName=agranelos-eventviewer
- Crea una Event Subscription apuntando al viewer:
- En tu Event Grid Topic
- Click “New Event Subscription”
- Endpoint Type: Web Hook
- Endpoint:
https://agranelos-eventviewer.azurewebsites.net/api/updates
-
Abre el viewer: https://agranelos-eventviewer.azurewebsites.net
- Genera eventos y los verás aparecer en tiempo real en el viewer
Verificación Paso a Paso
Checklist de Verificación:
1. ¿Los eventos están siendo PUBLICADOS?
- Ve a Event Grid Topic → Metrics → “Published Events”
- Verifica que el número sea > 0 después de crear/actualizar/eliminar
2. ¿Los eventos están siendo RECIBIDOS por subscriptions?
- Ve a Event Subscription → Metrics → “Delivery Succeeded”
- Verifica que el número coincida con eventos publicados
3. ¿Hay eventos fallidos?
- Ve a Event Grid Topic → Metrics → “Publish Failed”
- Ve a Event Subscription → Metrics → “Dead Lettered Events”
- Idealmente ambos deberían estar en 0
4. ¿Las funciones consumidoras están procesando?
- Ve a Function App → Log stream
- Genera un evento
- Deberías ver logs de la función consumidora
Ejemplo Práctico: Flujo Completo
Paso 1: Genera un evento
curl -X POST https://agranelos-fybpb6duaadaaxfm.eastus2-01.azurewebsites.net/api/productos \
-u user:myStrongPassword123 \
-H "Content-Type: application/json" \
-d '{
"nombre": "Test Event Grid",
"descripcion": "Verificar eventos",
"precio": 50.00,
"cantidad": 100
}'
Paso 2: Verifica en Azure Portal
En Event Grid Topic (agranelosEventGrid):
- Metrics → “Published Events” → Debería incrementar en 1
- Si no incrementa: El problema está en la publicación (revisar EVENT_GRID_KEY)
En Event Subscriptions:
- Click en “functionAgranelosHub” → Metrics → “Delivery Succeeded”
- Debería incrementar en 1
- Si Published Events = 1 pero Delivery = 0: El problema está en la subscription o la función consumidora
En Function App:
- Log stream → Deberías ver:
=== Evento ProductoCreado Recibido === Event Type: Agranelos.Inventario.ProductoCreado
- Si no ves nada: La función consumidora no está activa o tiene errores
Troubleshooting
No veo eventos en “Published Events”
Causas posibles:
- EVENT_GRID_KEY incorrecta en local.settings.json
- EVENT_GRID_ENDPOINT incorrecto
- Azure Functions no están corriendo
- El código no está llamando a EventGridPublisher
Solución:
- Verifica local.settings.json
- Revisa logs de Azure Functions locales
- Busca mensajes: “Evento publicado: …” o “Error publicando evento…”
Veo eventos en “Published Events” pero no en “Delivery Succeeded”
Causas posibles:
- Event Subscription mal configurada
- Función consumidora no existe o está detenida
- Filtros en la subscription no coinciden con el evento
Solución:
- Verifica que la Function App consumidora esté corriendo
- Revisa los filtros en Event Subscription
- Chequea “Dead Lettered Events”
Veo “Dead Lettered Events” > 0
Causas posibles:
- La función consumidora está fallando
- Timeout en el procesamiento
- Endpoint de la función no está disponible
Solución:
- Ve a Function App → Logs
- Busca errores en las funciones consumidoras
- Revisa que las funciones estén habilitadas
📸 Navegación Rápida en Azure Portal
Para ir directo a métricas:
- Event Grid Topic Metrics:
Home → Resource groups → agranelos → agranelosEventGrid → Metrics
- Event Subscription Metrics:
Home → Resource groups → agranelos → agranelosEventGrid → Event Subscriptions → [subscription name] → Metrics
- Function App Logs:
Home → Resource groups → agranelos → [Function App name] → Log stream
Dashboard Recomendado
Puedes crear un Dashboard personalizado con estas métricas:
- En Azure Portal, click en “Dashboard” (menú superior)
- Click en “New dashboard” → “Blank dashboard”
- Nombre: “Agranelos Event Grid Monitor”
- Arrastra widgets de tipo “Metrics chart”
- Configura cada widget con:
- Resource: agranelosEventGrid
- Metric: Published Events, Delivery Succeeded, etc.
- Guarda el dashboard
Ahora tendrás todas las métricas en un solo lugar! 📊
🔗 Links Directos
Una vez que identifiques tu Event Grid Topic ID, puedes usar estos links directos:
# Métricas del Topic
https://portal.azure.com/#@<tenant>/resource/subscriptions/<sub-id>/resourceGroups/agranelos/providers/Microsoft.EventGrid/topics/agranelosEventGrid/metrics
# Event Subscriptions
https://portal.azure.com/#@<tenant>/resource/subscriptions/<sub-id>/resourceGroups/agranelos/providers/Microsoft.EventGrid/topics/agranelosEventGrid/eventSubscriptions
Resumen Visual
┌─────────────────────────────────────────────────────────────┐
│ 1. Función publica evento → EVENT GRID TOPIC │
│ ✓ Verifica en: Topic → Metrics → "Published Events" │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 2. Event Grid enruta evento → EVENT SUBSCRIPTIONS │
│ ✓ Verifica en: Subscription → Metrics → "Delivery..." │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 3. Función consumidora procesa evento → LOGS │
│ ✓ Verifica en: Function App → Log stream │
└─────────────────────────────────────────────────────────────┘
Recomendación: Empieza con la Opción 1 (Metrics) ya que es la más rápida para confirmar si los eventos están llegando o no.