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にアクセスします。 。次のページにログが表示されます。
以上です、ハッピーモニタリング!!!。
外部リンク:
Log.io =https://github.com/NarrativeScience/Log.io
Node.js =http://nodejs.org/
socket.io =http://socket.io/
npm =https://www.npmjs.com/