SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
NetApp clustered ONTAP
sysstatをkibanaで可視化する
前田 賢介
1
もくじ
1. はじめに
 資料作成の経緯
2. Kibana+Elasticsearch+Fluentdを組み合わせてみる
3. sysstatを可視化してみる
4. 補足:競合製品紹介
2
1.はじめに
~資料作成の経緯~
3
資料作成の経緯 (cDOT性能監視の悩み)
 cDOTの性能監視/分析(OCPM)がイマイチ
 OnCommand Insightは敷居が高い…
 cDOT8.3からOnCommand Unified Manager5.2(Performance Advisor)がnot support
 OCPM2.xからよくなるとのうわさも…
 大規模環境になると、製品毎に監視ツールをデプロイするのはもう辛い…
 運用者ごとに見れるモニタリングツールが限られるため、全体を俯瞰(ふかん)した
ボトルネック調査ができないめんどくさい
 ログフォーマットもUIもバラバラで使い方/見方の勉強から始める必要がある…etc
OS/ミドルウェア/アプリケーションストレージ/サーバ/ネットワーク
4
資料作成の経緯
もっとシンプルに
性能や容量のモニタリングを
一元化できないか?
そんな方法があったらいいなという思いで
調べ始めました…
5
資料作成の経緯
そんな方法…
ありました
6
もっとシンプルに
性能や容量のモニタリングを
一元化できないか?
どうすればできるのか?
 今流行りのログ収集->可視化アプローチ
手順1
• 色々なログを一か所に集約し、
統一フォーマットに加工する
手順2
• データベースに流し込む
手順3
• データを可視化する
7
今流行りのログ収集->可視化アプローチ
 イメージ図
ログ加工
ログ収集
(SSH/API/SNMP/Syslog…etc)
Database化
可視化ツール
運用者
(Webブラウザを利用)
8
今流行りのログ収集->可視化アプローチ
 イメージ図
ログ加工
ログ収集
(SSH/API/SNMP/Syslog…etc)
Database化
可視化ツール
どんなものなのか?
運用者
(Webブラウザを利用)
9
可視化ツールのイメージ
kibana
Grapana
Map
積上げ棒グラフ
積上げ折れ線グラフ
Markdown方式のペー
ジ
10
今流行りのログ収集->可視化アプローチ
 イメージ図
サーバ1台から実装可能
ログ加工
ログ収集
(SSH/API/SNMP/Syslog…etc)
Database化
可視化ツール
運用者
(Webブラウザを利用)
11
2.Kibana+Elasticsearch+Fluentd
を組み合わせてみる
12
どうすればできるのか?
 今流行りのログ収集->可視化アプローチ
手順1
• 色々なログを一か所に集約し、
統一フォーマットに加工する
手順2
• データベースに流し込む
手順3
• データを可視化する
13
ログ加工
ログ収集
(SSH/API/SNMP/Syslog…etc)
Database化
可視化ツール
運用者
(Webブラウザを利用)
Kibana+Elasticsearch+Fluentdの構成
14
各OSSの紹介
1. Fluentd
2. Elasticsearch
3. Kibana
15
16
Fluentdとは
 バラバラのログフォーマットをJSONフォーマットに加工する
ツール
 データは[time],[tag],[record(key:value)]で構成される
 各アプリケーションログの入力や、
データベースやファイルへの出力はプラグインで実装される
 Rubyで動いている
※JSONとは[Key:Value]形式でデータを保存する
XML軽量版のようなもの
17
Fluentdとは
ようするに
ログをいい感じに加工して
好きな形式に吐き出してくれる
ツール
18
今回のsysstat分析に使うプラグイン紹介
 in_tailプラグイン
 tail –fのように特定のログを監視し、
書き込まれたタイミングでParse(加工)処理を行うプラグイン
 Ruby正規表現を使用して、ログをJSON(Key:Value)形式に変換
 複数行のログを読み込むことも可能
http://kazegusuri.hateblo.jp/entry/2014/06/28/201239
 以下のページでParseテストが可能
http://fluentular.herokuapp.com
 out_elasticsearchプラグイン
 その名の通り、InputしたデータをElasticsearchへ放り込むプラグイ
ン
 以下ページからダウンロード
https://github.com/uken/fluent-plugin-elasticsearch
19
大規模なFluentd構成例
 FluentdからFluentdへのForwardも可能なため、役割を分
担させることで負荷分散も実現可能らしい
参考:
http://www.slideshare.net/tagomoris/distributed-stream-processing-on-fluentd-fluentd
20
参考資料
 Fluentd公式ページ
 http://www.fluentd.org/
 Fluentd meetup in japan
 http://www.slideshare.net/treasure-data/fluentd-meetup-in-japan-11410514
 fluentd を利用した大規模ウェブサービスのロギング
 http://www.slideshare.net/hotchpotch/20120204fluent-logging
 Distributed Stream Processing on Fluentd
 http://www.slideshare.net/tagomoris/distributed-stream-processing-on-
fluentd-fluentd
 Fluentular (in_tailプラグインテストツール)
 http://fluentular.herokuapp.com/
21
22
Elasticsearchとは
 全文検索エンジン
 RDBではない
 NoSQL Databaseである
 そのためスキーマレスである
 テーブルとかカラム定義とか事前に作る必要がない
 でもカラム定義(Mapping)がないと全部Stringで入る
 ハマりポイント1
CPU使用率の数値データが文字列だとグラフ化できない
日付っぽいデータは勝手にElasticsearchが解析してDate型にする
Index Template機能を使って事前にMapping定義を作る必要がある
 なんなら検索エンジンなのでStringが勝手に分析(Analyze)される
 ハマりポイント2
[ntap-cdot-01]というホスト名で検索したいのに、
[ntap],[cdot],[01]で分割されるため余分なデータまでHitしてしまう
23
Elasticsearch の データ構造
 RDBで言えば、Database = Index, Type = Table, Document = Record のようなもの
 デフォルトのFluentd設定では1日毎にIndexが自動作成される
 ログの粒度や量によって日時ごとや月次ごとで分割することも可能 (logstash_dateformatオプション)
 時系列でデータを検索するため、1Indexに数日~数年間 / 種類が異なるデータ など詰め込みすぎると性能
問題に起因する
 日付で検索/管理/削除できるように日単位にしておくのがベター?
 Kibanaで可視化する場合、[Index名]単位でデータを読み込む
 Indexを横断して検索することは可能
 異なるType内で同じField名を設定すると、Mapping設定が衝突(conflict)する場合があるので注意すること
 異なるIndexのデータを同じグラフしたい場合、Indexの接頭辞が重要となる
Index
“cdotperf-2015.07.08”
Type
“sysstat”
Type
“volume”
Type
“aggregate”
cpu read write …
cpu read write …
cpu read write …
Type
“sysstat”
Type
“volume”
Type
“aggregate”
…
vol size used …
vol size used …
vol size used …
aggr size used …
aggr size used …
aggr size used …
Document
Index
“cdotcapacity-2015.07.08”
Index
“cdotperf-
2015.07.09”
Index
“cdotcapacity-2015.07.09”
Field24
大規模なElasticsearch構成例
 大規模環境においてはElasticsearchを複数用意することで
負荷分散/冗長化が可能らしい
Elasticsearch Cluster
Node1 Node2 Node[n]
Primary shard 1
“Index:cdot-2015.07.08”
Primary shard 2
“Index:cdot-2015.07.08”
Primary shard 3
“Index:cdot-2015.07.08”
Primary shard 4
“Index:cdot-2015.07.08”
Primary shard 0
“Index:cdot-2015.07.08”
Replica shard 0
“Index:cdot-2015.07.08”
Replica shard 1
“Index:cdot-2015.07.08”
Replica shard 2
“Index:cdot-2015.07.08”
Replica shard 3
“Index:cdot-2015.07.08”
Replica shard 4
“Index:cdot-2015.07.08”
 Cluster
 1つ以上のNodeの集まりを示す
 Cluster内の1台がマスターノードとなる
 マスターノードがCluster全体の障害検知を
行う
 Node
 Elasticsearchサーバを示す
 Share
 Indexを分割した単位を示す
 デフォルトでは5つの Primary Shard と
Replica Shard が作成される
25
参考資料
 Elasticsearch公式ページ
 https://www.elastic.co/
 Hello! Elasticsearch
 https://medium.com/hello-elasticsearch
 Elasticsearch入門
 https://speakerdeck.com/johtani/elasticsearchru-men
 秒間3万の広告配信ログをElasticSearchでリアルタイム集計
してきた闘いの記録
 http://www.slideshare.net/Satully/elasticsearch-
study6threaltime20140916
26
27
kibanaとは
 Elasticsearchの公式可視化ツール
 http経由でブラウザからアクセス(デフォルトポート 5601)
 HTML/CSS/Java Scriptで動いている
 ダッシュボードやグラフを
自分で作れる
 マークダウン機能があるので
Wikiページみたいなのも書ける
 UIがカッコいい
 Kibanaの設定情報は
Elasticsearchに保存されている
28
kibanaで作るcDOTグラフ例
 複数cDOTのCPU使用率
29
Cluster内の負荷分散具合を
積み上げて比較しやすくする
kibanaで作るcDOTグラフ例
 1時間毎の特定CP値出現回数(Nodeごと)
30
CP [B]を赤色にして、赤が多く出て
いるようであれば、Diskネックと判断
kibanaで作るcDOTグラフ例
 Aggregateの使用容量比率
31
その他にもやろうと思えば
こんなグラフができる(作りたかった
 1日のSnapmirrorの転送時間を積み上げ棒グラフに…
 VolumeごとのIOPS/スループット/レイテンシーを
積み上げ折れ線グラフに…
0
50
100
150
200
250
転送時間(分)
src5:dst5
src4:dst4
src3:dst3
src2:dst2
src1:dst1
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
volume10
volume9
volume8
volume7
volume6
volume5
volume4
volume3
volume2
32
※イメージです
参考資料
 kibana公式ページ
 https://www.elastic.co/products/kibana
 Kibana入門
 http://sssslide.com/speakerdeck.com/y310/kibanaru-men
 ElasticSearch+Kibanaでログデータの検索と視覚化を
実現するテクニックと運用ノウハウ
 http://www.slideshare.net/y-ken/elasticsearch-kibnana-
fluentd-management-tips
33
3.sysstatを可視化してみる
34
検証環境の構成
cDOT8.3
(FAS3250 2Node)
cDOT8.2
(FAS3210 2Node)
仮想マシン
Fluentd
(td-agent 0.12.7)
SSH Client
run –node <Node名> sysstat -x
Elasticsearch1.6Kibana4.1
自分のPC
Webブラウザ
http
sysstat.log
http http
SSH SSH
in_tailプラグイン
out_elasticsearchプラグイン
35
構築手順
 CentOS 7のインストール
 Shell Scriptでsysstatを取得する
 Fluentdでログを加工する
 Elasticsearchにログを送る
 Kibanaでグラフ/ダッシュボードを作る
36
構築手順
 CentOS 7のインストール
 Shell Scriptでsysstatを取得する
 Fluentdでログを加工する
 Elasticsearchにログを送る
 Kibanaでグラフ/ダッシュボードを作る
37
1) CentOS 7のインストール
1. 最小構成でインストールを進める(手順は省略)
2. FluentdとElasticsearchは時刻同期が重要になるため、NTPは使用すること
# yum install chrony
# vi /etc/chrony.conf
+ server <NTP Server IP Address>
# systemctl start chronyd.service
3. 検証環境では面倒なのでFirewallとSE Linuxを無効化する
#systemctl stop firewalld
#systemctl disable firewalld
#setenforce 0
#vi /etc/selinux/config
- SELINUX=enforcing
+ SELINUX=disabled
※本環境で使用するポート
22(SSH),123(NTP),5601(kibana),8888(td-agent),9200(elasticsearch)
行頭記号の意味について
# : bashプロンプトを示す
+ : viでの追記箇所を示す
- : viでの削除箇所を示す
38
構築手順
 CentOS 7のインストール
 Shell Scriptでsysstatを取得する
 Fluentdでログを加工する
 Elasticsearchにログを送る
 Kibanaでグラフ/ダッシュボードを作る
39
2) Shell Scriptでsysstatを取得する
1. SSH公開鍵を作成する (CentOSで実行)
#ssh-keygen -t rsa -C "SSH2 RSA Key“
#cat /root/.ssh/id_rsa.pub
ssh-rsa AAQCtPciSkw
~~~省略~~~
FlAQCtPciSkwNMWztNjr6ETbbBH4szVx SSH2 RSA Key
※表示されたキーをcDOTに登録する
2. 公開鍵認証の有効化および公開鍵を登録する (cDOTで実行)
::>publickey create -username admin -publickey "ssh-rsa AAQCtPciSkwz
~~~省略~~~
FlAQCtPciSkwNMWztNjr6ETbbBH4szVx SSH2 RSA Key“
::>security login create -username admin -application ssh -authmethod publickey -role admin
3. SSHログインテスト(CentOSで実行)
# ssh admin@<Node Mgmt LIF or Cluster Mgmt LIF IPアドレス>
※パスワード無しでcDOTにログインできれば完了
 パスワード入力無しでSSHを使えるようにする
40
2) Shell Scriptでsysstatを取得する
4. sysstat取得スクリプトを作成する
#vi sysstat_logging.sh
5. スクリプトに実行権限を付与する
#chmod 755 sysstat_logging.sh
 サンプルスクリプト
#!/bin/sh
###変数定義###
user=$1
ipaddr=$2
node=$3
logdir="/var/log/netapp/"
log="${logdir}sysstat.log"
msgdircrete="${logdir}ディレクトリを作成しました"
msgargerror="実行例:) $0 <ユーザ名> <cluster_mgmt IP Address> <Node名>"
msgsshsuccess="接続成功しました"
cdotcommand="run -node ${node} sysstat -x -c 3"
###前提エラー処理###
#Directoryが存在しない場合は作成する
if [ ! -d ${logdir} ]
then
echo ${msgdircrete}
mkdir ${logdir}
fi
#引数が足りない場合はエラー
if [ $# -ne 3 ]; then
echo "${msgargerror}" 1>&2
exit 1
fi
if ssh ${user}@${ipaddr} run -node ${node} date
then
echo "${msgsshsuccess}"
ssh ${user}@${ipaddr} ${cdotcommand} | awk -v node=${node} '{ print strftime("%s"),
node , $0 }' | sed -n -e 3p >> ${log}
fi
41
 sysstat_logging.sh
2) Shell Scriptでsysstatを取得する
6. Crontabにスクリプトの実行スケジュールを登録する
# crontab -e
+ #NetApp Sysstatログ収集
+ */5 * * * * /root/sysstat_logging.sh admin 10.128.213.193 ps-3210cdot-01
+ */5 * * * * /root/sysstat_logging.sh admin 10.128.213.193 ps-3210cdot-02
+ */5 * * * * /root/sysstat_logging.sh admin 10.128.214.24 ps-3250-A-01
+ */5 * * * * /root/sysstat_logging.sh admin 10.128.214.24 ps-3250-A-02
7. /var/log/netapp配下にログが出力されていることを確認する
#cat /var/log/netapp/sysstat.log
1435983903 ps-3210cdot-01 2% 0 0 0 8 3 2 213
1091 0 0 42s 100% 9% T 10% 8 0 0 0 0 0
0
 crontabに登録する
42
構築手順
 CentOS 7のインストール
 Shell Scriptでsysstatを取得する
 Fluentdでログを加工する
 Elasticsearchにログを送る
 Kibanaでグラフ/ダッシュボードを作る
43
3) Fluentdでログを加工する
1. Ruby/GCCをインストールする
#yum -y install ruby
#yum -y install ruby-devel
#yum -y install gcc
#yum -y install libcurl-devel
2. Fluentdが使用できるファイルディスクリプタ数を変更する
#ulimit –n
※出力結果が65536ではない場合は以下を実行する #デフォルト1024
#vi /etc/security/limits.conf
+ root soft nofile 65536
+ root hard nofile 65536
+ * soft nofile 65536
+ * hard nofile 65536
#reboot
~~~再起動後~~~
#ulimit –n
※65536と表示されることを確認する
参考 : 絵で見てわかるファイルディスクリプタ・パイプ・リダイレクト
http://d.hatena.ne.jp/higher_tomorrow/20110426/1303830417
 Fluentd(td-agent)のインストール前提
44
3) Fluentdでログを加工する
3. Fluentd(td-agent)のインストールを行う
#curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-
td-agent2.sh | sh
4. OS起動時のtd-agent自動起動設定を有効化する
#systemctl enable td-agent.service
5. td-agentサービスを起動する
#systemctl start td-agent.service
#systemctl status td-agent.service
 Fluentd(td-agent)のインストール
45
3) Fluentdでログを加工する
6. td-agent設定ファイルにinput設定を記載する
#vi /etc/td-agent/td-agent.conf
+ <source>
+ type tail
+ path /var/log/netapp/sysstat.log
+ pos_file /var/log/netapp/td-agent/sysstat.pos
+ tag cdotsysstat.bar
+ format /^(?<time>[^ ]*)¥s+(?<node>[^ ]*)¥s+(?<cpu>[^ ]*)%¥s+(?<nfs iops>[^ ]*)¥s+(?<cifs
iops>[^ ]*)¥s+(?<http iops>[^ ]*)¥s+(?<total iops>[^ ]*)¥s+(?<net in KBperSec>[^ ]*)¥s+(?<net out
KBperSec>[^ ]*)¥s+(?<Disk Read KBperSec>[^ ]*)¥s+(?<Disk Write KBperSec>[^ ]*)¥s+(?<Tape Read
KBperSec>[^ ]*)¥s+(?<Tape Write KBperSec>[^ ]*)¥s+(?<Cache age>[^ ]*)¥s+(?<Cache
Hit>[^ ]*)%¥s+(?<CP Time>[^ ]*)%¥s+(?<CP Type>[^ ]*)¥s+(?<Disk Util>[^ ]*)%¥s+(?<Other
iops>[^ ]*)¥s+(?<FCP iops>[^ ]*)¥s+(?<iSCSI iops>[^ ]*)¥s+(?<FCP in KBperSec>[^ ]*)¥s+(?<FCP out
KBperSec>[^ ]*)¥s+(?<iSCSI in KBperSec>[^ ]*)¥s+(?<iSCSI out KBperSec>[^ ]*)$/
+ time_format %s
+ </source>
※pos_fileはログファイルのどこまでtailで読み込んだが記録するファイル
※formatはRuby正規表現を使用, 以下URLのツールでテストが可能
http://fluentular.herokuapp.com/
 Fluentd(td-agent)のin_tail設定
46
3) Fluentdでログを加工する
7. ログディレクトリにtd-agentユーザ/グループ操作権限
を付与する
 ハマりポイント
#chown td-agent:td-agent /var/log/netapp
※in_tail対象のログおよびディレクトリはtd-agentユーザが操作できる権限が必要となる
8. td-agent設定ファイルの再読み込みを行う
#systemctl reload td-agent.service
#systemctl status td-agent.service
※エラーが発生した場合は、/var/log/td-agent内のログを参照すること
 Fluentd(td-agent)のin_tail設定
47
構築手順
 CentOS 7のインストール
 Shell Scriptでsysstatを取得する
 Fluentdでログを加工する
 Elasticsearchにログを送る
 Kibanaでグラフ/ダッシュボードを作る
48
4) Elasticsearchにログを送る
1. Javaがインストール済みか確認する
#java -version
#echo $JAVA_HOME
※何も出力されない場合は以下の手順を参考にjavaのインストールを行う
2. javaのインストール
#yum install java-1.8.0-openjdk
3. インストールディレクトリの確認
#readlink $(readlink $(which java))
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.45-30.b13.el7_1.x86_64/jre/bin/java
※インストールディレクトリを確認し、青字部分をJAVA HOMEに設定する
4. JAVA HOMEの設定を行う
#echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.45-30.b13.el7_1.x86_64/" >> /root/.bashrc
※yumでインストールするとJAVAHOME設定がされないため、手動で行う必要がある
5. 再起動する
#reboot
6. Javaがインストールされたことを確認する
#java -version
#echo $JAVA_HOME
 Elasticsearchのインストール前提
49
4) Elasticsearchにログを送る
7. Elasticsearchをインストールする
#wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-
1.6.0.noarch.rpm
#rpm -ivh elasticsearch-1.6.0.noarch.rpm
8. Elasticsearchの自動起動有効化およびサービス開始を行う
#systemctl enable elasticsearch.service
#systemctl start elasticsearch.service
#systemctl status elasticsearch.service
9. FluentdのElasticsearchプラグインをインストールする
#/usr/sbin/td-agent-gem install fluent-plugin-elasticse
参照 : Fluent-Plugin-Elasticsearch
https://github.com/uken/fluent-plugin-elasticsearch
 Elasticsearchのインストール
50
4) Elasticsearchにログを送る
9. sysstat用のIndexテンプレートを作成する
 Elasticsearchにsysstat用のIndexテンプレートを作成する
#curl -XPUT localhost:9200/_template/cdotsysstat -d '{
"template":"cdot-*","settings":{},"mappings":{
"sysstat":{
"properties":{
"Disk Util":{"type":"integer"},
"iSCSI iops":{"type":"integer"},
"cifs iops":{"type":"integer"},
"Cache Hit":{"type":"integer"},"
cpu":{"type":"integer"},
"FCP out KBperSec":{"type":"integer"},
"iSCSI in KBperSec":{"type":"integer"},
"Other iops":{"type":"integer"},
"Tape Read KBperSec":{"type":"integer"},
"net out KBperSec":{"type":"integer"},
"Disk Read KBperSec":{"type":"integer"},
"Cache age":{"type":"string"},
"total iops":{"type":"integer"},
"CP Type":{"type":"string","index":"not_analyzed"},
"@timestamp":{"format":"dateOptionalTime","type":"date"},
"node":{"type":"string","index":"not_analyzed"},
"nfs iops":{"type":"integer"},
"@log_name":{"type":"string"},
"Disk Write KBperSec":{"type":"integer"},
"http iops":{"type":"integer"},
"net in KBperSec":{"type":"integer"},
"CP Time":{"type":"integer"},
"Tape Write KBperSec":{"type":"integer"},
"iSCSI out KBperSec":{"type":"integer"},
"FCP in KBperSec":{"type":"integer"},
"FCP iops":{"type":"integer"}
}
}
},
"aliases":{}
}'
 ハマりポイント
 数値データは明示的にIntegerを指定しないとStringになる
 数値データの桁数によってはlong,float,doubleの使用を検討する
 not_analyzedが無い場合、不完全一致で検索される
51
4) Elasticsearchにログを送る
10. td-agent設定ファイルにoutput設定を記載する
#vi /etc/td-agent/td-agent.conf
+ <match cdotsysstat.bar>
+ type elasticsearch
+ host localhost
+ port 9200
+ type_name sysstat
+ logstash_format true
+ logstash_prefix cdot
+ include_tag_key true
+ tag_key @log_name
+ </match>
11. td-agent設定ファイルの再読み込みを行う
#systemctl reload td-agent.service
#systemctl status td-agent.service
※エラーが発生した場合は、/var/log/td-agent内のログを参照すること
 FluentdからElasticsearchへデータ転送
52
4) Elasticsearchにログを送る
12. sysstatスクリプトを実行する
# ./sysstat_logging.sh admin <Node Mgmt LIF or Cluster Mgmt LIF IP
アドレス> <Node名>
13. ElasticsearchのREST APIを使用して、作成されたIndexを確
認する
http://<Elasticsearch サーバアドレス>:9200/_aliases?pretty
※cdot-[日付]が表示されれば完了
 Elasticsearchのテスト
53
構築手順
 CentOS 7のインストール
 Shell Scriptでsysstatを取得する
 Fluentdでログを加工する
 Elasticsearchにログを送る
 Kibanaでグラフ/ダッシュボードを作る
54
5) Kibanaでグラフ/ダッシュボードを作る
1. kibanaモジュールのダウンロード/解凍
# wget https://download.elastic.co/kibana/kibana/kibana-4.1.0-linux-x64.tar.gz
# tar zxf kibana-4.1.0-linux-x64.tar.gz
2. 任意の場所にkibanaモジュールを配置
# mv ./kibana-4.1.0-linux-x64 /opt/kibana
3. 次回OS起動時、Kibanaを自動起動する
# vi /etc/rc.d/rc.local
+ #kibanaの自動起動
+ nohup /opt/kibana/bin/kibana &
# chmod +x /etc/rc.d/rc.local
※rc.localに実行権限与えないと、次回OS起動時にrc.localが実行されない
4. Kibanaを起動する
# nohup /opt/kibana/bin/kibana &
※nohupを付けないと、SSHセッションが切れたタイミングでkibanaが停止する
 Kibanaのインストール
55
5) Kibanaでグラフ/ダッシュボードを作る
5. Webブラウザから以下のアドレスにアクセス
http://<Kibanaサーバ IPアドレス>:5601
6. Kibanaで可視化するIndex登録を行う
 Kibanaログイン/Index登録
1. [cdot-*]を指定
2. [@timestamp]を指定
3. 上記指定後、[Create]をクリック
56
5) Kibanaでグラフ/ダッシュボードを作る
7. Index登録後、Field定義一覧が確認可能になる
 Index情報の確認
登録したIndex
Field名とデータ型一覧
57
5) Kibanaでグラフ/ダッシュボードを作る
8. Elasticsearchに取り込まれた生データを確認する
 Index情報の確認
1.Discoverをクリック
取り込まれたDocument
▼ボタンで詳細情報の展
開が可能
登録されたDocument数
の時系列グラフ
58
5) Kibanaでグラフ/ダッシュボードを作る
9. グラフの種類を選ぶ
 CPU使用率グラフの作成 Step1
2.Line Chart
(折れ線グラフ)を選択
1.Visualizeをクリック
 Area chart(積み上げグラフ)
 Data table(テーブル表示)
 Line chart(折れ線)
 Markdown widget(マークダウン)
->Wikiのような
マークダウン形式のページ作成
 Metric(メトリック)
->特定期間内の最大/最小/合計/
平均数値表示に使用
 Pie chart(円グラフ)
 Tile map(マップ)
->IP情報などからGPS情報を
取得するFluentd
プラグインがある(geoip)
 Vertical bar chart(棒グラフ)
59
5) Kibanaでグラフ/ダッシュボードを作る
10. グラフを新規作成する
 CPU使用率グラフの作成 Step2
[From a new search]を選択
60
5) Kibanaでグラフ/ダッシュボードを作る
11. グラフの定義を作成する
 CPU使用率グラフの作成 Step3
[Y-Axis]に以下を指定する
-Aggregation: Average
-Field : cpu
[X-Axis]に以下を指定する
-Aggregation: Data Histogram
-Field : @Timestamp
-Interval : Auto
[Split Lines]に以下を指定する
-Sub Aggregation: Significant Terms
-Field : node
-Interval : 0
定義入力後、再生ボタンをクリックする
Notes:
グラフが[No results found]と
表示される場合は、画面右上の
ボタンからグラフ化する期間を
変えてみる
61
5) Kibanaでグラフ/ダッシュボードを作る
12. グラフを保存する
 CPU使用率グラフの作成 Step4
1.保存ボタンをクリック
2.グラフ名を入力
3.保存ボタンをクリック
62
5) Kibanaでグラフ/ダッシュボードを作る
12. ダッシュボードを作成する
 ダッシュボードの作成
1. Dashboardをクリック
2. Add Visualizationをクリック
3. 保存したグラフを選択
4. 配置や大きさを調整
5. グラフと同様に名前を付けて保存
6.保存したDashboardは
Loadボタンから読み込む
63
補足:競合パターンと組み合わせ例
64
競合パターンと組み合わせ例
 競合パターン
 ログ加工 :Fluentd vs Logstash
 データベース :Elasticsearch vs InfluxDB(時系列DB) vs
Graphite(時系列DB)
 可視化 :Kibana vs Grapana
 組み合わせ例
 Fluentd+InfluxDB+Grapana
 Fluentd+Graphite+Grapana
 OnCommand Unified/Performance Manager + OnCommand API
Service + Grapana
 NetApp Harvest+Graphite+Grapana
65

Contenu connexe

Tendances

コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろうakira6592
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)Takanori Sejima
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!Hirotaka Sato
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討Masahito Zembutsu
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...whywaita
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例Hirokazu Yatsunami
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)NTT DATA Technology & Innovation
 
Linux女子部 firewalld徹底入門!
Linux女子部 firewalld徹底入門!Linux女子部 firewalld徹底入門!
Linux女子部 firewalld徹底入門!Etsuji Nakai
 

Tendances (20)

コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
 
Linux女子部 firewalld徹底入門!
Linux女子部 firewalld徹底入門!Linux女子部 firewalld徹底入門!
Linux女子部 firewalld徹底入門!
 

Similaire à Kibanaでsysstatを可視化する

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presenKouhei Maeda
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!ksk_ha
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDyaegashi
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) VirtualTech Japan Inc.
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築yaegashi
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstepsmokey monkey
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版VirtualTech Japan Inc.
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5Tsukasa Sugiura
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたAkihito Inoh
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれDNA Data Bank of Japan center
 
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode DemoOSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demoirix_jp
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門Toru Miyahara
 

Similaire à Kibanaでsysstatを可視化する (20)

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presen
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
 
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode DemoOSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 

Kibanaでsysstatを可視化する