Назад | Перейти на главную страницу

Как разрешить пользователю в Nagios просматривать статус некоторых серверов, но ничего не отключать / включать?

Как разрешить пользователю в 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, которые могут видеть только некоторые из серверов и не имеют полномочий выполнять какие-либо административные задачи (запуск / остановка мониторинга или оповещения).

Для этого вам нужно будет добавить пользователя в файл .htpasswd для nagios, а затем создать контакт в nagios с именем contact_name, совпадающим с именем пользователя, заданным в .htpasswd, а затем добавить этот контакт только к хостам, которые вы хотите, чтобы они видели. Помните, что когда вы добавляете в конфигурацию хоста вещи, которые также определены в шаблоне, они переопределяют шаблон, а не добавляют к нему, поэтому вам также нужно будет снова добавить все контакты, которые хост уже имеет в шаблоне.

Для разрешения пользователю доступ только для просмотра только для некоторых хостов в веб-просмотре Nagios необходимо внести следующие изменения:

Примечание: Перейти к 3. если у вас уже включена аутентификация, защищенная паролем:

  1. Отредактируйте cgi.cfg находится в вашей установке nagios (например, /usr/local/nagios/etc) для включения защищенного паролем входа:

    use_authentication=1
    
  2. в nagios.conf файл в каталоге установки Apache, убедитесь, что включены следующие строки, указывающие на htpasswd.users файл:

    AuthName "Nagios Access"
    AuthType Basic
    AuthUserFile /usr/local/nagios/etc/htpasswd.users
    Require valid-user
    
  3. Добавить пользователя в htpasswd.users файл с помощью htpasswd и диспетчер паролей Apache HTTPD. Местоположение может отличаться в зависимости от вашей системы; несколько распространенных мест для этого /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
    
  4. Отредактируйте cgi.cfg находится в вашей установке nagios; раскомментировать authorized_for_read_only и добавьте имя (а) пользователя, для которого вы хотите предоставить доступ:

    authorized_for_read_only=testuser1
    
  5. Создайте запись для пользователя в objects/contacts.cfg из вашей установки nagios:

    define contact {
        contact_name                    testuser01
        use                             generic-contact
        alias                           Test User 01
        email                           test.user01@email.com
    }
    
  6. В то же самое objects/contacts.cfg определите также группу, которая будет содержать пользователя и других будущих пользователей, которым потребуется такой же доступ к одним и тем же хостам - проще управлять, когда пользователи содержатся в группах:

    define contactgroup {
        contactgroup_name       view-only-host01
        alias                   View Only access to alarms for Host01
        members                 testuser01
    }
    
  7. Возьмите контактную группу, определенную ранее, 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
    }
    
  8. Перезагрузите nagios

В вашем файле cgi.cfg есть следующие строки:

authorized_for_all_services=*

authorized_for_all_hosts=*

Обычно они настроены так, как указано выше, поэтому все пользователи могут, по крайней мере, просматривать все ваши хосты и службы. Поэтому, если вы добавите нового пользователя в файл htpasswd, он по умолчанию должен получить желаемое поведение.