Linuxプロセスの可視化





システムプロセスの依存関係、「誰のフォルダ」を監視し、皇帝を見つけて奴隷が再出現しないように彼を殺す必要がありましたか? ps'atとgrep'at、lsofを駆動できます。非常にエキサイティングだからです。)しかし、接続は常に視覚的な形で分析する方が簡単だと思われます。コンソールユーティリティは良い兆候を示しますが、何がどのような順序で接続されているか、そして診断のためにそれは非常に重要です。



特定の器用さを備えたlsof(略してLiSt Open Files)を使用すると、実行中のシステム間の関係のグラフを作成できます。 Haberに便利なlsofツールについての記事が既にありましたが、-Fスイッチについては何も言わず、テーブルの形ではなく、別のプログラムの入力にリダイレクトできる一連の行として情報を表示できるようにしました。処理します。



lsofgraphはこの-F 専用に作成されたもので、このような出力の解析はテーブル出力よりもはるかに便利です。 残念ながら、lsofgraphはLuaで書かれており、どこにでもあるわけではないため、pythonで書き直されました: lsofgraph-python



形式はシンプルで、コードは十分に明確であるため、そこで停止することはありませんが、すぐに戦いに行きましょう。 描画には、graphvizを使用します。つまり、その構成に含まれるdotとunflattenです。



システムの全体像を取得する場合は、sudoを使用する必要がありますが、現在のアカウントに関する十分な情報がある場合は、sudoを使用せずに実行できます。



グラフを作成するには:



sudo lsof -n -F | python lsofgraph.py | dot -Tjpg > /tmp/a.jpg
      
      





私はcをunflattenで実行するのが好きです、それからチャートはどういうわけかよりコンパクトで美しく見えます



 sudo lsof -n -F | python lsofgraph.py | unflatten -l 1 -c 6 | dot -T jpg > /tmp/a.jpg
      
      





jpgが気に入らない場合は、svgを選択できます...

かなり空のテスト仮想マシンでのグラフの例:







これがまだ誰かに役立つことを願っています;)



All Articles