我非常困惑,谷歌并没有真正提供帮助。另外,我是一个 Linux 新手。我参加了几门课程,但这些课程都是关于如何在基本 Linux 设置中进行配置的。我现在正在尝试学习如何设置以实际使用。在工作中,我们使用 Nagios/Thruk,因此我尝试将其设置在我的家庭网络上,以便我可以更好地学习它。
我设置了一台 CentOS 6.6 机器。我已经在上面安装了 Nagios,并且运行良好。现在我正在尝试设置 Thruk。我已经成功安装了 livestatus 和 Thruk,但我一直在让它实际工作起来。在文档中,它表明我应该将这两行添加到文件中/usr/local/nagios/etc/nagios.cfg
:
broker_module=/usr/local/lib/mk-livestatus/livestatus.o /var/lib/nagios/rw/live
event_broker_options=-1
event_broker_options=-1 行已经存在,因此我在其上方添加了另一行。在某些示例中,它显示为:
broker_module=/usr/local/lib/mk-livestatus/livestatus.o /tmp/live.sock
event_broker_options=-1
我两种都尝试过,但似乎无法使其发挥作用。我已经完成了我能想到的所有基础知识。我已经重新安装并更新了所有组件(nagios、livestatus、thruk),我已经重新加载并重新启动了所有相关服务十亿次。当我添加的行在那里时,Nagios 在我告诉它启动时启动,但它立即停止。当我进入该/usr/local/nagios/var/nagios.log
文件时,每当我尝试启动 Nagios 但失败时,我都会看到以下几行:
Error: Could not load module '/usr/local/lib/mk-livestatus/livestatus.o' -> /usr/local/lib/mk-livestatus/livestatus.o: undefined symbol: last_command_check
Error: Failde to load module '/usr/local/lib/mk-livestatus/livestatus.o' .
Error: Module loading failed. Aborting.
如果我注释掉添加到nagios.cfg
文件中的行,Nagios 将加载并正常工作,但 Thruk 仍然无法正常工作。如果我加载 Thruk 页面,我会得到以下信息:
No Backend available
None of the configured Backends could be reached, please have a look at the logfile for detailed information and make sure the core is up and running.
Details:
home-net: ERROR: failed to open socket /tmp/live.sock: No such file or directory (/tmp/live.sock)
在我看来,livestatus 似乎出了问题,但我对它的理解还不够好,无法自行修复它,而且我在任何地方都很难找到(或可能理解)答案。据我了解,我认为该nagios.cfg
文件应该配置 live.sock 文件。这不正确吗?我正在尽力而为,但我需要一些帮助。
答案1
如果您使用的是 Nagios 4.X,请确保使用选项从源安装 livestatus 以使其与 Nagios 4.X 兼容 ->https://mathias-kettner.de/checkmk_livestatus.html 否则 Nagios 无法在启动期间创建套接字并崩溃。我使用的配置与您完全相同,但仍然阻止下一步:使 thruk 读取套接字。如果您能管理,请提供详细信息。