※このメモは暇で仕方がない時に、思いつきでやってみた Multitailの manual.html の翻訳です。
適当な翻訳なので、原文も参照しながら読んでください。
MultiTail は、一つまたは複数のファイルを、オリジナルのTailと同じように表示することが出来ます。
違いは、
一つのコンソール画面の中に、(ncurses を使って)複数のウインドウを作成すること
複数のファイルを結合して表示出来ること
重要なことを認識しやすくするため、(正規表現を使って)ログファイルの色分けが出来ます。
(正規表現を使って)ログのフィルターが出来ます。
正規表現を編集したり、ログファイルを追加したり削除するための、対話型メニューがあります。
shell script や 他のソフトウェアの出力を取り込むことが出来ます。
他のソフトウェアの出力を表示している場合、監視ツールのような機能をまねることが出来ます。
multitailをパラメータ無しで実行したとき、画面がクリアされ、簡単な説明と共に、使用出来る一組のキーが表示されます。
プログラムを終了するために、`x` `q` `Ctrl + C` のどれでも使えます。
コマンドラインパラメータを知りたい時は、-h パラメータを付けて、multitailを実行してください。
上記の方法で得られる help は十分ではないかもしれません。それがこのテキストが書かれた理由です。
もし、このテキストを読んでもなにか不明確なことがあれば、以下のメールアドレスを使って、私と連絡をとることをためらわないでください。
e-mail address: folkert@vanheusden.com
multitail の もっとも基本的な使い方は以下の通りです。
multitail [-i] file
これは、"file" というファイルを、ターミナルウインドウの中に表示します。
最下行(ステータスライン)には、ファイル名、サイズ、ファイルの更新時間を表示します。
コマンドラインパラメータ'-d' を使うと、このステータスラインを静的(アップデートしない)に出来ます。
(訳注:solaris10では空行になる...あってるのかな?)
コマンドラインパラメータ'-D' を使うと、ステータスライン自体を表示しません。
ファイル名がダッシュ('-')で始まるときは、'-i'オプションを指定しなければいけません。
もう少し複雑な使い方はこれです。
multitail [-i] file1 [-i] file2
これは、ターミナルウィンドウを二つに分割します。
各ウインドウでは、一個のファイルを表示します。
両方のウインドウに、ステータスラインがあり情報を表示します。
file2を表示しているウインドウの上に、file1 を表示しているウインドウが表示されます
上下の代わりに、左右に並べて表示することもできます。
この為には、コマンドラインパラメータ'-s' を指定するか、実行中に'v'キーを押す事ができます。
0 から 9 のキーを押すことで、0 から 9 の各ウインドウの位置に 赤く太いラインが表示されます。
もちろん、表示されているファイルをスクロールすることが出来ます。
その為には、'b'キーを押してください。
複数のファイルを表示している時は、まず、ファイルセレクターが表示されます。
それから、選択したファイル(=window)のバッファの内容がウインドウに表示されます。
これで、カーソルキー と 'page-up' 'page-down'キーでスクロールできます。
'x' か 'q' キーを押すと、このウインドウが閉じます。
ファイル全体をスクロールすることは出来ません。最後から100行だけです。
この制限を大きく(または小さく)変更する為には、'm' キーを押します。
そうすると、新しい値を入力するように求められるでしょう。例えば1000
このパラメータは、コマンドラインパラメータ'-m value'でも同様に設定できます。
'-m'は、後に続くファイルの制限を変更します、'-M value'はコマンドライン上すべてのファイルの制限を変更します。
'm' キーを押したとき、カレントバッファーの内容はクリアされます。(訳注:'n' の間違いだとおもう)
これは、tail -f を使っている時、数回 enterキーを押すことと置き換えることが出来ます。
それから、'-I' コマンドパラメータがあります。
これは、'-i'と同じですが、'-I'は二つかそれ以上のファイルを結合します。
例えば:
multitail [-i] file1 -I file2
実際のファイルでの実行例:
multitail /var/log/apache/access.log -I /var/log/apache/error.log
これら、二つの実行例では、与えられたファイルの出力が、一つのウインドウに結合されるでしょう。
この例は便利です。
2番目の例で与えられたファイルでは、apache のエラーログにエラーが現れる直前に何が起こったのか見ることが出来ます。
はじめに、で説明したように、multitail はファイルを表示できるだけではありません。
他のプログラムの出力も表示できます。(scripts/executables/etc.)
これは、一つまたは複数のウインドウのに表示することが出来ます。
これを使うには、'-l'スイッチを使う必要があります。
例えば:
multitail -l ls
他の例:
multitail -l "ping localhost"
ごらんの通り、コマンドにパラメータが必要なときは、doublequotes(")でコマンドを囲む必要があります。
そうしなければ、MultiTailはパラメータが指定したプログラムに与えられたものか、Multitailに与えられたものか、判断する事が出来ないでしょう。
あなたは、'ls' コマンドで試したかもしれません。
そのとき、コマンドの終了と同時に、MultiTailが自動的に閉じられたはずです。
これを制御するために、いくつかのオプションがあります。
例えば '-z'パラメータ
これが指定された場合、プログラムが終了すると、MultiTailはポップアップウインドウを出さずに終了します。
他には'-r interval'オプション
これは、interval 秒毎に、コマンドを繰り返し実行します。
'-r interval'の代わりに、'-R interval'も利用できます。
これが指定された場合、interval 秒毎にコマンドを実行し、表示が前回と異なる部分のみ表示します。
multitail -R 3 -l "netstat -p tcp"
新しい TCP-connection の open または close を見ることが出来ます。
'-I file' と同じように、'-L command' も外部コマンドの出力を、前のファイル またはコマンドの出力と結合できますか。
Yes: コマンドの出力は、安全にログファイルと結合できます。
複数のコマンド、複数のログファイル、あなたが考えることが出来る大抵のことが可能です。
あなたが、ログファイルをスクロールして見ていたとき、少しの情報を得ることが出来るでしょう。
けれども、しばらくして、まだ重要なな何かやそうでない何かを見つけるかもしれません。
その為に、MultiTail はログファイルをカラー表示する機能を持っています。
'-c'パラメータを指定したとき、次に指定したファイルまたはコマンドの出力をカラーで表示します。
これは、行全体を見て何色を使うか決定します。
もしあなたが、ログラインのプログラム名を指定するだけで使用したい場合、(syslogを参照する場合)'-cs'スイッチを使うことが出来ます。
最後のオプションは'-cS colorscheme'です。
これは、パラメーターとしてcolorscheme名の指定が必要です。
colorschemesは、multitail.conf から読み込まれます。
正規表現パターンによって、何色が使われるか、multitail.conf に設定してください。
MultiTail は、標準では カレントディレクトリ と /etc ディレクトリで mulititail.conf を探します。'-z'パラメータで、どのファイルを使うか明示することが出来ます。
(訳注:'-F'パラメータで明示)
例:
colorscheme:postfix
cs_re:yellow:status=sent
cs_re:magenta:queue active
一行目は colorscheme名です。
'cs_re' の行は、正規表現と色のセットを明記します。
最初の'cs_re'行は、MultiTail が 'status=sent' を見つけた時に、それを黄色で表示することを表しています。
次の行は、'queue active'を見つけた時、マゼンタで表示することを表しています。
少し複雑な例:
colorscheme:syslog
cs_re:green:\[|\]
cs_re:blue:^... .. ..:..:..
最初の 'cs_re' 行は、'[' か ']' が付くすべての行をみどりいろで表示します。
また、日付が'Mon DD HH:MM:SS'の形式で始まるすべての行を青色で表示します。
正規表現についてのもっと詳しい説明は... o'Reilly 正規表現を取り扱った本がいくつかあります。
最後に色について一つ:
'-C' (uppercase 'C')を'-c'の代わりに使った場合、'-cx' か '-Cx' パラメータで上書きしない限り、以降のすべて
のファイルについて指定した設定が使われます。
MultiTailはフィルタリングのために正規表現を使います。
簡単に保つために、grep とまったく同じ方法を使います。
'-e' は、正規表現が続くことをあらわします。
'-v' は、動作を反転させます。
version 3.5.0 から、いくつかの変更がありました。
もし、あるパターンを持たない行にマッチさせたい場合、 -ev を使ってください。
(訳注:以下の例も -v -e は、 -ev に読み替えてください)
例:
multitail -e "gnu-pop3d" /var/log/messages
multitail -v -e "ssh" -v -e "gnu-pop3d" -e "localhost" /var/log/messages
最初の例は、/var/log/messages の行のどこからに文字列 "gnu-pop3d" を持つ行を表示します。
二つ目の例は、文字列 "ssh" と文字列 "gnu-pop3d" を含まず、"localhost" を持つ行だけを表示します。
その他のいくつかのオプションがあります。それらは:
いいえ、このマニュアルではすべてはカバーしていません。
利用できるすべてのオプションやキーを知るには、 man-page を参照してください。
これは、'-h' コマンドラインオプションを使うか、実行中に'h'キーを押してください。
それと、ソースコードを忘れないでください!
MultiTailの最新版は、いつでもこちらで見つけられます: http://www.vanheusden.com/multitail/