GNU/Linux >> Linux の 問題 >  >> Linux

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

解決策 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 からアクティブなデータを受信しますが、私はその機能を使用したことがなく、そうであるかどうかもわかりません.


Linux
  1. サーバーログの使用

  2. Linux (Central Log Server) で Rsyslog リモート ロギングをセットアップする方法

  3. 管理 Linux サーバー

  1. Linux OS サービス「syslog」

  2. Ubuntu Linux で実行されているリモート MySQL サーバーを再起動する方法は?

  3. 監査ログを SYSLOG サーバーに送信する

  1. rsyslogを使用してLinuxログ集約サーバーを作成する方法

  2. リモートLinuxサーバーを強制的に再起動します

  3. Linux:リモート sysadmin のセットアップ