web-dev-qa-db-ja.com

icingacgiへの匿名アクセス

私は現在Icinga監視システムをセットアップしていますが、httpからアクセスしたときに認証を要求する特定のページ、主にIcingaの[すべての問題]オプションにアクセスする方法がわかりません。

とにかく認証をバイパスすることはできますか(アイデアは、そのページを2番目の画面に表示されるローテーションページに配置することです)?

前もって感謝します

1
brusilva

これは典型的なダッシュボードの質問だと思いますが、これは過去に注意が必要でした。

探しているオプションは、cgi.cfgのuse_authentication = 0です。ただし、既存のユーザーなどによる承認を伴う現在のセットアップを考えると、これは実際には悪い考えです。

既存のインストールを損なうことなくこれを実現する別の方法があります。「/ icinga-dashboard」の下にクラシックUIを提供する別のApache構成を作成し、認証にSatisfyAnyを使用します。あなたのローカルネットワーク。ただし、REMOTE_USERのSetEnvIfも必要になり、一般的なApacheの高度な知識(またはお好みのWebサーバー)も必要になります。

より簡単な方法(ただし、少しオーバーヘッドがあります)は、Classic UIをスタンドアロンアプリケーションとしてインストールし、独自のcgis/htmlを持ち、Icinga Coreからデータソースのみを読み取り、必要なものだけを提供することです。 Icinga2互換性レイヤーの開発中にクラシックUIを使用しているため、ついにIcinga1.9リリースでそれを実現しました。次のドキュメントに従ってクラシックUIスタンドアロンをインストールできます。 https://wiki.icinga.org/display/ howtos/Setting + up + Icinga + Classic + UI + Standalone

1
dnsmichi

check_http プラグインを使用して、認証を要求するWebページを監視することをお勧めします。Check_httpプラグインには、渡されたパラメーターを使用してWebページの状態をチェックする機能があります。

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

ここで、-I =サーバーのIPアドレス

-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
}
0
MangeshBiradar