匿名访问 icinga cgi

匿名访问 icinga cgi

我目前正在设置 Icinga 监控系统,但是我不知道如何访问通过 http 访问时要求进行身份验证的特定页面,主要是 Icinga 上的“所有问题”选项。

有没有什么方法可以绕过身份验证(想法是将该页面放在我的第二个屏幕上显示的旋转页面上)?

提前致谢

答案1

我猜这是典型的仪表板问题,这个问题在过去一直很棘手。

您正在寻找的选项是 cgi.cfg 中的 use_authentication=0 - 但是,考虑到您当前的设置以及现有用户的授权等,这实际上是一个坏主意。

还有另一种方法可以实现这一点,而不会损害您现有的安装 - 在“/icinga-dashboard”下创建另一个服务于您的 Classic UI 的 apache 配置,并使用 Satisfy Any 进行授权,例如您的本地网络。不过,REMOTE_USER 的 SetEnvIf 也是必需的,并且通常需要一些更高级的 apache 知识(或您首选的 Web 服务器)。

一种更简单的方法(但开销更大)是将 Classic UI 安装为独立应用程序,拥有自己的 cgis/html 并仅从 Icinga Core 读取数据源,仅提供您需要的内容。由于我们在开发 Icinga2 兼容层时使用了 Classic UI,我们最终在 Icinga 1.9 版本中实现了这一点 - 您可以按照以下文档安装 Classic UI Standalone:https://wiki.icinga.org/display/howtos/Setting+up+Icinga+Classic+UI+Standalone

答案2

我建议你使用检查http插件来监控要求您进行身份验证的网页。Check_http插件具有这样的功能,可以使用传递的参数检查网页健康状况。

Ex: check_http -I <ipaddress of server> -H host_name.com -u /index.html -a username:password

其中,-I = 服务器的 ipaddress

-H = 主机名

-u = 主机的 URL(如果有)。例如:www.myhost.com/index.html

-a = 用于身份验证。

定义这样的命令

 # 'check_http' command definition
    define command{
    command_name check_http_test
    command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ -a username:password
    }

定义服务:

define service{
use local-service ; Name of service template to use
host_name hostname
service_description HTTP_AUTH
check_command check_http_test
notifications_enabled 0
}

相关内容