

# Recuento de los orígenes de referencia, las direcciones IP o las reglas coincidentes
<a name="query-examples-waf-logs-count"></a>

En los ejemplos de esta sección se consultan los recuentos de elementos de registro de interés.
+ [Count the number of referrers that contain a specified term](#waf-example-count-referrers-with-specified-term)
+ [Count all matched IP addresses in the last 10 days that have matched excluded rules](#waf-example-count-matched-ip-addresses)
+ [Group all counted managed rules by the number of times matched](#waf-example-group-managed-rules-by-times-matched)
+ [Group all counted custom rules by number of times matched](#waf-example-group-custom-rules-by-times-matched)

**Example : contar el número de referencias que contienen un término especificado**  
La siguiente consulta cuenta el número de referencias que contienen el término “amazon” para el intervalo de fechas especificado.  

```
WITH test_dataset AS 
  (SELECT header FROM waf_logs
    CROSS JOIN UNNEST(httprequest.headers) AS t(header) WHERE "date" >= '2021/03/01'
    AND "date" < '2021/03/31')
SELECT COUNT(*) referer_count 
FROM test_dataset 
WHERE LOWER(header.name)='referer' AND header.value LIKE '%amazon%'
```

**Example : contar todas las direcciones IP coincidentes en los últimos 10 días que coincidieron con las reglas excluidas**  
En la siguiente consulta se cuenta el número de veces que, en los últimos 10 días, la dirección IP coincidió con la regla excluida del grupo de reglas.   

```
WITH test_dataset AS 
  (SELECT * FROM waf_logs 
    CROSS JOIN UNNEST(rulegrouplist) AS t(allrulegroups))
SELECT 
  COUNT(*) AS count, 
  "httprequest"."clientip", 
  "allrulegroups"."excludedrules",
  "allrulegroups"."ruleGroupId"
FROM test_dataset 
WHERE allrulegroups.excludedrules IS NOT NULL AND from_unixtime(timestamp/1000) > now() - interval '10' day
GROUP BY "httprequest"."clientip", "allrulegroups"."ruleGroupId", "allrulegroups"."excludedrules"
ORDER BY count DESC
```

**Example : agrupar todas las reglas administradas contadas por el número de veces que coinciden**  
Si estableció las acciones de reglas del grupo de reglas en Contar en su configuración de ACL web antes del 27 de octubre de 2022, AWS WAF guardó las anulaciones en el archivo JSON de ACL web como `excludedRules`. Ahora, la configuración JSON para anular una regla en Contar se encuentra en la configuración `ruleActionOverrides`. Para obtener más información, consulte [Anulación de acciones en grupos de reglas](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-rule-group-override-options.html) en la *Guía para desarrolladores de AWS WAF*. Para extraer las reglas administradas en el modo Contar de la estructura de registro nueva, consulte `nonTerminatingMatchingRules` en la sección `ruleGroupList` en lugar del campo `excludedRules`, como en el siguiente ejemplo.  

```
SELECT
 count(*) AS count,
 httpsourceid,
 httprequest.clientip,
 t.rulegroupid, 
 t.nonTerminatingMatchingRules
FROM "waf_logs" 
CROSS JOIN UNNEST(rulegrouplist) AS t(t) 
WHERE action <> 'BLOCK' AND cardinality(t.nonTerminatingMatchingRules) > 0 
GROUP BY t.nonTerminatingMatchingRules, action, httpsourceid, httprequest.clientip, t.rulegroupid 
ORDER BY "count" DESC 
Limit 50
```

**Example : agrupar todas las reglas personalizadas contadas por el número de veces que coinciden**  
En la siguiente consulta se agrupan todas las reglas personalizadas contadas según el número de veces que coinciden.  

```
SELECT
  count(*) AS count,
         httpsourceid,
         httprequest.clientip,
         t.ruleid,
         t.action
FROM "waf_logs" 
CROSS JOIN UNNEST(nonterminatingmatchingrules) AS t(t) 
WHERE action <> 'BLOCK' AND cardinality(nonTerminatingMatchingRules) > 0 
GROUP BY t.ruleid, t.action, httpsourceid, httprequest.clientip 
ORDER BY "count" DESC
Limit 50
```

Para obtener información sobre las ubicaciones de registro de las reglas personalizadas y los grupos de reglas administrados, consulte [Supervisión y ajuste](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing-activities.html) en la *Guía para desarrolladores de AWS WAF*.