← Cloudflare Email Service / email-service / observability
Metriky a analytika
Email Service poskytuje analytické nástroje, pomocí kterých můžete sledovat výkon odesílání e-mailů a míru doručení napříč všemi doménami.
Metriky zobrazené v Cloudflare dashboard ↗ grafy se získávají z dat Cloudflare GraphQL Analytics API. K metrikám máte přístup přes programově přes GraphQL nebo HTTP klienta.
Metriky
Email Service aktuálně poskytuje následující metriky:
| Dataset | GraphQL Dataset Name | Popis |
|---|---|---|
| Odesílání (agregované) | emailSendingAdaptiveGroups |
Agregované počty odeslaných e-mailů seskupené podle dimenzí, jako je stav, datum, odesílající doména a výsledky autentizace. |
| Odesílání (události) | emailSendingAdaptive |
Jednotlivé události odesílání e-mailů se všemi podrobnostmi, včetně odesílatele, příjemce, předmětu, ID zprávy a informací o chybách. |
| Směrování (agregováno) | emailRoutingAdaptiveGroups |
Agregované počty směrovaných e-mailů seskupené podle dimenzí, jako je stav, datum, doména příjemce a výsledky autentizace. |
| Směrování (události) | emailRoutingAdaptive |
Jednotlivé události směrování e-mailů se všemi podrobnostmi, včetně odesílatele, příjemce, předmětu, ID zprávy a rozhodnutí o zpracování. |
Metriky lze dotazovat (a jsou uchovávány) po dobu posledních 31 dnů.
Zobrazit metriky v dashboardu
Analytika Email Service pro jednotlivé domény je dostupná v Cloudflare dashboardu. Aktuální i historické metriky zobrazíte takto:
- Přihlaste se do Cloudflare dashboard ↗ a vyberte svůj účet.
- Přejděte na Compute > Email Service a vyberte Email Sending nebo Email Routing.
- Vyberte existující doménu, nebo zobrazte metriky za celý účet.
- Vyberte Analytics kartě.
Volitelně můžete vybrat časové okno pro dotaz. Výchozí hodnota je posledních 24 hodin.
Dotazování přes GraphQL API
Analytiku pro domény vaší služby Email Service můžete programově dotazovat prostřednictvím GraphQL Analytics API. Toto API dotazuje stejné datové sady jako dashboard Cloudflare a podporuje GraphQL introspekce.
Chcete-li začít používat GraphQL Analytics API, postupujte podle dokumentace a nastavte Autentizace pro GraphQL Analytics API. Váš API token musí obsahovat Analytics Read oprávnění.
Toto jsou na úrovni zóny datasety. Pokud je chcete dotazovat, uveďte ID zóny (nikoli ID účtu) jako zoneTag filtr. GraphQL datasety pro Email Service zahrnují:
emailSendingAdaptiveGroups: agregované počty odeslaných e-mailů se seskupitelnými dimenzemiemailSendingAdaptive: jednotlivé události odesílání e-mailůemailRoutingAdaptiveGroups: agregované počty směrování e-mailů se seskupitelnými dimenzemiemailRoutingAdaptive: jednotlivé události směrování e-mailů
Dimenze Email Sending
emailSendingAdaptiveGroups dataset podporuje následující dimenze pro seskupování a filtrování:
| Dimenze | Typ | Popis |
|---|---|---|
date |
Datum | Seskupení podle dnů |
datetime |
Čas | Přesné časové razítko události |
datetimeMinute |
Čas | Seskupení po minutách |
datetimeFiveMinutes |
Čas | seskupení v intervalech po 5 minutách |
datetimeFifteenMinutes |
Čas | seskupení v intervalech po 15 minutách |
datetimeHour |
Čas | Seskupení po hodinách |
status |
string | Stav doručení (například delivered, deliveryFailed) |
eventType |
string | Původ e-mailu (incoming, forward, reply, newEmail) |
sendingDomain |
string | Doména použitá k odeslání e-mailu |
envelopeTo |
string | Obálková adresa příjemce |
errorCause |
string | Příčina chyby u neúspěšných odeslání |
arc |
string | Výsledek ověření ARC |
dkim |
string | Výsledek ověření DKIM |
dmarc |
string | Výsledek ověření DMARC |
spf |
string | Výsledek autentizace SPF |
isSpam |
uint8 | Zda byl e-mail označen jako spam |
isNDR |
uint8 | Zda je e-mail zprávou o nedoručení |
isLastEvent |
uint8 | Zda jde o poslední událost tohoto e-mailu |
emailSendingAdaptive dataset obsahuje vše výše uvedené a navíc pole pro jednotlivé události: from, to, subject, messageId, sessionId, errorDetail.
Dimenze Email Routing
emailRoutingAdaptiveGroups dataset podporuje následující dimenze pro seskupování a filtrování:
| Dimenze | Typ | Popis |
|---|---|---|
date |
Datum | Seskupení podle dnů |
datetime |
Čas | Přesné časové razítko události |
datetimeMinute |
Čas | Seskupení po minutách |
datetimeFiveMinutes |
Čas | seskupení v intervalech po 5 minutách |
datetimeFifteenMinutes |
Čas | seskupení v intervalech po 15 minutách |
datetimeHour |
Čas | Seskupení po hodinách |
status |
string | Výsledný stav e-mailu |
eventType |
string | Původ e-mailu (incoming, forward, reply, newEmail) |
action |
string | Akce použitá směrovacím pravidlem |
ruleMatched |
string | UUID směrovacího pravidla, kterému e-mail odpovídá |
arc |
string | Výsledek ověření ARC |
dkim |
string | Výsledek ověření DKIM |
dmarc |
string | Výsledek ověření DMARC |
spf |
string | Výsledek autentizace SPF |
isSpam |
uint8 | Zda byl e-mail označen jako spam |
isNDR |
uint8 | Zda je e-mail zprávou o nedoručení |
isLastEvent |
uint8 | Zda jde o poslední událost tohoto e-mailu |
emailRoutingAdaptive dataset obsahuje vše výše uvedené a navíc pole pro jednotlivé události: from, to, subject, messageId, sessionId, errorDetail, ruleMatched.
Příklady
Následují běžné GraphQL dotazy, které můžete použít k získání informací o analytice Email Service. Tyto dotazy používají proměnnou $zoneTag, které by mělo být nastaveno na vaše Cloudflare Zone ID. Najdete ho na řídicím panelu Cloudflare v části domény Přehled stránce.
{
"zoneTag": "<YOUR_ZONE_ID>",
"start": "2024-07-15",
"end": "2024-07-30"
}Operace Email Sending
Dotaz na počet e-mailů za dané období, seskupený podle date a status (například delivered, deliveryFailed):
query EmailSendingByStatus($zoneTag: string!, $start: Date!, $end: Date!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailSendingAdaptiveGroups(
filter: { date_geq: $start, date_leq: $end }
limit: 10000
orderBy: [date_DESC]
) {
count
dimensions {
date
status
}
}
}
}
}Analýza selhání doručení
Chcete-li prozkoumat příčiny selhání doručení za konkrétní časové období, seskupené podle errorCause a sendingDomain:
query EmailDeliveryFailures($zoneTag: string!, $start: Date!, $end: Date!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailSendingAdaptiveGroups(
filter: { date_geq: $start, date_leq: $end, status: "deliveryFailed" }
limit: 10000
orderBy: [date_DESC]
) {
count
dimensions {
date
errorCause
sendingDomain
}
}
}
}
}Hodinový objem
Dotaz na objem odeslaných e-mailů seskupený podle hodiny, užitečný pro identifikaci vzorců provozu:
query EmailSendingHourlyVolume($zoneTag: string!, $start: Time!, $end: Time!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailSendingAdaptiveGroups(
filter: { datetimeHour_geq: $start, datetimeHour_leq: $end }
limit: 10000
orderBy: [datetimeHour_ASC]
) {
count
dimensions {
datetimeHour
status
}
}
}
}
}Jednotlivé e-mailové události
Dotaz na jednotlivé e-mailové události pro řešení konkrétních problémů s doručením. Používá se přitom emailSendingAdaptive dataset a filtruje podle datetime (typ Time):
query RecentEmailEvents($zoneTag: string!, $start: Time!, $end: Time!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailSendingAdaptive(
filter: { datetime_geq: $start, datetime_leq: $end }
limit: 50
orderBy: [datetime_DESC]
) {
datetime
from
to
subject
status
eventType
sendingDomain
messageId
errorCause
errorDetail
dkim
dmarc
spf
isSpam
}
}
}
}Operace Email Routing
Dotaz na počet směrovaných e-mailů za dané období, seskupený podle date a status:
query EmailRoutingByStatus($zoneTag: string!, $start: Date!, $end: Date!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailRoutingAdaptiveGroups(
filter: { date_geq: $start, date_leq: $end }
limit: 10000
orderBy: [date_DESC]
) {
count
dimensions {
date
status
}
}
}
}
}Aktivita směrovacích pravidel
Chcete-li zjistit, která směrovací pravidla se shodují s e-maily, seskupená podle ruleMatched a action:
query EmailRoutingRuleActivity($zoneTag: string!, $start: Date!, $end: Date!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailRoutingAdaptiveGroups(
filter: { date_geq: $start, date_leq: $end }
limit: 10000
orderBy: [date_DESC]
) {
count
dimensions {
date
ruleMatched
action
}
}
}
}
}Jednotlivé směrovací události
Dotaz na jednotlivé směrovací události pro účely řešení problémů:
query RecentRoutingEvents($zoneTag: string!, $start: Time!, $end: Time!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
emailRoutingAdaptive(
filter: { datetime_geq: $start, datetime_leq: $end }
limit: 50
orderBy: [datetime_DESC]
) {
datetime
from
to
subject
status
action
ruleMatched
messageId
errorDetail
dkim
dmarc
spf
isSpam
}
}
}
}Další kroky
- E-mailové protokoly : zobrazení jednotlivé e-mailové aktivity v dashboardu.
- Protokoly auditu : sledování změn konfigurace.
- GraphQL Analytics API : úplná reference GraphQL API.