×
  • Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

あなたの知らないRrdtool

on

  • 53 views

 

Statistics

Views

Total Views
53
Views on SlideShare
53
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    あなたの知らないRrdtool あなたの知らないRrdtool Presentation Transcript

    • あなたの知らないRRDtool 株式会社はてな システムプラットホーム部 id:shoichimasuhara
    • ■自己紹介 ● id:shoichimasuhara ● twitter:@shoichimasuhara ● 名前:桝原翔市 (ショーイチ) ● 所属:株式会社はてな システムプラットホーム部 ● 経歴 ● 塾講師 ● 陸上自衛官 ● 鯖管 (レンサバ) ● はてなインフラ (イマココ)
    • あなたの知らないRRDtool
    • ■ 先日書いたブログ ● 今日話す内容は半分以上は先日書いたブログのおさらいです rrdtoolは癒し - 桝原翔市的博客
    • カッコいいグラフを描いてみましょう
    • ■ まずはシンプルにMRTG風 rrdtool graph shoichi.example.com_loadavg5_1.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 400 --height 180 DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE AREA:value1#00FF00:"loadavg5"
    • ■ まずはシンプルにMRTG風
    • ■ AREAをLINE1に < AREA:value1#00FF00:"loadavg5" --- > LINE1:value1#00FF00:"loadavg5"
    • ■ AREAをLINE1に
    • ■ CDEFで0.01倍 rrdtool graph shoichi.example.com_loadavg5_3.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 400 --height 180 DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE CDEF:value2=value1,0.01,* AREA:value2#00FF00:"loadavg5"
    • ■ CDEFで0.01倍
    • ここから色を選んでカッコ良く
    • ■ --color オプション --color ${TYPE}#${COLOR} で指定 タイプ 説明 ARROW 軸の矢印 AXIS 軸の色 BACK 背景 CANVAS グラフ内側の背景 FONT フォント FRAME 凡例の枠 GRID グリッド MGRID Mグリッド SHADEA 影A SHADEB 影B
    • ■ ARROW
    • ■ AXIS
    • ■ BACK
    • ■ CANVAS
    • ■ FONT
    • ■ FRAME
    • ■ GRID
    • ■ MGRID
    • ■ SHADEA
    • ■ SHADEB
    • ■ 趣味全開のカラーサンプル rrdtool graph shoichi.example.com_loadavg5_5.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 400 --height 180 --color FONT#FF8C00 --color ARROW#FF8C00 --color AXIS#FF8C00 --color BACK#222222 --color CANVAS#000000 --color SHADEA#222222 --color SHADEB#222222 DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE CDEF:value2=value1,0.01,* AREA:value2#00FF00:"loadavg5"
    • ■ 趣味全開のカラーサンプル
    • ■ LINE1
    • ■ --slope-mode でなめらかに
    • ■ LINE2に薄いAREAを重ねる
    • ■ 現状 rrdtool graph shoichi.example.com_loadavg5_8.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 400 --height 180 --color FONT#FF8C00 --color ARROW#FF8C00 --color AXIS#FF8C00 --color BACK#222222 --color CANVAS#000000 --color SHADEA#222222 --color SHADEB#222222 --slope-mode DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE CDEF:value2=value1,0.01,* AREA:value2#004000 LINE2:value2#00FF00:"loadavg5"
    • ■ 装飾線足した(CPUコア数) > HRULE:2#FF0000:"cpu core":dashes=4
    • ■ 装飾線足した(CPUコア数)
    • ■ コア数以上を塗りつぶし rrdtool graph shoichi.example.com_loadavg5_10.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 400 --height 180 --color FONT#FF8C00 --color ARROW#FF8C00 --color AXIS#FF8C00 --color BACK#222222 --color CANVAS#000000 --color SHADEA#222222 --color SHADEB#222222 --slope-mode DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE CDEF:value2=value1,0.01,* CDEF:over1=value2,2,GT TICK:over1#662222:1 AREA:value2#004000 LINE2:value2#00FF00:"loadavg5" HRULE:2#FF0000:"cpu core":dashes=4
    • ■ コア数以上を塗りつぶし(解説) CDEF:over1=value2,2,GT value2 が 2 より大きい(GT=Greater Than) 時に真 TICK:over1#662222:1 over1 を #662222 の色で 1(100%) の高さで塗りつぶし
    • ■ コア数以上を塗りつぶし
    • ■ 1週間前の線 rrdtool graph shoichi.example.com_loadavg5_11.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 400 --height 180 --color FONT#FF8C00 --color ARROW#FF8C00 --color AXIS#FF8C00 --color BACK#222222 --color CANVAS#000000 --color SHADEA#222222 --color SHADEB#222222 --slope-mode DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE:start=end-2w CDEF:value2=value1,0.01,* CDEF:value3=value2 SHIFT:value3:604800 CDEF:over1=value2,2,GT TICK:over1#662222:1 AREA:value2#004000 LINE2:value2#00FF00:"loadavg5" LINE2:value3#FF8C00:"1 week ago" HRULE:2#FF0000:"cpu core":dashes=4
    • ■ 1週間前の線(解説) --start end-1w --end now DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE:start=end-2w 最初のグラフオプションの範囲外のデータを使うときはDEFで範囲を再指定します (再指定しないとグラフが出ない) CDEF:value3=value2 SHIFT:value3:604800 value3に渡した値を604800ずら(SHIFT)します
    • ■ 1週間前の線
    • (続きあるけど) ブログ記事おさらいここまで
    • もっとこう実用的な感じにしたい
    • GitHubのrrdtool-1.xのドキュメントを見てみると
    • GRAD=Gradient=グラデーション
    • これは使えるのでは
    • $ sh rrdtool_grad_test.sh ERROR: GRAD unsupported - use AREA instead
    • 使えなかった
    • 2010年3月30日って書いてあるんだが・・・
    • 使えないならCDEF芸
    • パッと見て状況がわかるグラフ
    • ■ パッと見て状況がわかるグラフ rrdtool graph shoichi.example.com_loadavg5_12.png --title "load average 5 of shoichi.example.com" --start end-1w --end now --width 768 --height 345 --color FONT#FF8C00 --color ARROW#FF8C00 --color AXIS#FF8C00 --color BACK#222222 --color CANVAS#000000 --color SHADEA#222222 --color SHADEB#222222 --slope-mode --lower-limit 0 DEF:value1=shoichi.example.com_loadavg5.rrd:value:AVERAGE:start=end-2w CDEF:value2=value1,0.01,* CDEF:value3=value2 SHIFT:value3:604800 CDEF:sharding_0=value2,0,GE,value2,0.0375,LT,value2,0,-,0.0375,IF,0,IF AREA:sharding_0#0000ff::STACK CDEF:sharding_1=value2,0.0375,GE,value2,0.075,LT,value2,0.0375,-,0.0375,IF,0,IF AREA:sharding_1#000cf2::STACK CDEF:sharding_2=value2,0.075,GE,value2,0.1125,LT,value2,0.075,-,0.0375,IF,0,IF AREA:sharding_2#0019e5::STACK CDEF:sharding_3=value2,0.1125,GE,value2,0.15,LT,value2,0.1125,-,0.0375,IF,0,IF AREA:sharding_3#0026d8::STACK CDEF:sharding_4=value2,0.15,GE,value2,0.1875,LT,value2,0.15,-,0.0375,IF,0,IF AREA:sharding_4#0033cc::STACK CDEF:sharding_5=value2,0.1875,GE,value2,0.225,LT,value2,0.1875,-,0.0375,IF,0,IF AREA:sharding_5#003fbf::STACK CDEF:sharding_6=value2,0.225,GE,value2,0.2625,LT,value2,0.225,-,0.0375,IF,0,IF AREA:sharding_6#004cb2::STACK CDEF:sharding_7=value2,0.2625,GE,value2,0.3,LT,value2,0.2625,-,0.0375,IF,0,IF AREA:sharding_7#0059a5::STACK CDEF:sharding_8=value2,0.3,GE,value2,0.3375,LT,value2,0.3,-,0.0375,IF,0,IF AREA:sharding_8#006699::STACK CDEF:sharding_9=value2,0.3375,GE,value2,0.375,LT,value2,0.3375,-,0.0375,IF,0,IF AREA:sharding_9#00728c::STACK CDEF:sharding_10=value2,0.375,GE,value2,0.4125,LT,value2,0.375,-,0.0375,IF,0,IF AREA:sharding_10#007f7f::STACK CDEF:sharding_11=value2,0.4125,GE,value2,0.45,LT,value2,0.4125,-,0.0375,IF,0,IF AREA:sharding_11#008c72::STACK CDEF:sharding_12=value2,0.45,GE,value2,0.4875,LT,value2,0.45,-,0.0375,IF,0,IF AREA:sharding_12#009966::STACK CDEF:sharding_13=value2,0.4875,GE,value2,0.525,LT,value2,0.4875,-,0.0375,IF,0,IF AREA:sharding_13#00a559::STACK CDEF:sharding_14=value2,0.525,GE,value2,0.5625,LT,value2,0.525,-,0.0375,IF,0,IF AREA:sharding_14#00b24c::STACK CDEF:sharding_15=value2,0.5625,GE,value2,0.6,LT,value2,0.5625,-,0.0375,IF,0,IF AREA:sharding_15#00bf3f::STACK CDEF:sharding_16=value2,0.6,GE,value2,0.6375,LT,value2,0.6,-,0.0375,IF,0,IF AREA:sharding_16#00cc33::STACK CDEF:sharding_17=value2,0.6375,GE,value2,0.675,LT,value2,0.6375,-,0.0375,IF,0,IF AREA:sharding_17#00d826::STACK CDEF:sharding_18=value2,0.675,GE,value2,0.7125,LT,value2,0.675,-,0.0375,IF,0,IF AREA:sharding_18#00e519::STACK CDEF:sharding_19=value2,0.7125,GE,value2,0.75,LT,value2,0.7125,-,0.0375,IF,0,IF AREA:sharding_19#00f20c::STACK CDEF:sharding_20=value2,0.75,GE,value2,0.7875,LT,value2,0.75,-,0.0375,IF,0,IF AREA:sharding_20#00ff00::STACK CDEF:sharding_21=value2,0.7875,GE,value2,0.825,LT,value2,0.7875,-,0.0375,IF,0,IF AREA:sharding_21#0cf200::STACK CDEF:sharding_22=value2,0.825,GE,value2,0.8625,LT,value2,0.825,-,0.0375,IF,0,IF AREA:sharding_22#19e500::STACK CDEF:sharding_23=value2,0.8625,GE,value2,0.9,LT,value2,0.8625,-,0.0375,IF,0,IF AREA:sharding_23#26d800::STACK CDEF:sharding_24=value2,0.9,GE,value2,0.9375,LT,value2,0.9,-,0.0375,IF,0,IF AREA:sharding_24#33cc00::STACK CDEF:sharding_25=value2,0.9375,GE,value2,0.975,LT,value2,0.9375,-,0.0375,IF,0,IF AREA:sharding_25#3fbf00::STACK CDEF:sharding_26=value2,0.975,GE,value2,1.0125,LT,value2,0.975,-,0.0375,IF,0,IF AREA:sharding_26#4cb200::STACK CDEF:sharding_27=value2,1.0125,GE,value2,1.05,LT,value2,1.0125,-,0.0375,IF,0,IF AREA:sharding_27#59a500::STACK CDEF:sharding_28=value2,1.05,GE,value2,1.0875,LT,value2,1.05,-,0.0375,IF,0,IF AREA:sharding_28#669900::STACK CDEF:sharding_29=value2,1.0875,GE,value2,1.125,LT,value2,1.0875,-,0.0375,IF,0,IF AREA:sharding_29#728c00::STACK CDEF:sharding_30=value2,1.125,GE,value2,1.1625,LT,value2,1.125,-,0.0375,IF,0,IF AREA:sharding_30#7f7f00::STACK CDEF:sharding_31=value2,1.1625,GE,value2,1.2,LT,value2,1.1625,-,0.0375,IF,0,IF AREA:sharding_31#8c7200::STACK CDEF:sharding_32=value2,1.2,GE,value2,1.2375,LT,value2,1.2,-,0.0375,IF,0,IF AREA:sharding_32#996600::STACK CDEF:sharding_33=value2,1.2375,GE,value2,1.275,LT,value2,1.2375,-,0.0375,IF,0,IF AREA:sharding_33#a55900::STACK CDEF:sharding_34=value2,1.275,GE,value2,1.3125,LT,value2,1.275,-,0.0375,IF,0,IF AREA:sharding_34#b24c00::STACK CDEF:sharding_35=value2,1.3125,GE,value2,1.35,LT,value2,1.3125,-,0.0375,IF,0,IF AREA:sharding_35#bf3f00::STACK CDEF:sharding_36=value2,1.35,GE,value2,1.3875,LT,value2,1.35,-,0.0375,IF,0,IF AREA:sharding_36#cc3300::STACK CDEF:sharding_37=value2,1.3875,GE,value2,1.425,LT,value2,1.3875,-,0.0375,IF,0,IF AREA:sharding_37#d82600::STACK CDEF:sharding_38=value2,1.425,GE,value2,1.4625,LT,value2,1.425,-,0.0375,IF,0,IF AREA:sharding_38#e51900::STACK CDEF:sharding_39=value2,1.4625,GE,value2,1.5,LT,value2,1.4625,-,0.0375,IF,0,IF AREA:sharding_39#f20c00::STACK CDEF:sharding_40=value2,1.5,GE,value2,INF,LT,value2,1.5,-,0.0375,IF,0,IF AREA:sharding_40#ff0000::STACK HRULE:2#FF0000:"cpu core":dashes=4 LINE2:value2#00FF00:"value2" LINE2:value3#FF8C00:"1 week ago"
    • ■ パッと見て状況がわかるグラフ Rosetta stone – Dissonancefalling https://www.flickr.com/photos/dissonancefalling/5264832096/
    • ■ パッと見て状況がわかるグラフ
    • 色を巧くつかうと複数枚のグラフを見るときに便利
    • 他にも
    • ■ 短調増加するディスク容量の予測
    • ■ 95%ile
    • ■ 95%ile ズームアップ
    • いろんなことができます
    • GitHubのコミットやドキュメント読むと知らない発見があるかも https://github.com/oetiker/rrdtool-1.x
    • “たとえばHEADだとrrdcachedのフル機能使える、とか”
    • みなさんも探してみてRRDtoolを楽しんでみてください
    • ご清聴ありがとうございました