Expressões regulares
Visão geral
Perl Compatible Regular Expressions (PCRE, PCRE2) são suportadas no Zabbix.
Há duas maneiras de usar expressões regulares no Zabbix:
- Inserir manualmente uma expressão regular
- Usar uma expressão regular global criada no Zabbix
Expressões regulares
Você pode inserir manualmente uma expressão regular em locais suportados.
Observe que a expressão não deve começar com @, pois esse símbolo é usado no Zabbix para referenciar expressões regulares globais.
É possível ficar sem memória de pilha ao usar expressões regulares. Consulte o PCRE PERFORMANCE para obter mais informações.
Observe que, na correspondência em várias linhas, os âncoras ^ e $ correspondem ao início e ao fim de cada linha, respectivamente, em vez do início e do fim de toda a string.
Veja também exemplos de escape correto em vários contextos.
Expressões regulares globais
O Zabbix fornece um editor avançado no frontend para criar e testar expressões regulares complexas.
Para acessá-lo, vá para Administration > General > Regular expressions.
O Zabbix inclui várias expressões regulares globais predefinidas em seu conjunto de dados padrão.

Você pode filtrar a lista de expressões regulares por nome e descrição para encontrar as expressões de que precisa.
Configuração
Para criar uma expressão regular global, clique em Criar expressão regular e informe os parâmetros da expressão regular no formulário.

Todos os campos obrigatórios são marcados com um asterisco vermelho.
| Parâmetro | Descrição | |
|---|---|---|
| Nome | Defina o nome da expressão regular. Quaisquer caracteres Unicode são permitidos. | |
| Expressões | Clique em Adicionar na seção Expressões para adicionar uma nova subexpressão. | |
| Tipo de expressão | Selecione o tipo de expressão: Contém string - corresponde à substring. Contém qualquer substring da lista - corresponde a qualquer substring de uma lista delimitada. A lista delimitada inclui uma vírgula ,, um ponto . ou uma barra /.Não contém string - corresponde a qualquer string, exceto a substring. Corresponde à expressão regular - corresponde à expressão regular. Não corresponde à expressão regular - não corresponde à expressão regular. |
|
| Expressão | Informe a substring/expressão regular. Comprimento máximo: 2048 caracteres. |
|
| Delimitador | Uma vírgula ,, um ponto . ou uma barra / para separar cadeias de texto em uma expressão regular. Este parâmetro fica ativo somente quando o tipo de expressão Contém qualquer substring da lista é selecionado. |
|
| Diferencia maiúsculas de minúsculas | Uma caixa de seleção para especificar se uma expressão regular diferencia maiúsculas de minúsculas. | |
| Descrição | Informe uma descrição para a expressão regular. | |
| Testar expressão | Um valor a ser usado para testar a expressão regular. | |
Uma barra / na expressão é tratada literalmente, e não como delimitador.
Isso torna possível salvar expressões que contenham uma barra sem erros.
Um nome de expressão regular personalizada no Zabbix pode conter vírgulas, espaços etc.
Nos casos em que isso possa levar a uma interpretação incorreta ao fazer referência a ela (por exemplo, uma vírgula no parâmetro de uma chave de item), a referência inteira pode ser colocada entre aspas, assim: "\@My custom regexp for purpose1, purpose2".
Os nomes de expressões regulares não devem ser colocados entre aspas em outros locais (por exemplo, nas propriedades da regra de descoberta automática).
Depois que uma expressão regular é criada, ela pode ser usada em vários locais no frontend, referenciando seu nome com o prefixo @, por exemplo, @mycustomregexp.
Botões do formulário
Os botões na parte inferior do formulário permitem que você execute várias operações:
| Button | Description |
|---|---|
![]() |
Adicionar uma expressão regular. Este botão está disponível apenas para novas expressões regulares. |
![]() |
Atualizar as propriedades de uma expressão regular. |
![]() |
Criar outra expressão regular com base nas propriedades da expressão regular atual. |
![]() |
Testar uma expressão regular e suas subexpressões em relação a um valor fornecido. |
![]() |
Excluir a expressão regular. |
![]() |
Cancelar a edição das propriedades da expressão regular. |
Testando uma expressão regular
Você pode testar a expressão regular e suas subexpressões inserindo um valor no campo Test expression e clicando no botão Test.

Na coluna Test result, o status de cada subexpressão é exibido.
O campo Combined result exibe o status geral da expressão regular.
Se várias subexpressões estiverem definidas, o Zabbix usa o operador lógico AND para calcular o Combined result; isto é, se pelo menos um resultado for False, o Combined result também será False.
Expressões regulares globais padrão
O conjunto de dados padrão inclui as seguintes expressões regulares globais predefinidas:
| Name | Expression | Matches |
|---|---|---|
| File systems for discovery | ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$ |
"btrfs" ou "ext2" ou "ext3" ou "ext4" ou "reiser" ou "xfs" ou "ffs" ou "ufs" ou "jfs" ou "jfs2" ou "vxfs" ou "hfs" ou "apfs" ou "refs" ou "ntfs" ou "fat32" ou "zfs". |
| Network interfaces for discovery | ^Software Loopback Interface |
Strings que começam com "Software Loopback Interface". |
^lo$ |
"lo". | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Strings que começam opcionalmente com "In", seguidas por "L" ou "l", seguidas por "oop", seguidas por "B" ou "b", seguidas por "ack" e, opcionalmente, seguidas por qualquer número de dígitos, pontos ou sublinhados. | |
^NULL[0-9.]*$ |
Strings que começam com "NULL" e são opcionalmente seguidas por qualquer número de dígitos ou pontos. | |
^[Ll]o[0-9.]*$ |
Strings que começam com "Lo" ou "lo" e são opcionalmente seguidas por qualquer número de dígitos ou pontos. | |
^[Ss]ystem$ |
"System" ou "system". | |
^Nu[0-9.]*$ |
Strings que começam com "Nu" e são opcionalmente seguidas por qualquer número de dígitos ou pontos. | |
| Storage devices for SNMP discovery | ^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$ |
"Physical memory" ou "Virtual memory" ou "Memory buffers" ou "Cached memory" ou "Swap space". |
| Windows service names for discovery | ^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$ |
"MMCSS" ou "gupdate" ou "SysmonLog" ou strings que correspondem a "clr_optimization_v2.0.50727_32" ou "clr_optimization_v4.0.30319_32", em que cada ponto pode ser substituído por qualquer caractere, exceto uma nova linha. |
| Windows service startup states for discovery | ^(automatic|automatic delayed)$ |
"automatic" ou "automatic delayed". |
Importando/exportando uma expressão regular
Você pode importar ou exportar expressões regulares globais conforme descrito na página de configuração de exportação/importação de Regular expressions.
Exemplos
Exemplo de exclusão de uma string exata
Use a seguinte expressão na descoberta de baixo nível para descobrir bancos de dados, exceto um banco de dados com um nome específico:
^TESTDATABASE$

Tanto Test result quanto Combined result exibem FALSE: o nome corresponde a "TESTDATABASE", portanto a condição Does not match regular expression não é satisfeita.
Exemplo com um modificador de regex inline para uma correspondência sem distinção entre maiúsculas e minúsculas
Use a seguinte expressão regular, que inclui o modificador inline (?i) para realizar uma correspondência sem distinção entre maiúsculas e minúsculas dos caracteres "error":
(?i)error

Tanto Test result quanto Combined result exibem TRUE: os caracteres "error" são correspondidos mesmo com Case sensitive selecionado, porque o modificador inline (?i) torna a correspondência sem distinção entre maiúsculas e minúsculas.
Exemplo com vários modificadores inline de regex
Use a seguinte expressão regular, que inclui vários modificadores inline, para corresponder aos caracteres após uma linha específica:
(?<=match (?i)eveRything(?-i) after this line\r\n)(?sx).*# comment
onde:
(?i)- ativa a correspondência sem distinção entre maiúsculas e minúsculas;(?-i)- desativa a correspondência sem distinção entre maiúsculas e minúsculas;(?s)- ativa o modo dotall, permitindo que.corresponda a caracteres de nova linha;(?x)- ativa o modo estendido, permitindo que espaços em branco e comentários na expressão regular sejam ignorados.

Tanto Test result quanto Combined result exibem TRUE: os caracteres que seguem a linha específica são correspondidos.
O modificador g não pode ser especificado inline.
A lista de modificadores disponíveis pode ser encontrada na página man do pcresyntax.
Para mais informações sobre a sintaxe PCRE, consulte a documentação HTML do PCRE.
Suporte a expressão regular por local
| Location | Regular expression | Global regular expression | Multiline matching | Comments | |
|---|---|---|---|---|---|
| Itens do Agent | |||||
| eventlog[] | Yes | Yes | Yes | Parâmetros regexp, severity, source, eventid |
|
| eventlog.count[] | Parâmetros regexp, severity, source, eventid |
||||
| log[] | Parâmetro regexp |
||||
| log.count[] | |||||
| logrt[] | Yes/No | O parâmetro regexp suporta ambos; o parâmetro file_regexp suporta apenas expressões não globais |
|||
| logrt.count[] | |||||
| proc.cpu.util[] | No | No | Parâmetro cmdline |
||
| proc.get[] | |||||
| proc.mem[] | |||||
| proc.num[] | |||||
| sensor[] | Parâmetros device e sensor no Linux 2.4 |
||||
| system.hw.macaddr[] | Parâmetro interface |
||||
| system.sw.packages[] | Parâmetro regexp |
||||
| system.sw.packages.get[] | Parâmetro regexp |
||||
| 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[] | Yes | Parâmetro regexp |
|||
| vfs.file.regmatch[] | |||||
| web.page.regexp[] | |||||
| Traps SNMP | |||||
| snmptrap[] | Yes | Yes | No | Parâmetro regexp |
|
| Pré-processamento do valor do item | Yes | No | No | Parâmetro pattern |
|
| Funções para triggers/itens calculados | |||||
| count() | Yes | Yes | Yes | Parâmetro pattern se o parâmetro operator for regexp ou iregexp |
|
| countunique() | Yes | Yes | |||
| find() | Yes | Yes | |||
| logeventid() | Yes | Yes | No | Parâmetro pattern |
|
| logsource() | |||||
| Descoberta em baixo nível | |||||
| Filters | Yes | Yes | No | Campo Regular expression | |
| Overrides | Yes | No | Nas opções matches, does not match para condições de Operation | ||
| Condições de ação | Yes | No | No | Nas opções matches, does not match para condições de autorregistro de Host name e Host metadata | |
| Scripts | Yes | Yes | No | Campo Input validation rule | |
| Monitoramento web | Yes | No | Yes | Variables com prefixo regex: Campo Required string |
|
| Contexto de macro do usuário | Yes | No | No | No contexto da macro com prefixo regex: | |
| Funções de macro | |||||
| regsub() | Yes | No | No | Parâmetro pattern |
|
| iregsub() | |||||
| Indicadores de link em mapas | Yes | No | No | Campo Pattern (para itens de texto) | |
| Mapeamento de ícones | Yes | Yes | No | Campo Expression | |
| Mapeamento de valores | Yes | No | No | Campo Value se o tipo de mapeamento for regexp |
|
| Parâmetros de configuração do Agent | |||||
| AllowKeyRegexp | Yes | No | No | Pattern | |
| DenyKeyRegexp | |||||





