web-dev-qa-db-ja.com

muninプラグインでDERIVEまたはCOUNTERを正しく使用する方法

Muninを使用してサーバーを監視しています。

プラグインを書くことができましたが、グラフの種類がGAUGEの場合のみです。 COUNTERまたはDERIVEを試してみると、データがログに記録またはグラフ化されません。

私が現在立ち往生しているプラ​​グインは、帯域幅の使用状況を監視するためのものであり、次のとおりです。

/ 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

/var/log/zen.logの内容は次のとおりです。

used.value 61.3251953125
remain.value 20.0146484375

そして、結果のデータベースは次のとおりです。

<!-- 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>

Last_dsの値は正しいですが、実際のデータベースには含まれていないようです。

DERIVEをGAUGEに変更すると、期待どおりに機能します。

munin-run bandwidth2 

/var/log/zen.logの内容を出力します

私はmuninプラグインの(まばらな)ドキュメントをくまなく調べてきましたが、間違いを見つけることができません。既存のプラグインを変更することも私にとってはうまくいきませんでした。

3
Johan

DERIVED値は整数値でなければならないと思うので、それらを丸めるか、GAUGEを使用します。

3
SinkovecJ

GAUGEを使ってみませんか?その月に使用された帯域幅を測定したい、それはゲージです。

DERIVE/COUNTERは、時間と比較した値に関心がある値用です。例えば。必要に応じて、1秒あたりのバイト数を確認してください

2
Daniel Alder