Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
fernando_tonial
Partner - Specialist
Partner - Specialist

Enviar e-mail na falha de uma tarefa no Qlik Sense Enterprise

Sim, é possível enviar e-mail na falha de tarefa com o Qlik Sense. E mais impressionante, sem uso de softwares adicionais.

 

O log do Qlik Sense Enterprise é baseado no log4net framework, onde podemos fazer algumas customizações com os appenders.

Para isso é necessário seguir alguns passos.

 

1-Criar o arquivo LocalLogConfig.xml

Para isso, basta copiar XML e colar em seu editor preferido.

Nesse exemplo foi utilizado a configuração do gmail, recomendo utilizar de sua empresa.

<?xml version="1.0"?>
<configuration>
    <!-- Mail appender-->
    <appender name="MailAppender" type="log4net.Appender.SmtpAppender">
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="levelMax" value="ERROR" />
        </filter>
        <filter type="log4net.Filter.DenyAllFilter" />
        <evaluator type="log4net.Core.LevelEvaluator">
            <param name="threshold" value="ERROR"/>
        </evaluator>
        <param name="to" value="fernando@tonial.xyz" /> <!-- informe o e-mail de quem receberá -->
        <param name="cc" value="" />
        <param name="from" value="SuaContaGmail@gmail.com" /> <!-- informe o e-mail remetente -->
        <param name="subject" value="[QSPCENTRAL] - Qlik Sense - Falha Tarefa!!!" />
        <param name="smtpHost" value="smtp.gmail.com" />
        <param name="username" value="SuaContaGmail@gmail.com" /> <!-- informe seu login SMTP -->
        <param name="password" value="SuaSenhaGmail" /> <!-- informe sua senha SMTP -->
        <param name="port" value="587" /> <!-- informe a porta SMTP (25, 465, 567)-->
        <param name="EnableSsl" value="true" /> <!-- Pode ser false -->
        <param name="Authentication" value="Basic" /> <!-- Pode ser none caso seu SMPT aceite (None Basic NTML) -->
        <param name="bufferSize" value="0" /> <!-- Defina como 0 para envio a cada Erro -->
        <param name="lossy" value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <!-- Você pode alterar o valor abaixo caso deseje personalisar a mensagem-->
            <param name="conversionPattern" value="%newline%date %-5level %newline%property{TaskName}%newline%property{AppName}%newline%message%newline%newline%newline" />
        </layout>
    </appender>
    <!--Send mail on task failure-->
    <logger name="System.Scheduler.Scheduler.Slave.Tasks.ReloadTask"> <!-- Filtrar que tipo de exceção será capturado -->
        <appender-ref ref="MailAppender" />
    </logger>
</configuration>

 

2-Salve o arquivo no local correto

Vamos salvar o aquivo criado anteriormente na local correto. É importante destacar, caso você tenha ambiente multi-node, é necessário fazer esse passo e o passo 3 em todos o nodes que possuem o serviço do SCHEDULER habilitado, mais detalhes de como habilitar ou desabilitar um serviço em seu node, veja aqui. Veja também exemplos de ambiente muiti-node.

Acesse o servidor que executa as tarefas e coloque o arquivo LocalLogConfig.xml na seguinte pasta C:\ProgramData\Qlik\Sense\Scheduler, mais detalhes no manual do Qlik Sense, clique aqui.

SchedulerLocal.png

3- Reinicie o Serviço Qlik Sense Scheduler Service

SchedulerRestart.png

 

4-Execute uma Tarefa que gere um erro.

Você pode criar um aplicativo Qlik Sense que gere um erro, por exemplo, ler um campo que não existe na tabela de origem.

Com isso você terá um e-mail em sua caixa de entrada informando o erro da tarefa.

 

Esse documento foi feito com a ajuda do Clever do Anjos cuv, no qual fez o documento original em inglês, muito obrigado.

 

Don't worry, be Qlik.

Abraços.

Tonial

Don't Worry, be Qlik.
Labels (2)
10 Replies
Hugo_Daher
Partner - Contributor
Partner - Contributor

útil e prático, obrigado por compartilhar!!