解決策 1:
syslog
経由でクライアント サーバー上にログ ファイルが生成されている場合 ファシリティの場合、最善の方法は、クライアントの syslog デーモンをセットアップして、それらのログを別のホストに転送することです。たとえば、内部名が syslog.private
の場合 ログエントリを受信したいリモートサーバーを指します。次の行を /etc/syslog.conf
に追加できます クライアント サーバー上。
*.* @syslog.private
その後、クライアントで syslog デーモンを再起動します
service syslog reload
これにより、クライアントの syslog を通過するすべてのエントリがネットワーク経由で syslog.private
に送信されます。 そのマシンが正しく構成されていれば、エントリはそこでも使用できます。 RedHat システムでは、これは /etc/sysconfig/syslog
によって制御されます。 ファイル。 -r
であることを確認してください オプションあり
% grep "SYSLOGD" /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0 -r"
次に、受信サーバーで syslog デーモンを再起動します。
除外を追加することで、リモート サーバーに転送されるものを制御することもできます。以下の例を参照してください
*.*;mail.none @syslog.private
これは、すべてを syslog.private
に転送するというものです mail
に送信されたものを除いて
この解決策がうまくいく場合は、rsyslog や syslog-ng などの代替 syslog 実装の 1 つを検討してください。これらは、追加のログとストレージのオプションを提供します。
解決策 2:
キーベースの ssh 認証とリモート ホスト上のリモート ホストで sudo をセットアップして、パスワード プロンプトなしでログ ファイルに対して tail を実行できるようにする場合。以下のように実行する taillog スクリプトを作成するのは非常に簡単です。これは本当に ssh を回避するわけではありませんが、いくつかの手順を節約できます。
#!/bin/bash
ssh $1 sudo tail -f $2
または、すべてのログ メッセージを中央システムに転送するように syslog をセットアップし、syslog サーバーで tail コマンドを実行することもできます。中央システムのログ ファイルを見てください。
解決策 3:
高度なログ表示にはマルチテールを強くお勧めします。自称ステロイドのしっぽ。
解決策 4:
これは明らかにあなたの質問への回答ではありませんが、監視するログが少なく、無料版の制限に満たない場合は、Splunk を無料で試して、優れたインターフェースを持ち、すべてのログ データに役立つようにすることができます.
tail -f
複数のログをサポートしますが、横に並べることはできず、下向きのみです。
解決策 5:
Multitail は、ローカル マシンで必要なことを実行します。ネットワーク経由で動作するかどうかについては特に言及していませんが、それを回避する方法はいくつかあります (NFS マウント、SMB マウントなど)。また、syslog サーバーとして動作するとも述べています。別のマシンの syslog からアクティブなデータを受信しますが、私はその機能を使用したことがなく、そうであるかどうかもわかりません.