netdata
にstatsd
が組み込まれました。
statsd
はデータ収集のシステムです。netdata
はstatsd
を利用したリアルタイムモニタリングも提供出来るようになりました。
statsd の設定
netdata.conf
[statsd] # enabled = yes # update every (flushInterval) = 1 # udp messages to process at once = 10 # create private charts for metrics matching = * # max private charts allowed = 200 # max private charts hard limit = 1000 # private charts memory mode = save # private charts history = 3996 # histograms and timers percentile (percentThreshold) = 95.00000 # add dimension for number of events received = yes # gaps on gauges (deleteGauges) = no # gaps on counters (deleteCounters) = no # gaps on meters (deleteMeters) = no # gaps on sets (deleteSets) = no # gaps on histograms (deleteHistograms) = no # gaps on timers (deleteTimers) = no # listen backlog = 4096 # default port = 8125 # bind to = udp:localhost:8125 tcp:localhost:8125
初期状態でstatsd
が有効です。
無効化したい場合は以下の様に編集します。
[statsd] enabled = no (snip)
個別のチャート
statsd
が有効な状態であれば、特に設定の必要はありません。
この様にコマンドを実行すると、メトリクスデータを送信出来ます。
$ echo "NAME:VALUE|TYPE" | nc -u -w 1 localhost 8125 $ echo "private-metric2:123|c" | nc -u -w 1 localhost 8125
個別チャートのサンプル画像
“private-metric1"がgauges
で、"private-metric2"がcounters
です。
合成チャート
合成チャートを作成するには設定が必要です。$NETDATA_PREFIX/etc/netdata/statsd.d/
ディレクトリにファイル(*.conf
)を配置します。
ここでは、"app.“のプレフィクスをつけて送信したメトリクスデータを合成します。以下はデータの送信例です。
$ echo "app.metric1:666|g" | nc -u -w 1 localhost 8125
$NETDATA_PREFIX/etc/netdata/statsd.d/sample.conf
[app] name = myapp metrics = app.* private charts = no gaps when not collected = no memory mode = ram history = 60 [area] name = mychart1 name title = mychart1 title family = app area units = tests/s priority = 91000 type = area dimension = app.metric1 m1 dimension = app.metric2 m2 [stacked] name = mychart2 name title = mychart2 title family = app stacked units = tests/s priority = 91000 type = stacked dimension = app.metric1 m1 dimension = app.metric2 m2 [line] name = mychart3 name title = mychart3 title family = app line units = tests/s priority = 91000 type = line dimension = app.metric1 m1 dimension = app.metric2 m2
上記のサンプルでは同じデータからarea
,stacked
,line
の3つのチャートを作成してみました。
合成チャートのサンプル画像
“app.metric1"と"app.metric2"はどちらもgauges
でデータを送信しています。
メトリクスデータのタイプ一覧
type | value |
---|---|
gauges | g |
timers | ms |
histograms | h |
counters | c |
meters | m |
sets | s |