Discoverで採取したnumber型数値のグラフ表記


#1

初めまして。初心者の質問で申し訳ございません。
ただいまバックアップのジョブ結果を取得してデータ転送量をグラフ表示するようなダッシュボードをrsync+td-agent(2,3,6-0.el7)+elasticsearch(5.6.12-1)+kibana(5.6.12-1)で構築しようとしています。

rsyncからのログは単純な「バックアップ取得時間(date)」「バックアップ転送byte量(data)」を1行毎に並べたもので、td-agentからelasticsearchへの転送は完了しkibanaでもdateは@timestump、dataはnumberとして認識され、discover画面でも@timestump、dataともに正しく認識され以下のように表記されていますが、

X軸にtime(data histogram・daily)、Y軸にdata(Aggregation:Max)を指定し、visualizeでグラフを作成すると、dataを指定した数値(Y軸)がどの日付においても2という数値になってしまいます。(下図参照)

discoverの設定までは問題なさそうなのですが、visualizeのY軸のAggregation設定をSumやAvarageにしても表記は変わりません。elasticsearchやkibanaのログを見ても特にエラーが確認できないため、困っております。

書籍を読み、いろいろ試してみましたが、このように1日一回吐き出されるログの数値を取り込みグラフ化するといった使われ方はほかに例がなく、申し訳ありませんが、解決法についてご教示いただけませんでしょうか?

やりたいこととしては、日ごとに採取したdata値の値がそのままY軸に表記され、グラフ化できればと思っております。何卒よろしくお願いします。


(tsgkdt) #2

es, kibanaを5.6.12を使って同じようなデータで試してみましたが、
とくに特別なことをしなくても、日ごとのMAXのデータ転送量の文字列(NumberをByteフォーマットした値)が表示されました。

Visualizeの下部にある上向きの△の部分を押すと、返されたデータのTable表示や、Request/Responseの中身を確認することができます。

ここで、Discoverで確認した内容とあっているか、2GBになっているのであれば、どのようなリクエストを投げて、レスポンスを得ているのかが見られると思いますので、それを見ていただくと何かヒントが得られるかもしれません。


#3

tsgkdtさん
お忙しい中、検証までしていただき、誠にありがとうございます。
いただいた手順で確認してみます。


#4

おはようございます。本件、解決しましたのでご報告させていただきます。
結論といたしましては、mapping templateの指定でdataの型指定をintegerからlongにしたところ解決いたしました。

cat bcp-result.mapping.template.json
{
"template":"bcp-result*",
"mappings":{
"default":{
"properties":{
"@timestamp":{"type":"date"},
"data":{"type":"long"}
}
}
}
}

kibana上での設定はご指摘いただき正しいことが分かったので、テンプレートでの型指定を見直すというところに原因を絞り込むことができましたので大変助かりました。ありがとうございました。


(system) #5

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.