将 Neo4j 日志重定向到 sysout(使用 rsyslog)
有时——由于组织需求、安全、索引或纯粹的便利——我们希望将所有应用程序日志输出到 Linux 的 sysout。虽然 Neo4j 本身不提供此功能,但我们可以使用 RSYSLOG(www.rsyslog.com)来实现,并且可以通过 6 个简单步骤完成。
步骤
-
安装 rsyslog 依赖项
-
安装 rsyslog
-
编辑 rsyslog.conf 以接受任意文件的添加
-
为 rsyslog 创建从 Neo4j 读取的配置文件
-
重启 rsyslog
-
检查结果
1. 安装 rsyslog 依赖项
安装 rsyslog 需要安装大量依赖项。在我们的测试环境中,需要安装以下依赖/库:libee、libstr、libjson0、libjson0-dev、uuid、libgcrypt11-dev、python-docutils、zlib1g-dev
您应参考 rsyslog 的安装指南(http://www.rsyslog.com/newbie-guide-to-rsyslog),并查看 Preliminary actions(初始操作)章节。
安装这些依赖项可能需要按照 Preliminary actions 章节中的逐步说明进行,或使用命令 sudo apt-get install <dependency>。然而,为了让 rsyslog 正确安装,必须全部安装这些依赖项。
|
由于这取决于您机器上已安装的内容,只有在实际安装 rsyslog 时才会发现缺少哪些依赖项。如果出现这种情况,请安装相应的依赖项并重新尝试。 |
2. 安装 rsyslog
现在您已经按照 rsyslog 指南安装了所有必需的依赖项,可以继续安装 rsyslog 本身。您仍然可以参考 rsyslog 的安装指南(http://www.rsyslog.com/newbie-guide-to-rsyslog)并遵循 How to install rsyslog(如何安装 rsyslog)步骤。然而,要使 rsyslog 能够处理任意文件,您需要显式安装相应模块。在 rsyslog 网站的分步指南第 4 步(Type “./configure –prefix=/usr”)中,您需要改为运行以下命令
./configure --prefix=/usr --enable-imfile
如果不这样做,虽然安装会成功,但我们将使用的模块将不会被安装,导致重定向无法工作。
3. 编辑 rsyslog.conf
现在 rsyslog 已经安装,我们需要编辑 rsyslog.conf,以便处理任意文件。为此,必须编辑文件 /etc/rsyslog.conf 并在文件的 MODULES 部分添加以下行
$ModLoad imfile
这将启用 rsyslog 对您定义的任何文件的使用。
|
另外,请确保以下行未被注释: |
4. 创建 neo4j.conf 文件
接下来我们将创建一个配置文件,以实现将 Neo4j 日志重定向到 sysout。
在 /etc/rsyslog.d 下创建新文件(例如:neo4j_debug.conf),编辑并向文件中添加以下内容(这里以版本 3.0.7 的 debug.log 为例)
$InputFileName /neo/neo4j-enterprise-3.0.7/logs/debug.log
$InputFileTag neo4j_debug
$InputFileStateFile neo4j_debug
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
$InputFilePersistStateInterval 1000
(虽然我在 $InputFileName 中使用了 3.0.7 版本,但您应使用想要的日志文件的完整路径)
此页面有帮助吗?