AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 413403
Accepted
debek
debek
Asked: 2017-12-29 00:56:55 +0800 CST2017-12-29 00:56:55 +0800 CST 2017-12-29 00:56:55 +0800 CST

Como configurar o Simple Event Correlator (SEC) para enviar informações sobre falha na entrega de e-mail

  • 772

Meu arquivo de log contém as 3 entradas de log a seguir:

2017-11-16 15:50:45 1eFLV7-0003so-Cd <= <> R=1eFLV7-0003sZ-4v U=Debian-exim P=local S=1853 T="Mail delivery failed: returning message to sender" from <>
2017-11-16 15:50:45 1eFLV7-0003so-Cd => [email protected] R=dnslookup T=remote_smtp H=smtp-51.xxx.com [xxx.xx.xx.xx] X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128
2017-11-16 15:50:45 1eFLV7-0003so-Cd Completed

Desejo que um e-mail seja enviado para mim, quando uma entrada "Falha na entrega de e-mail*[email protected]" aparecer no arquivo de log.

Como posso conseguir isso?

Talvez o SEC - Simple Event Correlator possa me ajudar?

Mas a configuração abaixo (padrão) não funciona para mim.

type=SingleWithThreshold
ptype=RegExp
pattern=Mail delivery failed: returning message to sender*[email protected]
desc=Problem with mail [email protected]
action=pipe '%s' /usr/bin/mail -s 'ERROR SEND MAIL' [email protected]
window=1
thresh=1
logs sendmail
  • 2 2 respostas
  • 590 Views

2 respostas

  • Voted
  1. EightBitTony
    2017-12-29T01:06:56+08:002017-12-29T01:06:56+08:00

    Você está usando SingleWithThresholde esperando que o * corresponda a duas linhas - não. Tente Pair.

    Algo como (não testado),

    type=Pair
    ptype=RegExp
    pattern=Mail delivery failed: returning message to sender
    ptype2=RegExp
    [email protected]
    desc2=Problem with mail [email protected]
    action2=pipe '%s' /usr/bin/mail -s 'ERROR SEND MAIL' [email protected]
    window=1
    

    Qualquer coisa que você tente precisa lidar com o fato de que você tem duas linhas de texto, separadas por uma nova linha. Muitas ferramentas de processamento de texto funcionarão em linhas individuais, e o caractere asterisco não contornará isso olhando também para a próxima linha.

    • 1
  2. Best Answer
    Risto Vaarandi
    2018-01-02T06:58:20+08:002018-01-02T06:58:20+08:00

    Pelo que entendi, você deseja corresponder a duas linhas consecutivas originárias do mesmo arquivo de entrada. Se for esse o caso, a solução mais fácil seria usar o padrão RegExp2. Na verdade, a SEC opera no modo de várias linhas o tempo todo, sem nenhuma opção de linha de comando especial, e o número de linhas correspondentes a qualquer padrão é definido com a palavra-chave 'ptype'. Aqui está a regra que pode ser útil para você:

    type=Single
    ptype=RegExp2
    pattern=Mail delivery failed: returning message to sender.*\n.*admins@xxx\.com
    desc=Problem with mail [email protected]
    action=pipe '%s' /usr/bin/mail -s 'ERROR SEND MAIL' [email protected]
    

    Nesta regra, 'RegExp2' significa "uma expressão regular que corresponde a 2 linhas consecutivas". Por padrão, essas linhas devem ser originadas do mesmo arquivo, mas a opção de linha de comando --jointbuf remove essa restrição. No entanto, em circunstâncias normais, você não gostaria de usar esta opção, pois ela coloca eventos de todas as fontes no mesmo buffer de entrada para correspondência de várias linhas, mas a ordem dos eventos não é determinada.

    Na regra de exemplo acima, observe também a expressão regular:

    Mail delivery failed: returning message to sender.*\n.*admins@xxx\.com
    

    Como por padrão .* não corresponde à nova linha, a expressão também utiliza \n para corresponder ao caractere de nova linha.

    Por fim, também gostaria de convidá-lo a postar mais perguntas sobre a SEC em sua lista de discussão ( https://sourceforge.net/p/simple-evcorr/mailman/simple-evcorr-users/ ), pois vários usuários experientes estão seguindo, que podem responder prontamente a perguntas semelhantes.

    Atenciosamente, risto

    • 0

relate perguntas

  • Filtre a saída do script e imprima-a na tela enquanto a redireciona em um arquivo

  • Usando sed para limpar caminhos longos em arquivos de log

  • O descritor logrotate pode lidar com vários curingas?

  • systemd: como redirecionar stdout para logfile

  • Níveis diferenciadores no journalctl

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve