リモートLinuxサーバーでログを表示する


21

リモート(Linux)サーバーで 'tail -f'を実行するための便利なツールはありますか?「taillog server_host / var / log / syslog」などの操作を実行して、sshを使用せずにさまざまなサーバーのログを表示できると便利です。

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

回答:


16

ログファイルが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
+1。集中ログリポジトリは不可欠です。ブレイクイン後にログのセットをきれいにしておくのはとてもいいことです。まあ、それは彼らが攻撃者によって毒される可能性があるので、きれいに保証されていません。しかし、攻撃者は何も削除できません。
キーン司令官

次に、あなたの中央ロギングサーバ上のmultitailやsperlunkを使用すると、ネットワーク全体の感触を得るための素晴らしい方法です
デイブチェイニー

9

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

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

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


5

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


私はその提案のために15時間前ではなく投票をしました。私は...投稿をuncloakます
エイブリー・ペイン

うーん、ええ、質問に対するマルチテールは正確な答えだとは思いませんが、答えに含めるのに十分な価値があると思います。それに対する投票は非常に厳しいです。
ガクルックス2009年

不公平に同意します。...マルチログは、この2つの部分の質問の半分、「サイドバイサイド」部分に答えます。(vimdiffも素晴らしい仕事をするか、少なくともvim -Oを実行します)リモート部分に対応していないという理由だけで問題になる可能性があります。
エリクスロー2009年

3

これは明らかにあなたの質問に答えているわけではありませんが、監視するログがいくつかあり、無料版の制限を下回っている場合は、Splunkを無料で試して、すべてのログデータに便利なインターフェイスを使用できます。

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


Splunkには、ファイルでリモートtail -fを実行するために使用できるテール機能があります。しかし、私はそれが並んでいるとは思わない。
thepocketwade

2

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


2

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


linux syslogファイルのパターンはありますか?
エドガードリアル14

例に基づいて独自のパターンを作成する必要があります:code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH 14

次の形式を使用してSFTPで接続します(1.4.5バージョンにはUIブラウザーはありません):sftp://hostname/path/to/directory
Donatello

1

vsConsoleをまさにこの目的で作成しました-ログファイルへの簡単なアクセス(スッシングとファイルのアクセス許可は常に問題です)-その後、アプリの監視とバージョントラッキングを追加しました。あなたがそれについてどう思うか知りたいです。http://vs-console.appspot.com/

これは、簡単で習熟度の低い、ワンクリックソリューションであり、私が常に簡単なソリューションを必要としていた一般的な開発の問題を解決するためのものです。


0

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

これは見栄えの良いインターフェイスではありませんが、管理者がサーバーに不要なリモートログインを公開せずにログにアクセスするための便利な方法です。


0

すでに言及しましたが、再度言及する価値があります。スプリンク!

私は過去に大きなGUIを備えた大きな中央syslogセットアップを構築することができました。それは痛みの世界です。Splunkは、特にエンタープライズライセンスを使用すると、集中管理が可能になります。ログが1日5億未満の場合、無料です。そうでなければ、それは非常に高価になる可能性がありますが、それは価値があり、ほんの少しのロギングのためだけではありません-あなたはもっと多くのことができます。私は通常、オープンソースのアプリを提唱しますが、Splunkは私が出会ったものよりも勝っています。


0

これを試して:

ssh servername tail -f /var/log/messages

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

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

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

それが好きなら、クラスタSSHで同じコマンドを使用できます。


0

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


-1

加えて、@KrzyHの答え(Otros)リモートマシン上でWARをインストールすることができますので、私は技術的には、WebサービスとしてOtrosを使用することができ、Otrosへの追加を書きました。

詳細はこちら

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.