Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
OpenSearch Lenguaje de procesamiento canalizado (PPL)
Esta sección contiene una introducción básica a la consulta de CloudWatch registros mediante PPL. OpenSearch Con el PPL se pueden recuperar, consultar y analizar datos mediante comandos que están canalizados juntos, lo que facilita la comprensión y la redacción de consultas complejas. Su sintaxis se basa en las canalizaciones de Unix y permite encadenar comandos para transformar y procesar datos. Con el PPL, se pueden filtrar y agregar datos, así como utilizar un amplio conjunto de funciones matemáticas, de cadenas, de fecha, condicionales y de otro tipo para el análisis.
Incluirlo SOURCE en una consulta de PPL es una forma útil de especificar los grupos de registros, los índices de campos y las fuentes de datos que se van a incluir en una consulta cuando se utiliza la API AWS CLI o la API para crear una consulta. El SOURCE comando solo se admite en la API AWS CLI and, no en la CloudWatch consola. Cuando utiliza la CloudWatch consola para iniciar una consulta, utiliza la interfaz de la consola para especificar los grupos de registros y el nombre y el tipo de la fuente de datos.
Se usa aws:fieldIndex para devolver solo datos indexados, mediante el forzado de una consulta a analizar solo los grupos de registros que están indexados en un campo que se especifique en la consulta. Los grupos de registros relevantes se seleccionan automáticamente en función de los campos especificados en el filterIndex comando. Esto reduce el volumen escaneado, ya que se omiten los grupos de registro que no tienen ningún evento de registro que contenga el campo especificado en la consulta y se escanean únicamente los grupos de registro que coincidan con el valor especificado en la consulta para este índice de campos. Se utiliza aws:fieldIndex para especificar el nombre del campo, junto con el nombre y el valor del campo en el comando source para consultar únicamente los datos indexados que contienen el campo y el valor especificados. Para obtener más información, consulte Creación de índices de campo para mejorar el rendimiento de las consultas y reducir el volumen de análisis
Puede usar el OpenSearch PPL para consultas de grupos de registros de la clase de registro estándar.
nota
Para obtener información sobre todos los comandos de consulta de OpenSearch PPL compatibles con CloudWatch los registros e información detallada sobre la sintaxis y las restricciones, consulte los comandos de PPL compatibles en la Guía para desarrolladores de OpenSearch servicios.
Para obtener información sobre otros lenguajes de consulta que puede utilizar, consulte CloudWatch Logs Insights, OpenSearch Service SQL y CloudWatch Metrics Insights
| Comando o función | Consulta de ejemplo | Description (Descripción) |
|---|---|---|
|
campos |
|
Muestra un conjunto de campos que necesitan ser proyectados. |
|
unirse |
|
Une dos conjuntos de datos. |
|
where |
|
Filtra los datos en función de las condiciones que especifique. |
|
AWS: índice de campos |
|
Devuelve únicamente datos indexados, obligando a una consulta a analizar únicamente los grupos de registros que están indexados en un campo que usted especifique en la consulta. |
|
stats |
|
Realiza agregaciones y cálculos. |
|
parse |
|
Extrae un patrón de expresión regular (regex) de una cadena y muestra el patrón extraído. El patrón extraído se puede utilizar además para crear nuevos campos o filtrar datos. |
|
sort |
|
Ordena los resultados mostrados por un nombre de campo. Use ordenar: FieldName para ordenar en orden descendente. |
|
eval |
|
Modifica o procesa el valor de un campo y lo almacena en un campo diferente. Esto resulta útil para modificar matemáticamente una columna, aplicar funciones de cadena a una columna o aplicar funciones de fecha a una columna. |
|
rename |
|
Cambia el nombre de uno o más campos del resultado de la búsqueda. |
|
head |
|
Limita los resultados de la consulta a las N primeras filas. |
|
top |
|
Busca los valores más frecuentes de un campo. |
|
dedup |
|
Elimina entradas duplicadas en función de los campos que especifique. |
|
rare |
|
Busca los valores menos frecuentes de todos los campos de la lista de campos. |
|
subquery |
|
Realiza consultas anidadas y complejas en las instrucciones de PPL. |
|
trendline |
|
Calcula los promedios móviles de los campos. |
|
eventStats |
|
Enriquece los datos del evento con estadísticas resumidas calculadas. Analiza los campos específicos de sus eventos, calcula varias medidas estadísticas y, a continuación, agrega estos resultados a cada evento original como campos nuevos. |
|
expandir |
|
Divide un campo que contiene varios valores en filas independientes, creando una nueva fila para cada valor del campo especificado. |
|
fillnull |
|
Rellena los campos nulos con el valor que proporcione. Se puede usar en uno o más campos. |
|
flatten |
|
Aplana un campo. El campo debe ser de este tipo: |
|
cidrmatch |
|
Verifica si la dirección IP especificada está dentro del rango de CIDR dado. |
|
fieldsummary |
|
Calcula las estadísticas básicas de cada campo (recuento, recuento distinto, mínimo, máximo, promedio, stddev y media). |
|
grok |
|
Analiza un campo de texto con un patrón grok y agrega los resultados al resultado de la búsqueda. |
|
Funciones de cadena |
|
Funciones integradas en PPL que pueden manipular y transformar datos de texto y cadenas de texto dentro de las consultas de PPL. Por ejemplo, convertir mayúsculas y minúsculas, combinar cadenas, extraer partes y limpiar el texto. |
|
Funciones de fecha y hora |
|
Funciones integradas para administrar y transformar los datos de fecha y hora en las consultas PPL. Por ejemplo, date_add, date_format, datediff, date-sub, timestampadd, timestampdiff, current_timezone, utc_timestamp y current_date. |
|
Funciones de condiciones |
|
Funciones integradas que verifican condiciones de campo específicas y evalúan las expresiones de forma condicional. Por ejemplo, si field1 es nulo, devuelve el field2. |
|
Funciones matemáticas |
|
Funciones integradas para realizar cálculos matemáticos y transformaciones en consultas PPL. Por ejemplo, abs (valor absoluto), round (redondea números), sqrt (raíz cuadrada), pow (cálculo de potencia) y ceil (redondea al entero más cercano). |
|
CryptoGraphic funciones |
|
Para calcular el hash de un campo determinado |
|
Funciones JSON |
|
Funciones integradas para el manejo de JSON, incluidas las matrices, la extracción y la validación. Por ejemplo, json_object, json_array, to_json_string, json_array_length, json_extract, json_keys y json_valid. |
Alcance de la consulta
Incluir SOURCE en una consulta es una forma útil de especificar los grupos de registros que se van a incluir en una consulta cuando se utiliza la API AWS CLI o para crear una consulta. El comando SOURCE solo se admite en la API AWS CLI and, no en la CloudWatch consola. Cuando utiliza la CloudWatch consola para iniciar una consulta, utiliza la interfaz de la consola para especificar los grupos de registros y el nombre y el tipo de la fuente de datos.
El comando source de PPL ahora admite varias formas de especificarlos:
-
Grupo de registro
-
Índices de campo: nuevos
-
Fuente y tipo de datos: nuevos
Grupo de registros
La selección de fuentes de grupos de registros se puede utilizar cuando los clientes saben en qué grupos de registros exactos deben buscarse
source = [lg:`/aws/lambda/my-function`] | where status = 200 | head 10
Índices de campo
La selección de fuentes basada en índices de campos reduce la cantidad de datos consultados al limitar los resultados solo a los datos indexados cuando filtra los campos de destino que se han indexado. Los grupos de registros relevantes se seleccionan automáticamente en función de los campos especificados en el comando. filterIndex Para obtener más información sobre los índices de campos y cómo crearlos, consulte Crear índices de campos para mejorar el rendimiento de las consultas y reducir el volumen de digitalización.
Se usa aws:fieldIndex para devolver solo datos indexados, mediante el forzado de una consulta a analizar solo los grupos de registros que están indexados en un campo que se especifique en la consulta. Para los grupos de registros que están indexados en este campo, se optimiza aún más la consulta al omitir los grupos de registros que no tienen ningún evento de registro que contenga el campo especificado en la consulta del campo indexado. Se reduce aún más el volumen analizado al intentar analizar solo los eventos de registro de estos grupos de registros que coincidan con el valor especificado en la consulta para este índice de campos. Para obtener más información sobre los índices de campo y cómo crearlos, consulte Crear índices de campo para mejorar el rendimiento de las consultas y reducir el volumen de digitalización.
En PPL, aws:fieldIndex se usa para especificar qué pares de valores clave deben tratarse como índices. La sintaxis es la siguiente
source = [`aws:fieldIndex`="region", `region` = "us-west-2"] | where status = 200 | head 10
donde,
-
`aws:fieldIndex`="region"identifica la región como índice de campo.-
Nota: En lugar de =, los clientes pueden usar IN para especificar varios índices (ejemplo siguiente)
-
-
`region`="us-west-2"identifica la condición de filtro que se va a aplicar-
Nota: En lugar de =, los clientes pueden usar IN para especificar varios valores (ejemplo siguiente)
-
Los clientes pueden especificar varios índices de campos de la siguiente manera
source = [`aws:fieldIndex` IN ("status", "region"), `status` = 200, `region` IN ("us-west-2", "us-east-1")] | head 10
Fuente y tipo de datos
La selección de fuentes basadas en fuentes y tipos de datos se puede utilizar cuando los clientes saben qué fuentes de datos exactas deben consultarse. Esta consulta se ejecuta en uno o más grupos de registros que contienen la fuente y el tipo de datos especificados.
source = [ds:`data_source.type`] | where status = 200 | head 10
PPL compatible para consultas de fuentes de datos
Para respaldar el caso de uso de la consulta de fuentes de datos en PPL, puede utilizar la cláusula de selección dinámica de fuentes. Con esta sintaxis, puede consultar las fuentes de datos especificándolas en el comando de búsqueda. Puede especificar hasta 10 fuentes de datos.
Sintaxis
source=[ds:`DataSource1.Type1`, ds:`DataSource2.Type2`, ...ds:`DataSourcen.Typen`]
Consulta de ejemplo
search source=[ds:`DataSource1.Type1`, ds:`DataSource2.Type2`] | fields field1, field2
Ejemplo combinado
Los clientes pueden especificar todos los operadores de selección de fuentes en cualquier orden y el resultado sería la intersección de todas las condiciones aplicadas.
Por ejemplo,/aws/lambda/my-function-1 puede contener varios tipos y fuentes de datos, incluida una amplia variedad de índices. Cuando se ejecutó la siguiente consulta, los resultados devueltos solo tendrán eventos de origen y tipo DataSource 1.Type1 y que coincidan con el criterio de «estado» = 200.
search source=[ ds:`DataSource1.Type1`, lg:`/aws/lambda/my-function-1`, `aws:fieldIndex` IN ("status"), `status` = 200 ]
Restricciones
Cuando se utiliza OpenSearch PPL para realizar consultas en Logs Insights, se aplican las siguientes restricciones. CloudWatch
-
No puede usar comandos de unión o subconsulta con las consultas de fuentes de datos.