ELK Stackでシステム監視 kibanaでVisualizeとDashboard作成のキホンのキ

前々回はkibanaでSearchオブジェクトを作成したので、今回はそれを利用してVisualizeオブジェクトを作成し、ダッシュボードにグラフを設置する。今回は推移を見るためのグラフとして「エリアチャート」(だけ)を使用する。

Visualize作成

kibanaでVisualize作成 1
画面1:
左列のメニューから[Visualize]を選択。
初めてだと存在しないが、作成済みのVisualizeがリスト表示される。上部の(新規追加)を押す。

kibanaでVisualize作成 2
画面2:
利用できるグラフ等のタイプがリスト表示される。今回はエリアチャートを使用したいので[ Area chart]をクリックする。

kibanaでVisualize作成 3
画面3:
作成済みのSearchオブジェクトがリスト表示されるのでグラフ化したいのを1つ選んでクリックする。今回はcollectdで取得したホストのメモリ使用状況のSearchオブジェクトを選択する。

kibanaでVisualize作成 4
画面4:
エリアチャートなのでX軸とY軸で考える。まずY軸方向に何を入れるかということで初期値で存在するY-Axisの左横の(右向き三角)を押して開く。

kibanaでSearch確認 1
画面5:
(実際にはここでVisualize画面から離れてSearch画面を開くと言うことではないが、)
グラフのX軸とY軸に何を入れるかが重要なので、メモリのSearchオブジェクトの構成を確認。
推移を見るグラフを作りたいのでX軸は時間にしたい。時間になるものは@timestampが適当。
Y軸は「メモリの使用量」(アバウト)の値なのでvalueが適当。
ただし、このSearchオブジェクトには実際には「メモリの使用量」(?)を抽出しているのではなく、メモリのfree, active, inactive, wired, cacheの各値が入っている。それらの種類がtype_instance。
だから5種類のデータが含まれている。

kibanaでVisualize作成 5
画面6:
Y-AxisにはY軸側の設定を入れる。
上で確認したようにY軸方向は「値」にしたい。グラフにはその値の何を使いたいか「最大」「最小」「平均」その他を選択する。
今回は「平均」にしたいのでAggregationをAverageにした。FieldはY軸方向に何を表示したいかなので「値」であるvalue。
必ず先にAggregationを指定してからFieldを指定する。Aggregationを変更した場合はFieldが未選択になるので再度指定しなければならない。
Y軸の設定をしただけではグラフとして成立しないのでX軸側の指定を行う。
bucketsでX-Axisをクリック。

kibanaでVisualize作成 6
画面7:
X-Axisが表示されるのでAggregationをプルダウンメニューから選択する。
今回はX軸を時間軸にするので[Date Histogram]を選択する。

kibanaでVisualize作成 7
画面8:
Fieldには時間軸となるものを指定するので画面5で確認した@timestampを指定する。
インターバルは「分」「時間」「日」その他を選択できるけどAutoでも良い。
上の画像ではCustom Label欄を空白にしているが、X軸の下に表示する文字列の指定。「時間」でも何でも良いので書いといた方が良いかも。でないと未指定では例えば「@timestamp per 5 minute」などと表示されることになる。

これだけだとメモリのfree, active, inactive, wired, cacheの全て値が1つのグラフに入ってわけがわからないので各type_instanceに分離してやる。そこで [Add sub-buckets]をクリック。

kibanaでVisualize作成 8
画面9:
Split Areaは1つのチャートに複数のグラフ。Split Chartはチャートを複数に分けてそれぞれ1グラフにするもの。
今回は1つのチャートに複数の折れ線グラフを描きたい。そこで[Split Area]をクリック。

kibanaでVisualize作成 9
画面10:
Split Areaが新しく表示される。
今回はSub AggregationのブルダウンメニューでTermsを選択する。

kibanaでVisualize作成 10
画面11:
Field欄は「何によって分離するか」を選ぶので画面5で見たようにメモリのfree, active, inactive, wired, cacheという種類があるtype_instanceを指定したい。プルダウンメニューで選べるのはtype_instace.keyword。
Order byとかOrderは何を何順というものなので好みで。Sizeは分離した項目を幾つまで表示するかというもので重要なのに結構指定し忘れやすい。今回の例では元々type_instanceに含まれるのが5種類なのでSizeの初期値5でぴったりだが、5種類以上含まれるのに初期値のままにしているとOrderで指定された上位5項目しか表示されない。

kibanaでVisualize作成 11
画面12:
ここまでで一応全て指定したのでグラフを描いてみる。上部の(グラフ描画)を押す。この記事ではこのタイミングで押すとしているが、X軸Y軸共に最低1つ指定してグラフとして成立するようになった時点でグラフは描ける。グラフ表示は自動更新しないので指定を変更して確認したい度にを押す。
グラフの色が気に入らなければグラフの凡例部分をクリックすると上の画像の上部右端部分のように色見本から色を選択可能。
思ったとおりに出来た(または作成途中で一時的にキープ)ということでこのVisualizeを保存するには上部の[Save]をクリック。

kibanaでVisualize作成 12
画面13:
新しいVisualizeオブジェクトとして名前を付けて[Save]を押す。

collectdで集めたデータはこれと同じ方法でグラフ化するのが多いのでこれを憶えればいろいろ対応できる。
次に、違うパターンとしてcollectdで収集したロードアベレージのデータをグラフ化する。

kibanaでSearch確認 2
画面14:
上の画像は作成済みのロードアベレージSearchオブジェクトで抽出したデータ。
前述のメモリと同じく推移を見るグラフを作りたいのでX軸は時間にしたい。時間になるものは@timestampが適当。(これは同じ)
Y軸が前述のメモリとは違ってlongterm, midterm, shorttermというフィールド名があってそれに値が入っている。グラフのY値は「値」にするので今回はY軸方向はlongterm, midterm, shorttermの3つとなる。

kibanaでVisualize作成 13
画面15:
過程は大幅に省略したが、Y-AxisでFieldにlongtermを選択する、[Add metrics]を押してFieldにmidtermを選択する、[Add metrics]を押してFieldにshorttermを選択する、ということを行った。
X軸側はAggregationでDate Histogramを選択し、Fieldで@timestampを選択、ということをした。つまり時間軸を作っただけ。

kibanaでVisualize作成 14
画面16:
で、先に作ったメモリとロードアベレージのグラフで何が最も違うかというと、メモリの方は「内訳」なので各値を積み重ねるとおおよそメモリの総量になる、ロードアベレージの方はそれぞれ独立した値なので各値を積み重ねちゃダメということ。
kibanaのエリアチャートの初期値は「積み重ねる」(Stacked)なのでロードアベレージでは変更してやらないといけない。
上の方に[Options]タブがあるのでそれをクリック。
Chart Modeをstackedからoverlapに変更。
その他は好みで。例えば上の画像ではグラフの線をカクカクの折れ線ではなく曲線のsmoothedに変更している。グラフのY軸の最大値・最小値や凡例の位置もこの画面で。

Dashboard作成

kibanaでDashboard作成 1
画面17:
左メニューからDashboardをクリック。
これまでにDashboardを1つも作成していないなら[+ Create a dashboard]ボタンがあるのでそれを押す。(上の画像)
既に1つ以上のDashboardを作成しているならDashboardリストが表示されて[+ Create a dashboard]ボタンが存在しないので上の方にある (新規作成)を押す。

kibanaでDashboard作成 2
画面18:
新規作成したダッシュボードは当然空なのでemptyであるという表示がある筈。
上部の[Add]を押して部品(Visualizeオブジェクト等)を追加することになる。

kibanaでDashboard作成 3
画面19:
今回はグラフを追加するので作成済みのVisualizeオブジェクトをリストから選択する。上の画像ではprocessを選択しているが前述のメモリオブジェクトと似たようなもの。リストのオブジェクトをクリックすると開いているダッシュボードにそのグラフの枠が追加されるので好きなだけポチポチする。

kibanaでDashboard作成 4
画面20:
この画像ではメモリとロードアベレージのグラフを追加してグラフを右に広げた。グラフの大きさや位置は変更可能。
新規作成時はもちろんだけどダッシュボードに変更を加えたら上部の[Save]を押して保存する。

kibanaでDashboard作成 5
画面21:
ダッシュボードの名前を付けて[Save]を押す。

違うダッシュボードを表示するときは左上の赤いkibanaロゴの右横のDashboardをクリック。

Visualize, Dashboardオブジェクトの管理

kibanaでVisualize作成 15
画面17:
VisualizeとDashboardもSearchオブジェクトと同様にManagementから管理できる。
Saved Objectsを選択してから[Dashboards] [Seaches] [Visualizations]のタブを選択して中のリストから操作する。
リストのオブジェクト名をクリックするとソースの編集画面になる。この記事のレベルの人だと途方にくれるやつ。
そこで、リスト表示のオブジェクト名にマウスカーソルを合わせてその右横に表示される(目玉)アイコンをクリックすると、ここまでの記事で触ってた画面Search, Visualize, Dashboardのビジュアル画面で表示される。

ここまでkibanaのキホンのキだけで、小学2年の算数でグラフの作り方を習ってれば出来る程度の内容。Excelで初めて簡単な表を単純なグラフにするのと同様ツマランっちゃつまらんけど、これだけでもできるようになるといろいろやってみたいっていう意欲が湧くよね。

関連記事:

中国巨大物流拠点のヤバさの片鱗を見た

物が安いだけでなく送料無料が多いので中国の通販を利用することが多い。中国の通販なんて散々デタラメ放題やってそうに見えて意外としっかり荷物が届く。ヤフオクよりよほど「品物が届かないトラブル」が少ない(皆無)という印象。まぁ梱包の潰れや破れはザラだけど。
ただし、届くといっても日数がかかることがある。運が良ければ中国国内の輸送が順調ですぐに飛行機に乗ってというコースで注文から1週間〜10日で届くということもあるんだけど、ヘタすると3週間〜40日くらいかかることも。荷物の追跡情報を見ると、中国国内の物流拠点で滞る場合と日本行きの飛行機または船の積み込み待ちで滞留が多いみたい。積み込み待ちはSAL便扱いならまぁ理解できるとして、理解できないのは中国の物流拠点で2週間ちかく動かなくなるの。過去の経験では 深圳と広州の拠点で詰まることが多いかと。稀に拠点間を行ったり来たりという訳のわかんない動きもあるけど。
中国の物流ってテレビの映像で見ると作業員が荷物をブン投げてたりでグッシャグシャな印象だけどどうなってるのかしら。

と、思ってたら画像を見つけた。以下の写真は広州の中央局らしい。

広州中央局 1
http://www.chinapost.com.cn/res/ChinaPostZH/1611/161161437.jpg
巨大なターミナルに大掛かりなソーター、すごい数のシューターが並んでいるのは壮観だけど、右下の方なんかヤバくね?

広州中央局 2
http://www.chinapost.com.cn/res/ChinaPostZH/1611/161161436.jpg
幾つかのシューターが詰まってるっぽいのでソーターを流れてきた荷物がそれらのシューターに落ちずに暫く回った後にリジェクトされる筈。つまり仕分ける段階で遅延が発生していると思われる。
それとも中国のソーターはシューターが詰まっててもおかまいなく強制的に荷物を落とす(シューが荷物をシューターに押し出す、或いはトレーがパタンとなって荷物がシューターに滑り出す)仕様なのかしら?
よく見ると(よく見なくても)、一番手前のシューターの高い方のスロープと低い方のスロープの合流部に大きなが段差があるの。上のレーンから急な傾斜を荷物が勢いよく滑り落ちて更に段差を自由落下でドサっ。下のレーンのスロープの急なスロープとの合流部分、落ちてきた荷物が当たる部分と思われるところが削れて変色しているのを見てもヤバさがわかる。低いレーンから押し出された荷物は運悪く上から落ちてきた荷物とぶつかって破損の可能性も。

あと、人海戦術と聞いてたわりに人が少ない印象。弾幕薄いよ!なにやってんの?

って、中国だからって悪口書いてると「オマエ何言ってるか。このソーター日本の某社から買った日本製アルね」ってことになると困るなぁ。ソーターなんてどこも似たような物かもしれないけど何か20年くらい前の某社のソーター&含シューターにそっくりなのよね。

広州中央局 3
http://www.chinapost.com.cn/res/ChinaPostZH/1611/161161438.jpg
シューターの下が溢れかえってゴミ処分場状態。オエーっ
キャプションは「広州中央局のスタッフがメールをスキャンしています。」になっているけど、こんなんスキャンされてもその荷物はいつ動くのかしら?写ってはいないけどこれだとスキャンする人は絶対に荷物を足で払いながら進むよね。つまり多くの荷物が足蹴りを受けるわけだ。踏み潰されないだけマシ?
こんな状態でのスキャン作業だとスキャン漏れの荷物もきっと大量だよね。だから、頻繁に荷物追跡情報で荷物がワープするのね。

これらの画像、荷物の扱いの実情に心を痛めた従業員・作業員のリークかと思ったらなんと中国郵政グループのウェブサイトの記事のなの。
つまり、一般の感覚では「これは酷い」なのに、「こんなに超大量の荷物を捌く俺達スゲー」なのか、それともこれでもマシなところ・綺麗なところを抜き出して見せてるのかもしれないってこと。ウヒョ

こんなので、いつも荷物が届くのが信じられない気分。

出典: http://www.chinapost.com.cn/xhtml1/report/16116/872-1.htm

Up