分散システムとポエム

logstalgiaでログを可視化する

apacheのログ可視化をする。

構築はUbuntuで行ったのでDebian系であればおそらく動くと思う。

RedHat系でやるなら適度にyumなどに置き換えてもらえれば。

パケット送信

適当にパケットを生成して投げるコマンド。

2種類のパケットを送信(32件)

適当にhttpリクエストを投げてapacheのログを生成させる。

for a in $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 32)
do
  ab -n 1 -c 1 http://192.168.0.100/?src=$a
  ab -n 1 -c 1 http://192.168.0.100/$a_$a
  sleep 0.03
done

 50のリクエスト(50件)

適当にhttpリクエストを投げてapacheのログを生成させる。

for a in $(seq 1 50)
do
  ab -n 1 -c 1 http://192.168.0.100/?src=$a
  sleep 0.03
done

 パケット描画

logstalgiaに投げれば勝手にやってくれる。

リアルタイム監視

リアルタイムで描画する場合はパイプで渡す。

sudo tail -f /var/log/apache2/access.log | logstalgia --sync -b 696969

 ログの自動生成 -> 描画

ログを意図的に生成させるapache-loggenを使えばhttpリクエストを投げなくても描画される。

apache-loggen --rate 30 | logstalgia -

 ログの自動生成 -> 描画2

背景:灰色,全画面表示,ホスト名をすべて表示

apache-loggen --rate 30 | logstalgia - -f -b 696969 -x

環境セットアップ

ubuntuでやったのでredhatは適度に読み換える。

rubyのインストール

apache-loggenに必要。

sudo apt-get install ruby ruby-dev irb rdoc

apache-logのインストール

apache-loggenのインストール

sudo gem install apache-loggen

logstalgiaのインストール

logstalgiaはデフォルトリポジトリにあったので直接インストール可能。

sudo apt-get install logstalgia

動画・静止画作成

描画内容を動画や静止画に出力することも可能。

動画に出力

解像度は1280×720に設定。

apache-loggen --rate 30 | logstalgia -1280x720 --output-ppm-stream out.ppm -

ffmpegをインストール

画像を編集するのに必要。

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg

ppmをMP4に変換

動画を変換する。

ffmpeg -vpre libx264 -y -f image2pipe -vcodec ppm -i out.ppm -vcodec libx264 -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 Logstalgia.mp4

デモ動画

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です