使用RHEL / CentOS 7/6上的“Log.io”工具实时监视服务器日志

本教程将指导您如何通过在RHEL / CentOS 7 / 6.x上安装Log.io来实时安装和监视任何本地日志文件,以监视任何本地

Log.io是一个很小的简单而有效的应用程序基础上的Node.jsSocket.io之上,这使得监控Linux服务器通过Web界面屏幕小部件登录实时文件。

在CentOS中安装Log.io

Log.io - 实时服务器日志监视

本教程将指导你如何可以安装并实时监控任何本地日志文件与RHEL / CentOS 7 / 6.x的安装通过配置Log.io收割机文件,以监视任何本地更改到日志文件Log.io。

第1步:添加Epel存储库

1. CentOS的EPEL库提供的Node.jsNPM的二进制包- 节点打包模块 通过发出以下命令安装Epel存储库。

在RHEL / CentOS 7上
# yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
在RHEL / CentOS 6上
--------------------- On RHEL/CentOS 6.x - 32 Bit ---------------------
# yum install http://fedora.mirrors.telekom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
--------------------- On RHEL/CentOS 6.x - 64 Bit ---------------------
# yum install http://fedora.mirrors.telekom.ro/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
在CentOS 7中安装Epel存储库

安装Epel存储库

2.您添加的系统上EPEL回购交易后,通过做运行以下命令的系统升级。

# yum update

第2步:安装Node.js和NPM软件包

3. Node.js的是一个Javascript服务器端编程平台,它允许你创建与后端功能的网络应用。NPM(节点包管理器)实际上是对Node.js的包管理器 因此,在下一步继续前进,通过你的系统上安装的Node.js和NMP二进制YUM包管理器通过发出以下命令。

# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 
# yum install -y nodejs
在CentOS中安装Node js

在CentOS 7中安装Node js

第3步:安装和配置Log.io应用程序

4. Log.io应用程序必须在系统上通过NPM通过指定一个有效的本地系统用户,安装必须通过它发生的安装。 虽然你可以使用任何有效的系统用户安装Log.io,我个人建议安装通过root用户或其他系统用户具有root权限的应用程序。

之所以使用这种方法的缺点是Log.io必须能够访问本地读取日志文件和与非权限root权限的用户通常无法访问和读取一些重要的日志文件。

因此,使用root帐户登录并通过root帐户安装Log.io应用程序,方法是发出以下命令(如果您使用其他用户,请将root帐户替换为您的系统用户)。

# npm install -g log.io --user “root”
在CentOS中安装Log.io

安装Log.io监视

5.应用程序已经安装完毕后改变你的工作目录Log.io文件夹,这是隐藏的,做一个目录列表可视化文件夹的内容,以进一步配置应用程序。

# pwd  		[Make sure you are on the right path]
# cd .log.io/
# ls
Log.io文件

Log.io文件

6.现在是时候来配置Log.io以实时监控本地日志文件。 让我们来了解Log.io的工作原理。

  1. 收割机文件手表在其配置中声明在指定的本地日志文件的变化,通过TCP socket.io将其输出
    协议进一步邮件发送到Log.io本地服务器或它的IP地址(收割机上指定广播到所有log.io监听服务器0.0.0.0地址)宣布任何其他远程服务器-文件harvester.conf
  2. Log.io服务器在所有网络接口上绑定(如果没有在log_server.conf文件中指定),并等待来自本地或远程收集器节点的消息,并将其输出发送到log.io Web服务器(0.0.0.0表示它等待消息从任何本地或远程收割机)文件log_server.conf
  3. Log.io Web服务器绑定所有网络接口,监听端口28778和流程的Web客户端的连接,并输出它从log.io服务器收到内部消息-文件web_server.conf

编辑,默认情况下只监控Apache日志文件,并替换节点名称的语句,以配合您的主机名和你想要监控内部日志文件(在这种情况下,我监视多个日志定义logStreams报表首开harvester.conf文件文件,例如审计,消息和安全日志)。 使用以下文件摘录作为指南。

# nano harvester.conf

Harvester文件摘录。

exports.config = {
nodeName: "pxe-server",
logStreams: {
audit: [
"/var/log/audit/audit.log"
],
messages: [
"/var/log/messages"
],
secure: [
"/var/log/secure"
]
},
server: {
host: '0.0.0.0',
port: 28777
}
}
Log.io Harvester配置

Log.io Harvester配置

此外,如果你不需要收割机输出发送到远程服务器Log.io不改变服务器上的语句行主机只能在本地通过环回地址修改0.0.0.0地址发送它的输出(127.0.0.1)。

7.出于安全原因,如果您不希望远程收割机输出到本地服务器Log.io开放log_server.conf文件并替换0.0.0.0地址与回送地址(127.0.0.1)。

# nano log_server.conf
配置Linux日志

配置日志

8.其他安全功能,如登录凭据,HTTPS或限制基础上的IP,以Log.io Web服务器可以在Web服务器端的应用。 对于本教程,我将只使用作为安全措施只是凭据登录。

所以,开web_server.conf文件,删除所有斜线和星号取消对整个权威性声明和替换用户 ,并相应地传递指令底部截图的建议。

# nano web_server.conf
配置Log.io监控

配置Log.io监控

第4步:添加防火墙规则并启动Log.io应用程序

9.为了获得对Log.io服务器Web访问在RHEL / CentOS 7防火墙添加规则发出以下命令来打开TCP端口28778。

# firewall-cmd --add-port=28778/tcp --permanent
# firewall-cmd --reload
在防火墙上打开Log.io端口

在防火墙上打开Log.io端口

:RHEL / CentOS的6.x的用户可以在防火墙的iptable打开端口28778。

第5步:启动Log.io应用程序并进入Web Interface

10.为了启动Log.io日志监控应用程序确保当前的工作目录是root用户的主.log.io和按以下顺序启动应用程序中使用以下命令。

------------ First start server, put it in background and press Enter key ------------
# log.io-server & 
------------ Start log harvester in background ------------
# log.io-harvester & 
启动Log.io服务

启动Log.io服务

11.服务器后已经启动,打开浏览器,输入使用的URL地址和一个提示,要求你的登录凭据应该出现的HTTP协议其次是28778端口号,您的服务器的IP。

输入您的用户名和密码的第8步配置为进一步开展和应用Log.io现在应该在你的浏览器呈现实时监控日志文件可见。

http://192.168.1.20:28778
登录到Log.io监视

登录到Log.io监视

使用Log.io的实时日志监视

使用Log.io的实时日志监视

在Web界面上添加新屏幕,并相应地组织流或节点。

12.要停止Log.io应用程序中运行以下命令。

# pkill node

第6步:创建Log.io管理脚本

13.为了使用一个管理应用程序Log.io用三层交换机的命令( 启动停止状态 )创建的/ usr / local / bin中的可执行文件目录下面的脚本命名log.io并追加执行权限给该脚本。

# nano /usr/local/bin/log.io
# chmod +x /usr/local/bin/log.io

将以下摘录添加到此脚本文件。

#!/bin/bash
start() {
echo "Starting log.io process..."
/usr/bin/log.io-server &
/usr/bin/log.io-harvester &
}
stop() {
echo "Stopping io-log process..."
pkill node
}                             
status() {
echo "Status io-log process..."
netstat -tlp | grep node
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo "Usage: start|stop|status"
;;
Esac
Log.io启动脚本

Log.io启动脚本

14.要启动,停止或查看与root帐户(或Log.io应用程序已安装在用户),只是运行下面的命令来轻松管理应用Log.io状态登录。

# log.io start
# log.io status
# log.io stop
管理Log.io脚本

管理Log.io脚本

就这样! 在我看来,Log.io是一款优秀且有效的Web应用程序来监视本地或远程服务器日志文件是实时的,并获得什么是在系统,尤其涉及调试服务器的问题会在内部进行了展望时,系统往往无法响应或崩溃,而不需要使用控制台。