Como usar corretamente DERIVE ou COUNTER em plugins munin

3

Estou usando munin para monitorar meu servidor.

Eu consegui escrever plugins para ele, mas somente se o tipo de gráfico for GAUGE. Quando eu tento COUNTER ou DERIVE, nenhum dado é registrado ou gráfico.

O plug-in no qual estou atualmente preso é para monitorar o uso da largura de banda e é o seguinte:

/ etc / munin / plugins / bandwidth2

#!/bin/sh

if [ "$1" = "config" ]; then
    echo 'graph_title Bandwidth Usage 2'
    echo 'graph_vlabel Bandwidth'
    echo 'graph_scale no'
    echo 'graph_category network'
    echo 'graph_info Bandwidth usage.'

    echo 'used.label Used'
    echo 'used.info Bandwidth used so far this month.'
    echo 'used.type DERIVE'
    echo 'used.min 0'

    echo 'remain.label Remaining'
    echo 'remain.info Bandwidth remaining this month.'
    echo 'remain.type DERIVE'
    echo 'remain.min 0'

    exit 0
fi

cat /var/log/zen.log

O conteúdo do /var/log/zen.log é:

used.value 61.3251953125
remain.value 20.0146484375

E o banco de dados resultante é:

<!-- Round Robin Database Dump --><rrd> <version> 0003 </version>
    <step> 300 </step> <!-- Seconds -->
    <lastupdate> 1269936605 </lastupdate> <!-- 2010-03-30 09:10:05 BST -->

    <ds>
            <name> 42 </name>
            <type> DERIVE </type>
            <minimal_heartbeat> 600 </minimal_heartbeat>
            <min> 0.0000000000e+00 </min>
            <max> NaN </max>

            <!-- PDP Status -->
            <last_ds> 61.3251953125 </last_ds>
            <value> NaN </value>
            <unknown_sec> 5 </unknown_sec>
    </ds>

<!-- Round Robin Archives -->   <rra>
            <cf> AVERAGE </cf>
            <pdp_per_row> 1 </pdp_per_row> <!-- 300 seconds -->

            <params>
            <xff> 5.0000000000e-01 </xff>
            </params>
            <cdp_prep>
                    <ds>
                    <primary_value> NaN </primary_value>
                    <secondary_value> NaN </secondary_value>
                    <value> NaN </value>
                    <unknown_datapoints> 0 </unknown_datapoints>
                    </ds>
            </cdp_prep>
            <database>
                    <!-- 2010-03-28 09:15:00 BST / 1269764100 --> <row><v> NaN </v></row>
                    <!-- 2010-03-28 09:20:00 BST / 1269764400 --> <row><v> NaN </v></row>
                    <!-- 2010-03-28 09:25:00 BST / 1269764700 --> <row><v> NaN </v></row>
                    <snip>

O valor para last_ds está correto, ele simplesmente não parece estar no banco de dados real.

Se eu alterar DERIVE para GAUGE, isso funcionará como esperado.

munin-run bandwidth2 

exibe o conteúdo de /var/log/zen.log

Eu estive em todos os (esparsos) documentos para plugins do munin, e não consigo encontrar o meu erro. Modificar um plugin existente também não funcionou para mim.

    
por Johan 30.03.2010 / 10:46

2 respostas

3

Acho que os valores DERIVED devem ser valores inteiros, ou arredondá-los ou usar o GAUGE.

    
por 25.03.2011 / 15:32
2

Por que não usar o GAUGE? Você quer medir a largura de banda usada ao longo do mês, isso é um GAUGE.

DERIVE / COUNTER é para valores nos quais você está interessado em seu valor comparado ao tempo. por exemplo. se você quiser ver bytes por segundo no seu caso

    
por 05.01.2013 / 22:49

Tags