Alerta sobre o status do fantoche com falha

4

Eu posso ver os nós "No momento, com falha" na GUI da Web do painel de fantoches, e até mesmo analisá-los para ver qual política deu errado. Eu também posso ver se os nós não estão relatando.

Existe alguma maneira de obter essas falhas como alertas por email?

    
por Kyle Brandt 29.11.2011 / 15:46

5 respostas

2

O relatório "tagmail" do Puppet pode fazer o que você quiser. Consulte o link para obter mais informações.

    
por 29.11.2011 / 20:23
0
O Foreman Email é possivelmente a melhor maneira de obter esses relatórios. Você poderia executá-lo ao lado do Dashboard.

    
por 01.12.2011 / 02:37
0

Eu tive o mesmo problema, e em vez de passar pelo esforço de instalar o Foreman, acabei escrevendo um script shell / cron rápido e sujo para enrolar o grep e enviar os resultados por e-mail. Pensei que poderia ser útil postar. Certamente pode ser tratado, mas funciona para mim no momento.

#!/bin/bash

UNRESPURL="http://puppet/nodes/unresponsive"
ERRORURL="http://puppet/nodes/failed"
[email protected]

NUMUNRESPNODES='curl ${UNRESPURL} 2> /dev/null | grep -Po '(?<=<a href="/nodes/unresponsive">)([^</a>]*)' | grep -v "Unresponsive"'
NUMERRORNODES='curl ${ERRORURL} 2> /dev/null | grep -Po '(?<=<a href="/nodes/failed">)([^</\a>]*)' | grep -v "Failed"'

# Check if there are any unresponsive nodes, before emailing
if [ ${NUMUNRESPNODES} -gt 0 ]; then
        # Email an alert
        echo "There are ${NUMUNRESPNODES} puppet nodes that haven't reported back to the puppetmaster. Please check ${UNRESPURL} for more info." | mail -s "ALERT: ${NUMUNRESPNODES} puppet nodes are unresponsive" ${EMAIL}
fi

# Check if there are any nodes with errors, before emailing
if [ ${NUMERRORNODES} -gt 0 ]; then
    # Email an alert
    echo "There are ${NUMERRORNODES} puppet nodes that are reporting errors. Please check ${ERRORURL} for more info." | mail -s "ALERT: ${NUMERRORNODES} puppet nodes are reporting errors" ${EMAIL}
fi

exit 0
    
por 18.06.2012 / 02:53
0

O que fazemos atualmente no Stack Exchange (Vimos alguns comentários positivos sobre essa pergunta, então imaginei adicionar uma resposta atualizada):

Nosso agente de monitoramento scollector lê o arquivo de resumo de execução em /var/lib/puppet/state/last_run_summary.yaml . Quando convertida em uma estrutura, a porção relevante desse arquivo é a seguinte:

Resources struct {
    Changed         float64 'yaml:"changed"'
    Failed          float64 'yaml:"failed"'
    FailedToRestart float64 'yaml:"failed_to_restart"'
    OutOfSync       float64 'yaml:"out_of_sync"'
    Restarted       float64 'yaml:"restarted"'
    Scheduled       float64 'yaml:"scheduled"'
    Skipped         float64 'yaml:"skipped"'
    Total           float64 'yaml:"total"'
} 'yaml:"resources"'

O agente envia a contagem de recursos "Falha", que atua como um medidor. Posso então ter uma regra em nosso sistema de monitoramento bosun que alerta se houve falhas nos recursos de forma consistente por um período de tempo com falha:

$t = 2h
$notes = This alert will trigger when a host has consistently had failed resources for longer than $t
$q = min(q("sum:1h-min:puppet.run.resources{resource=failed,host=*}", "$t", ""))
warn = $q

Este método de obter as estatísticas de last_run_summary.yaml deve ser aplicável a qualquer sistema de monitoramento.

    
por 05.01.2015 / 17:56
0

Estou procurando a mensagem Log > Level > err, que também pode criar uma mensagem errada em uma execução bem-sucedida. Isso é gerado pelo arquivo de log e pode ser visto no painel:

err Failed to call refresh: Could not restart Service[haproxy]: Execution of '/sbin/service haproxy restart' returned 1:

    
por 30.01.2015 / 18:38

Tags