O plugin do munin é sempre expirado

1

Eu quero usar munin para fazer um gráfico de ttyACM0 no Linux, mas munin não pode criar o gráfico. Eu encontrei algumas informações em "munin-node.log". mostra que "a temperatura 'do serviço' expirou". Então mudei o tempo limite para 60 ou 120 em /munin/plugin-conf.d/munin-node , mas isso não funciona. Também está esgotado.

Aqui faz parte do meu código:

    if [ "$1" = "config" ]; then
            echo 'graph_title Temperature of board'
            echo 'graph_args --base 1000 -l 0'
            echo 'graph_vlabel temperature(°C)'
            echo 'graph_category temperature'
            echo 'graph_scale no'
            echo 'graph_info This graph shows the temperature of board'

    for i in 1 2 3 4 5; do
                    case $i in
                            1)
                            TYPE="Under PCB"
                            ;;
                            2)
                            TYPE="HDD"
                            ;;
                            3)
                            TYPE="PHY"
                            ;;
                            4)
                            TYPE="CPU"
                            ;;
                            5)
                            TYPE="Ambience"
                            ;;
                    esac
                    name=$(clean_name $TYPE)
                    if [ "$TYPE" != "NA" ]; then
                            echo "temp_$name.label $TYPE";
                    fi
            done
            exit 0
fi

            for i in 1 2 3 4 5; do
                    case $i in
                            1)
                            TYPE="Under PCB"
                            VALUE=$(head -1 /dev/ttyACM0 | awk '{print $1}')
                            ;;
                            2)
                            TYPE="HDD"
                            VALUE=$(head -1 /dev/ttyACM0 | awk '{print $2}')
                            ;;
                            3)
                            TYPE="PHY"
                            VALUE=$(head -1 /dev/ttyACM0 | awk '{print $3}')
                            ;;
                            4)
                            TYPE="CPU"
                            VALUE=$(head -1 /dev/ttyACM0 | awk '{print $4}')
                            ;;
                            5)
                            TYPE="Ambience"
                            VALUE=$(head -1 /dev/ttyACM0 | awk '{print $5}')
                            ;;
                    esac

                    name=$(clean_name $TYPE)
                    if [ "$TYPE" != "NA" ]; then
                            echo "temp_$name.value $VALUE"
                    fi
    
por haoX 27.09.2012 / 18:05

1 resposta

0

De uma perspectiva do Munin, o código do seu plugin parece correto.

Baseado neste código, suspeito que o que quer que esteja escrevendo para o ttyACM0 não tenha sido feito, ou precise ser pesquisado antes de escrever qualquer coisa. Se não houver nada para ler em / dev / ttyACM0, as chamadas principais bloquearão (aguardem) até que mais dados estejam disponíveis.

Se este for um sensor de temperatura comercial, eu verificaria se há uma ferramenta de linha de comando compatível com ele e usarei isso ao escrever o plug-in munin.

    
por 30.09.2012 / 21:34