Sentry per WordPress: integrazione
Sentry è una piattaforma di error tracking famosa nel mondo dev moderno. Supporta PHP, JavaScript, mobile, e offre breadcrumb, source map e issue grouping potenti. Vediamo come integrarla con WordPress e affiancarla a WP Error Monitor.
Vantaggi di Sentry
Issue grouping automatico (gli errori simili vengono raggruppati), breadcrumb (sequenza di azioni precedenti l’errore), source map (debug JS con codice originale), release tracking (associa errori a deploy specifici), assegnazione e workflow team. La free tier (5k eventi/mese) è sufficiente per siti piccoli.
Setup PHP per WordPress
Installa l’SDK PHP via Composer: composer require sentry/sentry. In mu-plugin crea wpem-sentry-init.php che chiama Sentry\init(['dsn' => 'https://...']). L’SDK aggancia set_exception_handler e set_error_handler. WP Error Monitor lo rileva e non duplica gli eventi: il chain pattern è rispettato (entrambi catturano, entrambi inoltrano).
Integrazione JS frontend
Aggiungi Sentry Browser SDK via wp_enqueue_script con DSN come opzione. Errori JS finiscono sia in Sentry (con stack trace + breadcrumb) sia in WP Error Monitor (se snippet attivo). Decidi quale è la fonte primaria e configura snooze sull’altro per evitare doppia notifica.
Release tracking e regression detection
Sentry distingue gli errori per 'release' (versione deployata). Su WordPress configura release con la versione e l’hash commit Git. Così' Sentry segnala 'regression': errore che era stato risolto in release X torna in release Y. Questa feature da sola giustifica l’uso di Sentry per team con deploy frequenti. WP Error Monitor offre cosa simile con 'tag deploy_id’ negli eventi.
Performance monitoring (APM Sentry)
Sentry ha aggiunto APM nel 2021: tracing distribuito con span PHP, DB query, HTTP call. Con traces_sample_rate=0.1 hai sample del 10% delle richieste con span dettagliati. Pro: tutto in un'unico tool. Contro: meno maturo di New Relic/Datadog. Coesistenza con WP Error Monitor: Sentry per APM + tracing, WP Error Monitor per errori WP-specifici e canale notifiche.
Issue grouping intelligente
Sentry raggruppa errori 'simili' in un solo issue: stesso file+riga+stack trace top frame. Quando un'utente clicca 'Resolve' su un'issue, tutte le ricorrenze future tornano in dashboard come 'regression'. Algoritmo grouping personalizzabile via fingerprint: per dare granularità diversa puoi aggiungere user_id, locale, ecc. Ottimo per gestire migliaia di errori unique senza essere sommersi. WP Error Monitor implementa logica simile con hash su (message, file, line) e 'first_seen / last_seen' tracking. Sentry è più sofisticato (ML-based grouping), WP Error Monitor più semplice ma deterministico.
Sentry Performance vs Sentry Errors
Sentry ha due prodotti: Errors (gratuito 5k events/mese) e Performance (APM, pagamento). Errors copre il caso d’uso WP Error Monitor (errori), Performance aggiunge transaction tracing. Per WordPress base, Sentry Errors free tier + WP Error Monitor copre 95% dei casi. Per scaling con APM serve passare a piano team (26 USD/mese) o team-plus (80 USD/mese). Calcolo ROI: piano team conviene se eviti 1h/mese di downtime grazie a APM proactive (1h downtime ecommerce = decine di migliaia euro persi tipicamente).
Sentry self-hosted per dati sensibili
Quando i dati nei stack trace sono sensibili (es. sanitari, finanziari) Sentry self-hosted è la scelta. Setup: docker-compose Sentry on-prem, storage Cassandra (eventi) + Redis (cache) + PostgreSQL (metadata). Hardware: 8GB RAM minimum, 50GB SSD per 1M events/mese. Manutenzione tua: backup DB, upgrade ogni 3-6 mesi. Costo TCO: ~150€/mese hosting + 4h/mese ops. Vale se hai vincoli compliance stretti, altrimenti Sentry SaaS conviene per il time saved. WP Error Monitor offre opzione self-hosted equivalente nei piani enterprise.
Procedura passo-passo
- Crea progetto su Sentry e ottieni il DSN.
- Su staging installa l’SDK PHP via Composer in mu-plugins.
- Crea mu-plugin wpem-sentry-init.php con la chiamata Sentry\init.
- Configura environment, release, traces_sample_rate.
- Aggiungi Sentry Browser SDK al frontend (wp_enqueue_script).
- Genera un'errore di test e verifica che arrivi su Sentry.
- Configura WP Error Monitor per filtrare gli eventi che Sentry già gestisce (WPEM_IGNORE_IF_SENTRY=true).
- Definisci runbook: Sentry per analisi tecnica, WP Error Monitor per visibilità cliente.
- Configura release in Sentry init con build hash.
- Abilita Sentry APM con sampling rate basso (0.1).
Errori comuni e come risolverli
- DSN non valido: Copia il DSN intero da Sentry settings, è una URL completa.
- Eventi non arrivano: Probabile firewall outbound: aggiungi *.sentry.io alle whitelist.
- Issue grouping troppo aggressivo: Configura fingerprint custom in beforeSend per separare meglio.
- Sentry release non rilevata: Hash non passato correttamente: hardcode per test.
- APM rallenta sito: Sampling rate troppo alto: scendi a 0.01.
Domande frequenti
D: Sentry self-hosted possibile?
R: Sì, self-hosted su VM dedicata: utile per dati sensibili.
D: Costi Sentry?
R: Free fino 5k events/mese, poi 26$/mese per piano team.
D: WP Error Monitor inoltra a Sentry?
R: Sì, via webhook: configura il forward in impostazioni notifiche.
D: Sentry self-hosted limitazioni?
R: Tutte le feature, ma manutenzione è tua: serve devops dedicato.
D: Posso migrare da Sentry a WP Error Monitor?
R: Sì, via webhook bridge che inoltra eventi.
Hai bisogno di aiuto?
Se vuoi affidare il monitoraggio WordPress al team di G Tech Group, scrivici tramite il modulo di contatto.