web-dev-qa-db-ja.com

リモートLinuxサーバーでのログの表示

リモート(linux)サーバーで「tail -f」を実行するための素晴らしいツールはありますか? 「taillog server_Host/var/log/syslog」のようなものを実行して、sshを使用せずにさまざまなサーバーのログを表示できると便利です。

複数のログを並べて表示するアプリはどうですか?

21
ro.

ログファイルが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

つまり、mailファシリティに送信されるものを除いて、すべてをsyslog.privateに転送します。

この解決策がうまくいった場合は、 rsyslogsyslog-ng のような代替のsyslog実装の1つを検討してください。これにより、追加のロギングおよびストレージオプションが提供されます。

16
Dave Cheney

リモートホストのリモートホストで鍵ベースのssh認証とSudoを設定して、パスワードプロンプトなしでログファイルに対してテールを実行できるようにする場合。以下のようにしたいことを行うtaillogスクリプトを作成するのは非常に簡単です。これは実際にはsshを回避しませんが、いくつかのステップを節約します。

#!/bin/bash
ssh $1 Sudo tail -f $2

または、すべてのログメッセージを中央システムに転送するようにsyslogを設定してから、syslogサーバーでtailコマンドを実行することもできます。中央システムのログファイルを監視するだけです。

9
Zoredache

高度なログ表示には multitail を強くお勧めします。ステロイドの尾として自己記述。

5
gacrux

これは明らかにあなたの質問に答えていませんが、監視するログがいくつかあり、無料版の制限よりも少ない場合は、 Splunk を試して無料で素敵なインターフェイスを作成し、すべての人に役立つことができますロギングデータ。

tail -fは複数のログをサポートしますが、並べてではなく、下向きのみをサポートします。

3
Vinko Vrsalovic

私は OtrosLogViewer (Apache commonsライセンス)を使用しています。 ssh/sftpおよびsamba/CIFSを使用したリモートサーバーからのログのテーリングをサポートします。複数のログファイルを1つのウィンドウにテールすることができます。ここにスクリーンショットがあります: OtrosLogViewer screenshot

2
KrzyH

Multitail は、ローカルマシン上で実行していることを実行します。ネットワークを介して機能するかどうかは特に言及していませんが、NFSマウント、SMBマウントなど)を回避する方法はいくつかありますが、syslogとして機能することも述べていますサーバー。これは、別のマシンのsyslogからアクティブなデータを受信できる可能性があることを意味しますが、私はその機能を使用したことがなく、そうであるかどうかはわかりません。

2
Avery Payne

私はまさにこの目的のためにvsConsoleを書きました-ログファイルへの簡単なアクセス(sshとファイルのアクセス許可は常に問題です)-そしてアプリの監視とバージョンの追跡を追加しました。あなたの考えを知りたいのですが。 http://vs-console.appspot.com/

これは、簡単で習得しやすい、1回のクリックソリューションで、常にシンプルなソリューションが必要だった一般的な開発問題を解決することを目的としています。

1
prule

これを試して:

ssh servername tail -f /var/log/messages

ログファイルが保護されている場合:

ssh -f servername Sudo tail -f /var/log/messages

(「ssh -f」を使用する必要はありません。これは、パスワードがTTYにエコーされないようにするためです)

必要に応じて、同じコマンドを cluster SSH で使用できます。

0
Thiago Figueiro

Phplogconなどを使用できます。 mysqlでrsyslogを使用し、他のサーバーからすべてのログをそれに送信します。 Phplogconは、Webアプリケーションを使用してそれらを表示します。

これは見栄えの良いインターフェイスではありませんが、サーバーを不必要なリモートログインにさらすことなく管理者がログにアクセスするための素晴らしい方法です。

0
Garry Harthill

Octopussy (私のプロジェクト)を使用して、ログを一元化し、アラートとレポートを表示および生成することもできます。

0
sebthebert

すでに言及しましたが、もう一度言及する価値があります。 SPLUNK!

過去に、Nice GUIを使って大きな中央のsyslogセットアップを構築できることを嬉しく思っています。それは痛みの世界です。 Splunkを使用すると、特にエンタープライズライセンスを使用して集中管理できます。ログが1日に5億を下回る場合は無料です。そうでない場合は、非常に高価になる可能性がありますが、それだけの価値があります。ログを記録するだけではなく、さらに多くのことができます。私は通常、オープンソースのアプリを提唱しますが、Splunkは私が遭遇したあらゆるものを打ち負かします。

0
goo