• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Integração Postfix

Nossa integração Postfix consolida os dados do servidor de e-mail em uma única visualização, para que você possa rastrear quantos e-mails são enviados, devolvidos ou adiados em um determinado período de tempo. Nossa integração Postfix usa nosso agente de monitoramento de infraestrutura e oferece um dashboard pré-construído com suas métricas Postfix mais importantes, como processo de entrega de e-mail, fila de e-mail e visão geral de mensagens.

Depois de configurar nossa integração Postfix, fornecemos um dashboard para sua métrica Postfix.

Configure a integração do Postfix

Conclua as etapas a seguir para configurar a integração do Postfix:

Instalar o agente de infraestrutura

Para usar a integração do Postfix, você também precisa instalar o agente de infraestrutura no mesmo host. O agente de infraestrutura monitora o próprio host, enquanto a integração que você instalará na próxima etapa amplia seu monitoramento com dados específicos do Postfix.

Exportar dados Postfix

Exporte sua métrica Postfix com pflogsumm. O agente Postfix usapflogsumm como analisador log , que se traduz em dados métricos sobre sua atividade Postfix. Isso fornece detalhes suficientes para antecipar possíveis incidentes com administração de e-mail.

Siga estas etapas para usar pflogsumm.

  1. Execute os seguintes comandos para fazer download e extrair pflogsumm:

    bash
    $
    wget https://jimsun.linxnet.com/downloads/pflogsumm-1.1.3.tar.gz
    bash
    $
    tar xvf pflogsumm-1.1.3.tar.gz
  2. Vá para a pasta pflogsumm .

    bash
    $
    cd pflogsumm-*.*.*
  3. Copie o arquivo pflogsumm.pl para o caminho /usr/local/bin/pflogsumm :

    bash
    $
    sudo cp pflogsumm.pl /usr/local/bin/pflogsumm
  4. Execute os seguintes comandos pflogsumm para exportar a métrica do Postfix:

    bash
    $
    cat /var/log/mail.log | pflogsumm
    $
    cat /var/log/mail.log | pflogsumm -d today

Configurar NRI-Flex para Postfix

Flex, nossa ferramenta de monitoramento aplicativo agnóstico, vem junto com o agente New Relic Infrastructure . Siga estas etapas para criar um arquivo de configuração flexível para seus dados Postfix:

  1. Crie um arquivo chamado postfix-flex-config.yml:

    bash
    $
    touch /etc/newrelic-infra/integrations.d/postfix-flex-config.yml
  2. Atualize o arquivo postfix-flex-config.yml. Recomendamos que você trabalhe com nosso exemplo de configuração abaixo:

    ---
    integrations:
    - name: nri-flex
    config:
    name: postfixFlex
    apis:
    #check if Postfix service is up.
    - event_type: PostfixUp
    commands:
    - run: echo "value:$(systemctl status postfix | grep 'Active':' active' | wc -l)"
    split_by: ':'
    #check if Postfix service is down.
    - event_type: PostfixDown
    commands:
    - run: echo "value:$(systemctl status postfix | grep 'Active':' active' | wc -l)"
    split_by: ':'
    #Read the grand totals messages by using the below script.
    - event_type: PostfixGrandTotals
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -A 21 'Grand Totals'
    split: horizontal
    set_header: [metricValue, message]
    regex_match: true
    split_by: \s+(\d+\w*)\s+(.*)
    #Read the number of messages delivered & received in bytes.
    - event_type: PostfixMessageBytes
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -A 1 'bytes received'
    split: horizontal
    set_header: [metricValue, messageBytes]
    regex_match: true
    split_by: \s+(\d+\w*)\s+(.*)
    #Read the number of messages held by the user.
    - event_type: PostfixHeldMessage
    commands:
    - run: echo "value:$(cat /var/mail/<USER> | grep -c 'Subject:')"
    split_by: ':'
    #Read the count of SASL authentication failure notifications.
    - event_type: PostfixSASLauthFailed
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep 'status=deferred (SASL authentication failed' | wc -l)"
    split_by: ':'
    #Read the count of bounced non-delivery notifications.
    - event_type: PostfixBounceNondeliveryNotification
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep 'postfix/bounce' | wc -l)"
    split_by: ':'
    #Read the number of messages passed through the email delivery process.
    - event_type: PostfixEmailDeliveryProcess
    commands:
    - run: echo "PICKUPvalue:$(cat /var/log/mail.log | grep 'pickup' | wc -l)"
    split_by: ':'
    - run: echo "CLEANUPvalue:$(cat /var/log/mail.log | grep 'cleanup' | wc -l)"
    split_by: ':'
    #Read the number of message inserted in mail queue.
    - event_type: PostfixMessageInsertedinMailQ
    commands:
    - run: echo "Ivalue:$(cat /var/log/mail.log | grep 'queue active'| wc -l)"
    split_by: ':'
    #Read the number of message handled by SMTP process.
    - event_type: PostfixMessageHandledBySMTP
    commands:
    - run: echo "SENTmsg:$(cat /var/log/mail.log | grep 'status=sent' | grep "postfix/smtp" | wc -l)"
    split_by: ':'
    - run: echo "BOUNCEDmsg:$(cat /var/log/mail.log | grep 'status=bounced' | grep "postfix/smtp" | wc -l)"
    split_by: ':'
    - run: echo "DEFERREDmsg:$(cat /var/log/mail.log | grep 'status=deferred' | grep "postfix/smtp" | wc -l)"
    split_by: ':'
    #Read the number of message removed from mail queue.
    - event_type: PostfixMessageRemovedFromMailQ
    commands:
    - run: echo "Rvalue:$(cat /var/log/mail.log | grep 'removed'| wc -l)"
    split_by: ':'
    #Read the number of SMTPD connection.
    - event_type: PostfixSMTPDconnection
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep ' connect from' | wc -l)"
    split_by: ':'
    #Read the number of SMTPD disconnection.
    - event_type: PostfixSMTPDdisconnection
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep 'disconnect from' | wc -l)"
    split_by: ':'
    #Read the number of SMTP connection.
    - event_type: PostfixSMTPconnection
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep ' connect to' | wc -l)"
    split_by: ':'
    #Read the number of SMTP disconnection.
    - event_type: PostfixSMTPdisconnection
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep 'disconnect to' | wc -l)"
    split_by: ':'
    #Read the number of connection timed out.
    - event_type: PostfixSMTPDtimedOut
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep 'timeout after CONNECT' | wc -l)"
    split_by: ':'
    #Read the number of connection lost.
    - event_type: PostfixSMTPDconnectionLost
    commands:
    - run: echo "value:$(cat /var/log/mail.log | grep 'lost connection' | wc -l)"
    split_by: ':'
    #Read the per-hour traffic report.
    - event_type: PostfixMessagePerHourReport
    commands:
    - run: cat /var/log/mail.log | pflogsumm -d today | grep -i 'Per-Hour Traffic Summary' -A 27
    split: horizontal
    header_split_by: \s+(\w+)\s+(\w+)\s+(\w+)\s+(\w+)\s+(\w+)\s+(.*)
    set_header:
    [
    time,
    received.perhour,
    delivered.perhour,
    deferred.perhour,
    bounced.perhour,
    rejected.perhour,
    ]
    regex_match: true
    split_by: \s+(\d+-\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)
    #Read the per-day traffic summary.
    - event_type: PostfixMessageTrafficPerDay
    commands:
    - run: cat /var/log/mail.log | pflogsumm --zero_fill | grep -C 12 'Per-Day Traffic Summary' -B 0 -A 8 | sed '/Per-Hour Traffic Daily Average/q'
    split: horizontal
    header_split_by: \s+(\w+)\s+(\w+)\s+(\w+)\s+(\w+)\s+(\w+)\s+(.*)
    set_header:
    [date, received, delivered, deferred, bounced, rejected]
    regex_match: true
    split_by: \s+(\w+\s+\d+\s+\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)
    #Read the host/domain summary: message delivery & received.
    - event_type: PostfixHostSummary
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -i 'Host/Domain Summary':' Message Delivery' -A 8 | sed -n '2,9p'
    split: horizontal
    header_split_by: \s+(\w+\s+\w+)\s+(\w+)\s+(\w+)\s+(\w+\s+\w+)\s+(\w+\s+\w+)\s+(.*.)
    set_header:
    [sentCount, bytesDelivered, defers, avgDaily, maxDaily, host]
    regex_match: true
    split_by: \s+(\d+)\s+(\d+\w*)\s+(\d+)\s+(\d+.\d+\s+\w)\s+(\d+.\d+\s+\w)\s+(.*)
    - run: cat /var/log/mail.log | pflogsumm | grep -A 15 'Host/Domain Summary':' Messages Received' | sed '/Senders by message count/q'
    split: horizontal
    header_split_by: \s+(\w+\s+\w+)\s+(\w+)\s+(.*.)
    set_header: [msgCount, bytesReceived, hostDetail]
    regex_match: true
    split_by: \s+(\d+)\s+(\d+\w*)\s+(.*)
    #Read the senders & recipients with message count.
    - event_type: PostfixSenderRecipientMessageCount
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -C 11 'Senders by message count' -B 1 -A 9 | sed '/Recipients by message count/q'
    split: horizontal
    header_split_by: (.*.)
    set_header: [sender.msgCount, senders]
    regex_match: true
    split_by: \s+(\d+)\s+(.*)
    - run: cat /var/log/mail.log | pflogsumm | grep -C 11 'Recipients by message count' -B 1 -A 9 | sed '/Senders by message size/q'
    split: horizontal
    header_split_by: (.*.)
    set_header: [recipient.msgCount, recipients]
    regex_match: true
    split_by: \s+(\d+)\s+(.*)
    #Read the daemon message details.
    - event_type: PostfixDaemonMessage
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -A 10 'Master daemon messages'
    split: horizontal
    set_header: [daemon.msgCount, daemonMessage]
    regex_match: true
    split_by: \s*(\d+)\s+(\w+.*.)
    #Read the message deferral details.
    - event_type: PostfixDeferralMessage
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -A 15 'message deferral detail' | sed '/message bounce detail (by relay)/q'
    split: horizontal
    header_split_by: (\s+\w+\s+.*)
    set_header: [deferral.msgCount, deferralMessage]
    regex_match: true
    split_by: \s*(\d+)\s+(\w+.*.)
    #Read the warning message details.
    - event_type: PostfixWarningMessage
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -v 'mail_queue_enter' | grep -C 100 'Warnings' -B 1 -A 10 | sed '/Fatal Errors/q'
    split: horizontal
    header_split_by: \s+(\w+)\s+(.*)
    set_header: [Warning.msgCount, warningMessage]
    regex_match: true
    split_by: \s*(\d+)\s\s\s(.*.)
    #Read the error message details.
    - event_type: PostfixErrorMessage
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -C 15 'Fatal Errors' -B 1 -A 10 | sed '/Panics/q'
    split: horizontal
    header_split_by: \s+(\w+)\s+(.*)
    set_header: [Fatal.msgCount, fatalMessage]
    regex_match: true
    split_by: \s*(\d+)\s\s\s(.*.)
    #Read the message bounce details.
    - event_type: PostfixBounceMessage
    commands:
    - run: cat /var/log/mail.log | pflogsumm | grep -A 10 'message bounce detail (by relay)' | sed '/message reject detail/q'
    split: horizontal
    header_split_by: \s+(\w+)\s+(.*)
    set_header: [Bounce.msgCount, bounceMessage]
    regex_match: true
    split_by: \s*(\d+)\s\s\s(.*.)

    Se você preferir fazer o seu próprio, certifique-se de que seu arquivo yaml siga o padrão acima. Edite o seguinte atributo conforme necessário:

  • EVENT_TYPE: Uma tabela de banco de dados New Relic que você pode consultar usando NRQL.
  • COMMAND: O comando usado para imprimir métricas no terminal.

Encaminhe seu log do Postfix para o New Relic

Siga estas etapas para encaminhar o log do Postfix para New Relic:

  1. Crie um arquivo denominado logging.yml no diretório do agente de infraestrutura:

    bash
    $
    touch /etc/newrelic-infra/logging.d/logging.yml
  2. Adicione o seguinte trecho ao arquivo logging.yml :

    logs:
    - name: mail.log
    file: /var/log/mail.log
    attributes:
    logtype: postfix_maillog

Reinicie o agente de infraestrutura

Use as instruções em nossos documentos do agente de infraestrutura para reiniciar seu agente de infraestrutura. Este é um comando básico que deve funcionar para a maioria das pessoas:

bash
$
sudo systemctl restart newrelic-infra.service

Encontre e use dados

Siga estas etapas para usar nosso modelo dashboard pré-construído para visualizar facilmente seus dados Postfix:

  1. Vá para

    one.newrelic.com

    e clique em

    + Add data

    .

  2. Clique na guia

    Dashboards

    .

  3. Na caixa de pesquisa, digite Postfix.

  4. Ao ver nosso dashboard pré-construído, clique nele para instalá-lo em sua conta.

    Seu dashboard Postfix é um painel personalizado. Acesse-o na interface Dashboards . Para obter documentos sobre como usar e editar o painel, consulte nossos documentos dashboard .

    Para obter mais informações sobre como encontrar e usar seus dados, consulte Compreender os dados de integração. Aqui estão alguns exemplos de consulta NRQL para dados Postfix:

Qual é o próximo?

Para saber mais sobre como construir uma consulta NRQL e gerar um painel, confira estes documentos:

  • Introdução ao criador de consulta para criação de consultas básicas e avançadas.

  • Introdução aos dashboards para personalizar seu dashboard e realizar diversas ações.

  • Gerencie seu dashboard para ajustar o

    modo de exibição ou para adicionar mais conteúdo ao dashboard.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.