Mudanças

Ir para navegação Ir para pesquisar
Complementação do manual, com mais prints e detalhamento maior dos passos.
Linha 1: Linha 1:  
Esta instrução demonstra como fazer com que o Dude monitore os jobs que foram agendados no ERP. O monitoramento em si é feito via TBC: o Dude irá executar uma consulta pré-definida (via TBC) e um alerta será gerado caso o status do job esteja inconsistente.
 
Esta instrução demonstra como fazer com que o Dude monitore os jobs que foram agendados no ERP. O monitoramento em si é feito via TBC: o Dude irá executar uma consulta pré-definida (via TBC) e um alerta será gerado caso o status do job esteja inconsistente.
 +
 +
Os testes estão configurados para serem executados a cada 2 minutos (assim, as consultas são executadas a cada 2 minutos via TBC). Como ele precisa que 3 testes seguidos dêem erro para que um serviço seja considerado como "Não funcional", a notificação será gerada depois de aproximadamente 6 minutos do erro ter ocorrido efetivamente.
    
== O processo ==
 
== O processo ==
Linha 5: Linha 7:  
=== 1 - Agendamento do job, pelo ERP ===
 
=== 1 - Agendamento do job, pelo ERP ===
   −
Inicialmente, faça o agendamento do job, pelo ERP, definindo a recorrência desejada. Anote o ID do job, pois ele será necessário para os próximos passos
+
Inicialmente, faça o agendamento do job, pelo ERP, definindo a recorrência desejada. Anote o ID do job, pois ele será necessário para os próximos passos.
 +
 
 +
[[File:ClipCapIt-190320-084808.PNG]]
    
=== 2 - Geração do link para acesso ao TBC ===
 
=== 2 - Geração do link para acesso ao TBC ===
Linha 11: Linha 15:  
Gere o link que será utilizado para a fazer os testes. Ajuste-o para o job que será utilizado:
 
Gere o link que será utilizado para a fazer os testes. Ajuste-o para o job que será utilizado:
   −
<code>http://dude-adapter.fahor.com.br/ConsultaTBC.py?codcoligada=7&codaplicacao=S&codsentenca=FAHOR.TBC.025&scalar=True&parametros=IDJOB%3D812274%3BTIMEOUTINICIO%3D15%3BTIMEOUTFIM%3D15</code>
+
<code>http://dude-adapter.fahor.com.br/ConsultaTBC.py?codcoligada=7&codaplicacao=S&codsentenca=FAHOR.TBC.025&scalar=True&parametros=IDJOB%3D<strong>ID_JOB</strong>%3BTIMEOUTINICIO%3D<strong>TIMEOUT_DE_INICIO</strong>%3BTIMEOUTFIM%3D<strong>TIMEOUT_DE_FIM</strong></code>
 +
 
 +
Os parâmetros que precisam ser informados:
 +
 
 +
; ID_JOB
 +
: ID do job que foi agendado (e que foi obtido no passo anterior)
 +
; TIMEOUT_DE_INICIO
 +
: Prazo que o job tem para iniciar, depois do agendamento, em minutos. Se o job não iniciar no horário planejado, será aguardado o tempo especificado aqui antes de considerá-lo como um erro. Sugestão de valor: 15.
 +
; TIMEOUT_DE_FIM
 +
: Prazo que o job tem para concluir a execução, depois que ela for iniciada, em minutos. Se um job iniciado não concluir no tempo especificado aqui, será gerado um alerta. Sugestão de valor: 15.
 +
 
 +
O objetivo dos parâmetros relacionados à timeout é detectar casos em que o servidor de jobs trava ou não está em execução:
 +
 
 +
* O timeout de início detecta que o servidor de jobs não está em execução. Neste caso, o job encontra-se agendado, porém, por não ter nenhum servidor em execução, ele não é executado no horário especificado. Assim, se ele demorar mais tempo para iniciar do que o especificado aqui, um alerta será gerado. Sugere-se deixá-lo como 15 minutos para que, caso existam outros jobs concorrentes para execução, não sejam gerados alertas caso ele atrase alguns minutos para iniciar a execução.
 +
* O timeout de fim detecta que o servidor de jobs travou enquanto o job estava em execução. Neste caso, o job ficaria com o status "Executando" mas, como o servidor de jobs teria travado (ou reiniciado), ele permaneceria neste status. Assim, caso ele demore mais tempo do que o especificado neste parâmetro, será gerado um alerta. A sugestão de valor para este parâmetro também é 15 minutos; entretanto, caso o job possa demorar mais tempo do que isso para executar, pode-se aumentar este tempo.
 +
 
 +
=== 3 - Criação da função no Dude ===
 +
 
 +
No Dude, a função será responsável por executar o comando para chamar uma URL e devolver o resultado. Cada job monitorado precisa ter a própria função porque não é possível especificar parâmetros quando esta função é chamada.
 +
 
 +
Para isso, no Dude, dê dois cliques no painel '''Functions''' (1) e clique em '''Add''' (2).
 +
 
 +
[[File:ClipCapIt-190320-091633.PNG]]
 +
 
 +
Na tela de criação da função, especifique um nome no campo '''name''', uma descrição para ela no campo '''description'''. O nome não pode ter espaços e caracteres especiais, e a descrição é só um texto informativo sobre o que a função faz (tanto o nome quanto a descrição são exibidos na visão que tem a lista de funções). No campo '''code''', informe o seguinte (lembrando de substituir o destaque pelo link criado no passo anterior):
 +
 
 +
<code>ros_command(":local result [ /tool fetch url=\"<strong>URL</strong>\" as-value output=user ]; :put ($result->\"data\");")</code>
 +
 
 +
[[File:ClipCapIt-190319-191513.PNG]]
 +
 
 +
Dê um '''Ok''' nesta tela para finalizar a criação da função.
 +
 
 +
=== 4 - Criação do probe no Dude ===
 +
 
 +
O probe é responsável por chamar a função e, com base no resultado fornecido por ela, determinar se um serviço seria considerado como "funcionando" ou "não funcionando".
   −
=== 3 - Criação da função ===
+
Para criar o probe, dê dois cliques no item '''Probes''' (1) do painel da esquerda e clique em '''Add''' (2).
   −
:[[File:ClipCapIt-190319-191513.PNG]]
+
[[File:ClipCapIt-190320-093422.PNG]]
   −
<code>
+
Na tela de criação do probe, defina os seguintes campos:
ros_command(":local result [ /tool fetch url=\"http://dude-adapter.fahor.com.br/ConsultaTBC.py?codcoligada=7&codaplicacao=S&codsentenca=FAHOR.TBC.025&scalar=True&parametros=IDJOB%3D812274%3BTIMEOUTINICIO%3D15%3BTIMEOUTFIM%3D60\" as-value output=user ]; :put ($result->\"data\");")
  −
</code>
     −
=== 4 - Criação do probe ===
+
; Name
 +
: Defina o nome para ela. Neste nome, é importante deixar claro o que o job faz, pois é este nome que estará nos alertas emitidos pelo Dude caso a execução do processo falhe. Uma sugestão é colocar "Job [o que o job faz] - [Agendamento]".
 +
; Type
 +
: Selecione '''Function'''.
 +
; Available
 +
: Código que será executado para identificar se o serviço está funcional ou não. True indica que o serviço está funcional; false indica que ele está com problemas.<p>Utilize o código a seguir, substituindo o '''FUNCAO''' pela função criada no passo anterior (repare que há um "()" no final, que deve ser mantido):</p><p><code>string_find(<strong>FUNCAO</strong>(), "Ok") = 0</code></p><p>Obs: O teste é feito utilizando-se a função <code>string_find</code> porque a função de comparação de strings do Dude possuía bugs e não funcionava corretamente em versões antigas (não foram feitos testes nas versões mais novas para ver se o bug já foi corrigido ou não).</p>
 +
; Error
 +
: Código que será executado para retornar a mensagem de erro nos alertas.<p>Utilize o código a seguir, substituíndo '''FUNCAO''' pela função criada no passo anterior (lembrando de deixar o "()" no final dela):</p><p><code>if(string_find(<strong>FUNCAO</strong>(), "Ok") = 0, "", <strong>FUNCAO</strong>())</code></p>
   −
:[[File:ClipCapIt-190319-191730.PNG]]
+
[[File:ClipCapIt-190319-191730.PNG]]
   −
<code>
+
Dê um '''Ok''' na tela para concluir a criação do probe.
Available: string_find(tbc_job_fechamento_fahor_diario_01h30min(), "Ok") = 0
  −
Error: if(string_find(tbc_job_fechamento_fahor_diario_01h30min(), "Ok") = 0, "", tbc_job_fechamento_fahor_diario_01h30min())
  −
</code>
      
=== 5 - Vínculo com o "equipamento ERP" ===
 
=== 5 - Vínculo com o "equipamento ERP" ===
   −
:[[File:ClipCapIt-190319-191933.PNG]]
+
Para que o probe seja executado, deve-se vinculá-lo à um equipamento. Para isso, dê dois cliques em '''Devices''' para abrir o painel de equipamentos e dê dois cliques no equipamento '''ERP''' para abrí-lo.
 +
 
 +
[[File:ClipCapIt-190320-095240.PNG]]
 +
 
 +
Na aba '''Services''', clique em '''Add'''.
 +
 
 +
[[File:ClipCapIt-190319-191933.PNG]]
 +
 
 +
Na aba '''General''', informe o probe criado no passo anterior no campo '''Probe'''. Demais campos podem ser mantidos com a opção padrão.
 +
 
 +
[[File:ClipCapIt-190319-192049.PNG]]
 +
 
 +
Na aba '''Notifications''', marque a opção '''Use notifications''' e marque apenas a opção '''Serviços 24x7'''.
 +
 
 +
[[File:ClipCapIt-190319-192229.PNG]]
 +
 
 +
Na aba '''History''', desmarque a opção '''Graph poll times''', para que não sejam salvas no banco de dados as estatísticas de quanto tempo cada teste está levando para ser executado (reduzindo a quantidade de registos no banco de dados).
   −
:[[File:ClipCapIt-190319-192049.PNG]]
+
[[File:ClipCapIt-190319-192527.PNG]]
   −
:[[File:ClipCapIt-190319-192229.PNG]]
+
Por fim, dê um '''Ok''' nas telas que ficaram abertas.
   −
:[[File:ClipCapIt-190319-192527.PNG]]
+
[[Categoria:CI]]
Arquivo, CI, ERP, Funcionários, Professores, Burocratas, Administradores
2 629

edições

Menu de navegação