Nagiosのユーザーが一部のサーバーのステータスを表示できるようにするが、何も無効/有効にしない方法は?
/usr/local/nagios/etc/cgi.cfg(またはシステムのどこにあるか)で、読み取り専用ユーザーを定義します。
# A comma-delimited list of usernames that have read-only rights in
# the CGIs. This will block any service or Host commands normally shown
# on the extinfo CGI pages. It will also block comments from being shown
# to read-only users.
authorized_for_read_only=viewer
もちろん、ビューアは最初に適切なhtpasswd認証を持つ連絡先として定義する必要があります。サービス/ホストの詳細ページで、通常コマンドがある右側には次のように表示されます。
あなたのアカウントにはコマンドを実行する権限がありません。
質問を正しく理解した場合、一部のサーバーのみを表示でき、管理タスク(監視の開始/停止またはアラート)を実行する権限のないユーザーをnagiosに追加したいと考えています。
これを行うには、nagiosの.htpasswdファイルにユーザーを追加し、.giosで.htpasswdに設定されているユーザー名と一致するcontact_nameで連絡先を作成し、その連絡先を、表示したいホストにのみ追加する必要があります。テンプレートで定義されているものをホスト構成に追加するときは、テンプレートに追加するのではなく、テンプレートを上書きするので、ホストがテンプレートにすでに持っている連絡先も追加する必要があります。
ユーザーを許可するには一部のホストへの表示のみのアクセス Nagios Webviewで次の変更を実装する必要があります:
注:ジャンプ。すでにパスワード保護認証を有効にしている場合:
Nagiosインストールにあるcgi.cfg
を編集して(例:/usr/local/nagios/etc
)、パスワードで保護されたログインを有効にします。
use_authentication=1
Apacheインストールディレクトリのnagios.conf
ファイルで、次の行がhtpasswd.users
ファイルを指すように含まれていることを確認します。
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
htpasswd
コマンドとApache HTTPDパスワードマネージャを使用して、htpasswd.users
ファイルにユーザーを追加します。場所はシステムによって異なる場合があります。いくつかの一般的な場所は/usr/bin
と/usr/local/Apache/bin
です。
# htpasswd /usr/local/nagios/etc/htpasswd.users testuser01
New password:
Re-type new password:
Adding password for user testuser01
Nagiosインストールにあるcgi.cfg
を編集します。 authorized_for_read_only
のコメントを外し、アクセスを許可するユーザー名を追加します。
authorized_for_read_only=testuser1
Nagiosインストールからobjects/contacts.cfg
にユーザーのエントリを作成します。
define contact {
contact_name testuser01
use generic-contact
alias Test User 01
email [email protected]
}
同じobjects/contacts.cfg
で、ユーザーと同じホストへの同じアクセスを必要とする他の将来のユーザーを保持するグループも定義します。ユーザーがグループに含まれていると、管理が容易になります。
define contactgroup {
contactgroup_name view-only-Host01
alias View Only access to alarms for Host01
members testuser01
}
以前に定義した連絡先グループview-only-Host01
を取得し、ホストの.cfg(例:objects/Host01.cfg
)で、表示のみのアクセスを許可するすべてのサービスに追加します。
define service{
service_description Alarm for Test service - Metric 01
check_command webinject!test/test.xml
servicegroups availability
contact_groups admins,view-only-Host01
}
Nagiosを再起動します
Cgi.cfgファイルには、次の行があります。
authorized_for_all_services=*
authorized_for_all_hosts=*
通常、これらは上記のように構成されているため、すべてのユーザーが少なくともすべてのホストとサービスを表示できます。したがって、新しいユーザーをhtpasswdファイルに追加すると、デフォルトで目的の動作が得られるはずです。