私は現在Icinga監視システムをセットアップしていますが、httpからアクセスしたときに認証を要求する特定のページ、主にIcingaの[すべての問題]オプションにアクセスする方法がわかりません。
とにかく認証をバイパスすることはできますか(アイデアは、そのページを2番目の画面に表示されるローテーションページに配置することです)?
前もって感謝します
これは典型的なダッシュボードの質問だと思いますが、これは過去に注意が必要でした。
探しているオプションは、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
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
}