如何配置ArangoDB使其日志显示服务自动重启原因?
ArangoDB自动重启原因追踪配置
ArangoDB服务已自动重启(疑似因部分进程挂起导致),以下为arangodb.log中的相关日志信息:
Shutting down services... component=arangodb Wait for process termination without sending signal coordinator... component=arangodb pid=xxx type=coordinator Terminated coordinator... component=arangodb pid=xxx type=coordinator coordinator has terminated component=arangodb pid=xxx type=coordinator Exited component=arangodb pid=xxx type=coordinator Wait for process termination without sending signal dbserver... component=arangodb pid=yyy type=dbserver Terminated agent component=arangodb pid=zzz type=agent agent has terminated component=arangodb pid=zzz type=agent Exited component=arangodb pid=zzz type=agent Continue signal termination process dbserver... component=arangodb pid=yyy type=dbserver Terminating dbserver... component=arangodb pid=yyy type=dbserver Wait on yyy returned component=arangodb exit-status=1 trap-cause=-1 Terminated dbserver... component=arangodb pid=yyy type=dbserver dbserver has terminated component=arangodb pid=yyy type=dbserver Exited component=arangodb pid=yyy type=dbserver
可以通过以下配置获取服务重启的具体原因:
提升ArangoDB日志级别
修改ArangoDB配置文件(如arangod.conf),将log.level设置为debug或trace,会记录进程状态变化、资源使用、内部错误等细节,帮助定位触发点。配置示例:log.level = debug启用进程细节日志
开启log.process-details配置,记录进程启动、终止信号、资源占用等信息,便于分析进程挂起或终止的直接原因:log.process-details = true系统层面追踪(如systemd管理场景)
若服务由systemd管理,修改服务文件(如arangodb.service)添加StandardOutput=journal+console,之后通过journalctl -u arangodb.service -xe查看系统层面的重启触发日志,可获取OOM killer触发、进程异常信号等系统级原因。
调整配置后,后续重启事件的日志会包含更明确的触发原因,比如资源耗尽、内部错误栈、外部终止信号等。
内容的提问来源于stack exchange,提问作者Mark Barinstein
相关产品推荐
相关产品推荐

