sysdigとは?
Linux上で、straceやtcpdumpのように、システムコール、IOや通信状況をキャプチャするオープンソースのコマンドラインツール。システムで何が起こっているのかをキャプチャしトラブルシュートなどを行うことができます。
インフラエンジニアならよくある、問題が起こったときに、grepやzcatを駆使して特定時間のログを探りに行ったりしたことはないですか?そのときのLinuxの状況をキャプチャしておくことができます。
システムに関するraw dataをキャプチャしておいて、その原因を探るためのビジュアライズツールといえそうです。
たとえば、$sysdig -w dump.scap -M 10
で、10秒間sysdigにてシステム情報を祝して、 dump.scap
ファイルに保存できます。
sysdig Inspectorはなに?
sysdigでdumpしたファイルをwebにて、visualizeすることができます。
時間を狭めたり
ツール群
sysdig : Linuxの状況をキャプチャーするツール
$ sysdig
56914 08:26:18.796286489 0 sshd (20271) < select res=1
56915 08:26:18.796287455 0 sshd (20271) > rt_sigprocmask
56916 08:26:18.796287741 0 sshd (20271) < rt_sigprocmask
56917 08:26:18.796288238 0 sshd (20271) > rt_sigprocmask
56918 08:26:18.796288450 0 sshd (20271) < rt_sigprocmask
56919 08:26:18.796289193 0 sshd (20271) > clock_gettime
56920 08:26:18.796289466 0 sshd (20271) < clock_gettime
56921 08:26:18.796290207 0 sshd (20271) > read fd=10(<f>/dev/ptmx) size=16384
56922 08:26:18.796290788 0 sshd (20271) < read res=145 data=..2564 08:26:18.739307667 0 sshd (20271) < write res=124 data=.b..~%T,u=.k...I..
csysdig : LinuxテキストUIライブラリ、curses をつかってつくったコマンドラインUI (クリックできる!!!)
sysdig-inspector : sysdigのdumpファイルをウェブでUIにおとしてくれる
sysdig inspectorの使い方
1. captureする
$ mkdir -p /usr/share/sysdig/captures
dumpファイルを置くディレクトリつくっておく
$ sysdig -w /usr/share/sysdig/captures/dump.scap -M 10
スナップする
2. inspectorをdockerで立ち上げる
$ docker run -d -v /usr/share/sysdig/captures:/captures -p80:3000 sysdig/sysdig-inspect:0.4.0
3000portでたちあがるので、そのまま80portにアサイン
$ docker logs -f <<container-id>>
ログを見て起動を確認する
3. dockerを起動した、URLにアクセスして、フルパスでファイルを指定する
pathを入れて、Enter。
WebUIにてInspectorが立ち上がります。
ちなみにMac版もあります。
https://github.com/draios/sysdig-inspect
にMac版もあります。ファイルをFinderで指定してオープンすることができます。