将 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 (输入 “./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,但您应该使用您所需日志文件的完整路径)
本页是否有帮助?