2

我正在尝试为监控服务器设置 icinga-web 界面。我已经安装并完成了这里提到的所有故障排除 -

https://wiki.icinga.org/display/testing/Icinga+Web+Testing

但是,我在访问 icinga-web 界面时遇到了这个错误 -

抛出未捕获的 Doctrine_Connection_Mysql_Exception:SQLSTATE [42S02]:未找到基表或视图:1146 表“icinga_web.nsm_session”不存在

查看数据库,nsm_session 表存在于“icinga”数据库中,而不是“icinga_web”中。有没有我遗漏的配置?提前感谢您的帮助!

4

1 回答 1

2

可能您混合了数据库设置。

  • 'icinga' 是 idoutils 数据库后端的默认数据库,让 icinga config/status/historical 写入其中
  • 'icinga_web' 是一个单独的数据库(和模式),仅用于 icinga web 的会话、内部身份验证等信息

似乎 icinga_web 数据库架构已导入“icinga”数据库,现在您的 icinga Web 安装的默认设置指向不正确的位置。

这里有两种可能:

  • 从有问题的表中清理“icinga”数据库(查看 icinga-web-src/etc/schema/mysql.sql 以查看创建了哪些表)并创建数据库“icinga_web”并导入架构(请参阅有关如何操作的文档实现这一目标)
  • 或使用现有的“icinga”数据库,但更新您的 icinga web databases.xml 配置 - icinga_web 部件的 dsn 部分必须被更改以选择正确的数据库“icinga”。http://docs.icinga.org/latest/en/icinga-web-config.html#configweb-databases

我会采用干净和独立的方式,使调试和解决错误更容易,所以 1)

注意:如果您确实通过包管理器(即 apt)安装,请运行“dpkg-reconfigure”以调用数据库配置助手。

于 2013-07-03T11:02:26.483 回答