Las expresiones regulares compatibles con Perl (PCRE, PCRE2) son compatibles con Zabbix.
Hay dos formas de utilizar expresiones regulares en Zabbix:
Puede ingresar manualmente una expresión regular en lugares admitidos. Tenga en cuenta que la expresión no puede comenzar con @ porque ese símbolo se usa en Zabbix para hacer referencia a expresiones regulares globales.
Es posible quedarse sin stack cuando se usa expresiones regulares. Ver la página man pcrestack para más información.
Tenga en cuenta que en la coincidencia multilínea, los anclajes ^
y $
coinciden en el principio/final de cada línea respectivamente, en lugar del principio/final de toda la cadena.
Consulte también ejemplos de escape correcto en varios contextos.
Hay un editor avanzado para crear y probar expresiones regulares complejas en la interfaz de Zabbix.
Una vez que se ha creado una expresión regular de esta manera, se puede usar en varios lugares en la interfaz haciendo referencia a su nombre, con el prefijo @, por ejemplo, @mycustomregexp.
Para crear una expresión regular global:
La pestaña Expresiones permite establecer el nombre de la expresión regular y agregar subexpresiones.
Todos los campos de entrada obligatorios están marcados con un asterisco rojo.
Parámetro | Descripción | |
---|---|---|
Nombre | Establezca el nombre de la expresión regular. Se permiten todos los caracteres Unicode. | |
Expresiones | Haga clic en Agregar en el bloque Expresiones para agregar una nueva subexpresión. | |
Tipo de expresión | Seleccione el tipo de expresión: Cadena de caracteres incluida: coincide con la subcadena Cualquier cadena de caracteres incluida: coincide con cualquier subcadena de una lista delimitada. La lista delimitada incluye una coma (,), un punto (.) o una barra diagonal (/). Cadena de caracteres no incluida: coincide con cualquier cadena excepto la subcadena El resultado es VERDADERO: coincide con la expresión regular El resultado es FALSO: no coincide con la expresión regular |
|
Expresión | Ingrese una subcadena/expresión regular. | |
Delimitador | Una coma (,), un punto (.) o una barra diagonal (/) para separar cadenas de texto en una expresión regular. Este parámetro está activo solo cuando se selecciona el tipo de expresión "Cualquier cadena de caracteres incluida". | |
Distingue entre mayúsculas y minúsculas | Casilla de verificación para especificar si una expresión regular distingue entre mayúsculas y minúsculas. |
Una barra diagonal (/) en la expresión se trata de manera literal, en lugar de ser un delimitador. De esta manera, es posible guardar expresiones que contengan una barra diagonal sin errores.
Un nombre de expresión regular personalizado en Zabbix puede contener comas, espacios, etc. En aquellos casos en los que esto pueda llevar a una mala interpretación al hacer referencia (por ejemplo, una coma en el parámetro de una clave de elemento), toda la referencia puede colocarse entre comillas como esto: "@My custom regexp for purpose1, purpose2".
Los nombres de expresiones regulares no deben estar entre comillas en otras ubicaciones (por ejemplo, en las propiedades de la regla LLD).
En la pestaña Prueba, la expresión regular y sus subexpresiones se pueden probar proporcionando una cadena de prueba.
Los resultados muestran el estado de cada subexpresión y el estado total de las expresiones personalizadas.
El estado total de las expresiones personalizadas se define como Resultado combinado. Si se definen varias subexpresiones, Zabbix utiliza el operador lógico AND para calcular el Resultado combinado. Esto significa que si al menos un resultado es Falso, el Resultado combinado también tiene estado Falso.
Zabbix incluye varias expresiones regulares globales en su conjunto de datos predeterminado.
Nombre | Expresión | Coincidencias |
---|---|---|
Sistemas de archivos para descubrimiento | ^(btrfs|ext2|ext3|ext4|jfs|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|refs|apfs|ntfs|fat32|zfs)$ |
"btrfs" o "ext2" o "ext3" o "ext4" o "jfs" o "reiser" o "xfs" o "ffs" o "ufs" o "jfs" o "jfs2" o "vxfs" o "hfs" o "refs" o "apfs" o "ntfs" o "fat32" o "zfs" |
Interfaces de red para descubrimiento | ^Interfaz de bucle invertido de software |
Cadenas que comienzan con "Interfaz de bucle invertido de software". |
^lo$ |
"lo" | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Cadenas que opcionalmente comienzan con "In", luego tienen "L" o "l", luego "oop", luego "B" o "b", luego "ack", que puede ir seguido opcionalmente de cualquier número de dígitos, puntos o guiones bajos. | |
^NULL[0-9.]*$ |
Cadenas que comienzan con "NULL" opcionalmente seguidas de cualquier número de dígitos o puntos. | |
^[Ll]o[0-9.]*$ |
Cadenas que comienzan con "Lo" o "lo" y opcionalmente seguidas de cualquier número de dígitos o puntos. | |
^[Ss]ystem$ |
"System" o "system" | |
^Nu[0-9.]*$ |
Cadenas que comienzan con "Nu" opcionalmente seguidas de cualquier número de dígitos o puntos. | |
Dispositivos de almacenamiento para la detección de SNMP | ^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$ |
"Memoria física" o "Memoria virtual" o "Búferes de memoria" o "Memoria en caché" o "Espacio de intercambio" |
Nombres de servicios de Windows para la detección | ^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$ |
"MMCSS" o "gupdate" o "SysmonLog" o cadenas como "clr_optimization_v2.0.50727_32" y "clr_optimization_v4.0.30319_32" donde en lugar de puntos puede poner cualquier carácter excepto nueva línea. |
Estados de inicio del servicio de Windows para descubrimiento | ^(automatic|automatic delayed)$ |
"automático" o "automático retrasado" |
Uso de la siguiente expresión en descubrimiento de bajo nivel para descubrir bases de datos excepto una base de datos con un nombre específico:
Tipo de expresión elegido: "El resultado es FALSO". No coincide con el nombre,que contiene la cadena "TESTDATABASE".
Uso de la siguiente expresión regular que incluye un modificador en línea (?i) para que coincida con los caracteres "error":
Tipo de expresión elegido: "El resultado es VERDADERO". Los caracteres "error" son emparejado.
Uso de la siguiente expresión regular que incluye múltiples en línea modificadores para hacer coincidir los caracteres después de una línea específica:
(?<=match (?i)everything(?-i) after this line)(?sx).*# we add s modifier to allow . match newline characters
Tipo de expresión elegido: "El resultado es VERDADERO". Personajes después de un específico. línea coinciden.
El modificador g no se puede especificar en la línea. La lista de modificadores disponibles se puede encontrar en la página de manual de pcresyntax. Para obtener más información sobre la sintaxis PCRE, consulte PCRE HTML documentación.
Ubicación | Expresión regular | Expresión regular global | Coincidencia de varias líneas | Comentarios | ||
---|---|---|---|---|---|---|
Métricas del agente | ||||||
eventlog[] | Sí | Sí | Sí | Parámetros regexp , severity , source , eventid |
||
log[] | Parámetro regexp |
|||||
log.count[] | ||||||
logrt[] | Sí/No | El parámetro regexp admite ambos, el parámetro file_regexp admite solo expresiones no globales |
||||
logrt.count[] | ||||||
proc.cpu.util[] | No | No | parámetro cmdline |
|||
proc.mem[] | ||||||
proc.num[] | ||||||
sensor[] | parámetros device y sensor en Linux 2.4 |
|||||
system.hw.macaddr[] | parámetro interface |
|||||
system.sw.packages[] | parámetro package |
|||||
vfs.dir.count[] | parámetros regex_incl , regex_excl , regex_excl_dir |
|||||
vfs.dir.get[] | Parámetros regex_incl , regex_excl , regex_excl_dir |
|||||
vfs.dir.size[] | Parámetros regex_incl , regex_excl , regex_excl_dir |
|||||
vfs.file.regexp[] | Sí | Parámetro regexp |
||||
vfs.file.regmatch[] | ||||||
web.page.regexp[] | ||||||
Capturas SNMP | ||||||
snmptrap[] | Sí | Sí | No | Parámetro regexp |
||
Preprocesamiento de valores de elementos | Sí | No | No | Parámetro pattern |
||
Funciones para iniciadores/métricas calculados | ||||||
count() | Sí | Sí | Sí | Parámetro pattern si el parámetro operator es regexp o iregexp |
||
countunique() | Sí | Sí | ||||
find() | Sí | Sí | ||||
logeventid() | Sí | Sí | No | Parámetro pattern |
||
logsource() | ||||||
Descubrimiento de bajo nivel | ||||||
Filtros | Sí | Sí | No | Campo Expresión regular | ||
Anulaciones | Sí | No | En las opciones coincide, no coincide para las condiciones de Operación | |||
Condiciones de acción | Sí | No | No | En las opciones coincide, no coincide para las condiciones de registro automático Nombre de host y Metadatos de host | ||
Monitoreo web | Sí | No | Sí | Variables con un prefijo regex: Campo Cadena obligatoria |
||
Contexto de macro de usuario | Sí | No | No | En contexto de macro con un prefijo regex: | ||
Funciones de macro | ||||||
regsub() | Sí | No | No | Parámetro pattern |
||
iregsub() | ||||||
Asignación de iconos | Sí | Sí | No | Campo Expresión | ||
Asignación de valores | Sí | No | No | Campo Valor si el tipo de asignación es regexp |