In questa pagina
Cosa verifica
Un monitor della porta TCP si connette a host e porta al suo intervallo da ciascuna delle sue regioni, una volta per indirizzo risolto. Giudica solo se la connessione è stata accettata, rifiutata o è andata in timeout, e registra il tempo di connessione. Non invia payload e non legge banner.
Da usare quando
- Un servizio ascolta su una porta ma non ha un endpoint HTTP, per esempio un database, una coda di messaggi o una porta SSH, LDAP o Redis.
- La domanda è la raggiungibilità della porta, non il protocollo che ci sta dietro.
- Una porta TLS senza HTTP deve avere il certificato sotto controllo senza un secondo monitor.
Non parla il protocollo dietro la porta: niente banner, niente login e niente query. Per un server di posta usa il check SMTP o IMAP, e per un endpoint HTTP usa il check HTTP(S). Per una porta che passa a TLS solo dopo un dialogo in chiaro (STARTTLS), usa il check SMTP o IMAP per controllarne il certificato.

Configurazione
Target. Un nome host o un indirizzo IP senza schema, percorso o spazi (label fino a 63 caratteri, 253 in totale), più una porta da 1 a 65535. La sonda risolve l’host tramite il proprio resolver al momento del check.
| Campo | Obbligatorio | Valori e default | Significato |
|---|---|---|---|
hostHost | sì | Nome host o indirizzo IP, senza schema, senza percorso | Il target. La sonda si connette separatamente a ogni indirizzo risolto della famiglia selezionata, e ogni indirizzo riceve il proprio sotto-risultato. |
portPorta | sì | Da 1 a 65535 | La porta a cui connettersi. Non ha un default, e un monitor salvato senza porta chiude ogni check come errore, quindi impostala sempre. Il modulo invia la porta solo se ne inserisci una. |
interval_secondsIntervallo del check | opzionale | Secondi, default 300, massimo 24 h, minimo fissato dal piano | Ogni quanto ciascuna regione esegue il check. Un valore sotto il minimo del piano viene alzato al minimo, non rifiutato. Impostalo al livello superiore della richiesta, accanto a type e config, perché dentro config l’API lo ignora. |
regionsRegioni | opzionale | Sottoinsieme di na, eu, as, sa, af, oce. Omesso o vuoto: le prime n chiavi in quell’ordine, dove n è il limite di regioni del piano | Quali continenti eseguono il check. Impostalo al livello superiore della richiesta, accanto a type e config, perché dentro config l’API lo ignora. |
address_familiesFamiglie IP | opzionale | Lista di ipv4, ipv6 o entrambi. Assente o vuota significa ["ipv4"] | Con entrambe le famiglie, family_fail_severity (degraded di default, oppure failed) fissa lo stato quando una famiglia fallisce. Il modulo offre ipv6 solo quando l’host ha un record AAAA o è un letterale IPv6. |
Certificato TLS
Con l’interruttore attivo, a una connessione riuscita segue un handshake TLS diretto, una volta per check e non per indirizzo. L’handshake usa la porta del monitor, a meno che tls_cert.port ne indichi un’altra. La sonda giudica il certificato secondo le tue regole di scadenza, emittente e soggetto. Senza l’interruttore il check non legge nessun certificato, e la vista del monitor non ne mostra alcuno.
| Campo | Obbligatorio | Valori e default | Significato |
|---|---|---|---|
tls_cert.enabled | sì | true | Attiva il subcheck. |
tls_cert.port | opzionale | Porta, default: la porta del monitor | La porta per l’handshake TLS, se diversa dalla porta controllata. |
tls_cert.warn_days | opzionale | Giorni, default 14 | Sotto questa durata residua il check porta un avviso sul certificato, e owner e admin ricevono ogni ora un’email e un avviso in-app. L’avviso non cambia mai lo stato, ma un certificato scaduto fa fallire il check. |
tls_cert.issuer_regex | opzionale | Espressione regolare | L’emittente deve corrispondere, per esempio Let's Encrypt. |
tls_cert.subject_regex | opzionale | Espressione regolare | Il common name del soggetto deve corrispondere. |
tls_cert.allow_self_signed | opzionale | false (default) oppure true | Salta i controlli di fiducia, hostname e validità temporale nell’handshake. Usalo solo per servizi interni con una CA propria. La scadenza e le asserzioni regex valgono comunque, e il modulo chiede conferma. |
Come si svolge un check
- La sonda legge la configurazione. Una porta mancante chiude il check come errore prima di qualsiasi accesso alla rete.
- Quando scatta un check, ogni regione risolve l’host tramite il resolver del proprio nodo. Valida ogni indirizzo della famiglia selezionata contro gli intervalli bloccati.
- Ogni indirizzo riceve una connessione TCP con un timeout di 10 s. Il tempo fino alla connessione accettata è il tempo di risposta di quell’indirizzo.
- Solo un check superato con il subcheck del certificato TLS attivo esegue la policy sul certificato. La esegue una volta per check, come handshake TLS diretto sulla porta del monitor o su
tls_cert.port. - La regione invia il suo risultato al control plane. Quando il quorum di regioni e check consecutivi della regola di alert è raggiunto, si apre un incident.

Cosa contiene un risultato
- Tempo di connessione
- Tempo dalla chiamata di connect alla connessione accettata, per regione e per indirizzo (
latency_ms). - Riga di dettaglio
- Una riga che dice cosa è successo: la porta è aperta, la connessione è stata rifiutata con il motivo, oppure la connessione è andata in timeout.
- Certificato
- Con il subcheck attivo: common name e nomi alternativi, emittente, date di validità, stato autofirmato e stato di fiducia. Una volta raggiunta la finestra di avviso, il risultato porta anche l’avviso di scadenza.
- Regione, famiglia, indirizzo
- Ogni risultato porta la regione che l’ha misurato, e un sotto-risultato per famiglia IP e per indirizzo.
Stati e gravità
- okLa connessione è stata accettata su ogni indirizzo controllato. Un certificato dentro la sua finestra di avviso mantiene questo stato.
- degradatoUna famiglia IP, o uno di più indirizzi risolti, fallisce mentre gli altri rispondono, con il
family_fail_severitypredefinito. Una singola connessione non ha un esito degradato. - downLa connessione viene rifiutata o va in timeout, oppure l’host non risolve o risolve verso un indirizzo bloccato. Con il subcheck attivo conta anche una policy sul certificato che fallisce: scaduto, handshake rifiutato, oppure emittente o soggetto non corrispondenti. Con
family_fail_severity: failed, anche una sola famiglia che fallisce conta qui. - erroreLa configurazione non può girare perché manca la porta. Conta come disservizio con gravità critica.
Confermato dal quorum: di default, 2 regioni devono segnalare il guasto prima che si apra un incident. Il default dell’organizzazione richiede 2 regioni e 2 check consecutivi. Un monitor può avere una regola propria con numero o percentuale, check consecutivi e una durata minima.
Piani e limiti
- Intervallo minimo
- 300 s in Free, 60 s in Pulse, 30 s in Sentinel, 15 s in Command e 10 s in Enterprise. Il modulo web offre 30 s, 1 min, 5 min, 15 min e 1 h. I minimi di 15 s e 10 s si raggiungono solo tramite MCP.
- Regioni
- 2 su 6 in Free, 3 su 6 in Pulse e tutte e 6 da Sentinel. Più regioni di quante il piano ne consenta vengono rifiutate, non tagliate.
- Monitor
- 10 in Free, 50 in Pulse, 150 in Sentinel, 500 in Command e una quota su misura in Enterprise. Undici tipi di check regionali condividono questa quota, mentre host agent e heartbeat hanno la loro.
Dalla pipeline o da un agente
La stessa config funziona nello step di deploy, in un client MCP come Claude Code e nel modulo qui sopra. create_monitor richiede una chiave API valida per tutta l’organizzazione. Se ometti regions, il piano sceglie il suo default.
{
"name": "Postgres primary",
"type": "tcp",
"interval_seconds": 60,
"config": {
"host": "db.example.com",
"port": 5432
}
}
Ogni interfaccia, con il suo limite
Limiti
- Il check non legge banner, non esegue dialoghi di protocollo e non invia payload. Termina quando la connessione viene accettata.
- La porta 0 viene rifiutata. Un monitor salvato senza porta chiude ogni check come errore.
- Il subcheck TLS è un handshake diretto sulla porta del monitor, a meno che
tls_cert.portne indichi un’altra. Per una porta che passa a TLS dopo un dialogo in chiaro (STARTTLS), usa il check SMTP o IMAP. - La sonda non si connette ai target che risolvono verso indirizzi loopback, privati, link-local, di metadata cloud o simili. Il check fallisce con il dettaglio
internal or private, blocked. Il salvataggio di un monitor del genere non viene impedito. - Non tutte le regioni sondano IPv6, quindi selezionare
ipv6restringe le regioni utilizzabili.