Compartir a través de


parse_user_agent()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Interpreta una cadena de agente de usuario, que identifica el explorador del usuario y proporciona determinados detalles del sistema a los servidores que hospedan los sitios web que visita el usuario. El resultado se devuelve como dynamic.

Sintaxis

parse_user_agent(user-agent-string, look-for)

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
user-agent-string string ✔️ Cadena de agente de usuario que se va a analizar.
buscar string o dynamic ✔️ Valor que se va a buscar en user-agent-string. Las opciones posibles son "browser", "os" o "device". Si solo se requiere un único destino de análisis, se puede pasar un string parámetro. Si se requieren dos o tres destinos, se pueden pasar como una dynamic matriz.

Devoluciones

Objeto de tipo dynamic que contiene la información sobre los destinos de análisis solicitados.

Browser: Family, MajorVersion, MinorVersion, Patch

OperatingSystem: Family, MajorVersion, MinorVersion, Patch, PatchMinor

Dispositivo: familia, marca, modelo

Advertencia

La implementación de la función se basa en comprobaciones regex de la cadena de entrada en un gran número de patrones predefinidos. Por lo tanto, el tiempo esperado y el consumo de CPU es alto. Cuando la función se usa en una consulta, asegúrese de que se ejecuta de forma distribuida en varias máquinas. Si las consultas con esta función se usan con frecuencia, es posible que desee crear previamente los resultados a través de la directiva de actualización, pero debe tener en cuenta que el uso de esta función dentro de la directiva de actualización aumentará la latencia de ingesta.

Ejemplos

Buscar parámetro como cadena

print useragent = "Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5.1"
| extend x = parse_user_agent(useragent, "browser") 

El resultado esperado es un objeto dinámico:

{
  "Browser": {
    "Family": "AdobeAIR",
    "MajorVersion": "2",
    "MinorVersion": "5",
    "Patch": "1"
  }
}

Parámetro de búsqueda como matriz dinámica

print useragent = "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-3/10.0.032 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/4"
| extend x = parse_user_agent(useragent, dynamic(["browser","os","device"])) 

El resultado esperado es un objeto dinámico:

{
  "Browser": {
    "Family": "Nokia OSS Browser",
    "MajorVersion": "3",
    "MinorVersion": "1",
    "Patch": ""
  },
  "OperatingSystem": {
    "Family": "Symbian OS",
    "MajorVersion": "9",
    "MinorVersion": "2",
    "Patch": "",
    "PatchMinor": ""
  },
  "Device": {
    "Family": "Nokia N81",
    "Brand": "Nokia",
    "Model": "N81-3"
  }
}