Log.ioは、node.jsとsocket.ioを利用したリアルタイムの監視ツールです。 Log.ioは、サーバーログを監視するためのシンプルなWebインターフェイスを提供します。このガイドは、CentOS 7 /RHEL7でlog.ioを使用してサーバーログを監視するのに役立ちます。
EPELリポジトリの構成:
Log.ioのインストールにはnpmを使用するため、EPELリポジトリでnpmとnode.jsをインストールできます。 EPELrpmをインストールしてCentOS7のリポジトリをセットアップします。
# rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Log.ioのインストール:
yumコマンドを使用してnpmとnode.jsをインストールします。
# yum install npm nodejs
npmは、アプリケーションの依存関係を管理できるjavascriptのパッケージマネージャーです。また、ユーザーはnpmレジストリからnode.jsアプリケーションをインストールできます。インストールにはユーザー名を入力する必要があります。たとえば、ここでは「root」ユーザーを使用しました。
# npm install -g log.io --user "root"
Log.ioの構成:
Log.ioのインストール済みディレクトリは〜/ .log.ioです。これは、ユーザーのホームディレクトリ内の隠しディレクトリであり、インストールの前の手順で使用されます。このディレクトリには、動作の性質を制御する3つの構成ファイルがあります。
harvester.conf
これはハーベスタの構成ファイルであり、ログファイルの変更を監視し続け、新しいログをサーバーに送信するログフォワーダーに他なりません。ノード名、監視するすべてのログ、およびログの送信先を構成できます。
ハーベスタファイルを編集し、ノード名を指定します。デフォルトでは、harvesterはapacheログのみを監視するように設定されていますが、メッセージログを監視するように変更します。サーバーホストは0.0.0.0として定義されているため、ハーベスターはすべてのリスニングLog.ioサーバーにログをブロードキャストします。127.0.0.1(同じマシンがLog.ioサーバーとして機能する場合)またはリモートサーバーのIPアドレスを設定することをお勧めします。 Log.ioサーバー。
# vi ~/.log.io/harvester.conf exports.config = { nodeName: "ITzGEEK_server", # Node Name logStreams: { apache: [ "/var/log/httpd/access_log", # Monitoring Apache Logs "/var/log/httpd/error_log" ], messages: [ "/var/log/messages" # Monitoring Messages file ], }, server: { host: '192.168.0.1', # Sends the file to remote server, Set to 127.0.0.1 for local Log.io server port: 28777 } }
log_server.conf
これはLog.ioサーバーの構成ファイルであり、リッスンするIPアドレスをサーバーに通知します。デフォルトでは、クライアントからログを受信するためにすべてのIPインターフェイスでリッスンします。リスニングIPアドレスは、ホスト文字列を変更することで変更できます。
# vi ~/.log.io/log_server.conf exports.config = { host: '0.0.0.0', # Listens on all ip for receving logs port: 28777 }
web_server.conf
これはWebインターフェースの構成ファイルであり、これによりWebポータルの機能が変更されます。デフォルトでは、Webポータルはポート番号28778およびすべてのインターフェイスでアクセスできます。このファイルは、HTTP認証を設定し、SSLを使用してWebインターフェイスを保護し、特定のIPアドレスからのログを禁止し、特定のIPへのWebインターフェイスアクセスを制限することにより、セキュリティを強化する方法を提供します。
# vi ~/.log.io/web_server.conf exports.config = { host: '0.0.0.0', # Listens all ip adress to recive the web interface requests port: 28778, /* // Enable HTTP Basic Authentication auth: { user: "admin", pass: "1234" }, */ /* // Enable HTTPS/SSL ssl: { key: '/path/to/privatekey.pem', cert: '/path/to/certificate.pem' }, */ /* // Restrict access to websocket (socket.io) // Uses socket.io 'origins' syntax restrictSocket: '*:*', */ /* // Restrict access to http server (express) restrictHTTP: [ "192.168.29.39", "10.0.*" ] */ }
ハーベスタからログを受信するために、ファイアウォールでWebインターフェイスとsocket.ioを許可します。
# firewall-cmd --add-port=28778/tcp --permanent # firewall-cmd --add-port=28777/tcp --permanent # firewall-cmd --reload
サーバーログの監視:
Webブラウザーを開き、 http:// your-ip-address:28778にアクセスします。 。次のページにログが表示されます。
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042710271361.jpg)
以上です、ハッピーモニタリング!!!。
外部リンク:
Log.io =https://github.com/NarrativeScience/Log.io
Node.js =http://nodejs.org/
socket.io =http://socket.io/
npm =https://www.npmjs.com/