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

openldap: огромные файлы журналов на уровне журнала 'статистика'

У меня есть Linux-сервер, на котором запущен openldap для администрирования пользователей. Уровень журнала установлен на 'stats', который я видел где-то "рекомендуемым" уровнем журнала. Теперь проблема в том, что файлы журналов быстро растут, причем большая часть записей создается запросами от нескольких клиентов KDE 4: В секунду создаются десятки записей следующей формы

Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26379 SRCH base="dc=###" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=####))"
Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26379 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass
Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26379 SEARCH RESULT tag=101 err=0 nentries=1 text=
Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26380 SRCH base="dc=###" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uidNumber=####))"
Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26380 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass
Apr 19 13:21:50 ###### slapd[1429]: conn=1001 op=26380 SEARCH RESULT tag=101 err=0 nentries=1 text=

У меня нет четкого представления, какой именно компонент клиентов создает этот поток запросов. Я уверен, что он исходит от какого-то стандартного компонента KDE, работающего в фоновом режиме, когда какой-либо пользователь входит в систему.

В loglevel=stats действительно является уровнем журнала по умолчанию, как описано в руководство.

Эти запросы кажутся вполне допустимыми для системы Linux, имеющей бэкэнд LDAP.

Фильтр: "(&(objectClass=posixAccount)(uid=####))" поиск учетной записи с определенным именем для входа. Я ожидал бы таких запросов от вашего стека PAM, когда пользователь пытается войти в систему.

Фильтр: (&(objectClass=posixAccount)(uidNumber=####)) поиск информации, связанной с числовым uidNumber. Я бы ожидал таких запросов, когда вашей системе необходимо преобразовать числовые номера UID, используемые вашей системой, в более понятные для человека имена для входа, например, когда ls -l выполняется.

Требуются следующие атрибуты учетной записи: attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass которые являются обычными атрибутами учетной записи POSIX для учетной записи пользователя.

Этот запрос LDAP выполнен успешно и, как и ожидалось, дает ровно 1 результат: SEARCH RESULT tag=101 err=0 nentries=1 text. Также ожидается 0 результатов, имя пользователя или числовой uidNumber неизвестны, более одного результата будут интересны, учетные записи пользователей и числовое uidNumber должны быть уникальными и отличными для каждого уникального пользователя.

Вы можете настроить свои клиенты Linux для создания и поддержки кеша с результатами таких запросов в центральный каталог пользователей, что должно снизить нагрузку на ваш сервер LDAP, привести к меньшему количеству записей в журнале и улучшить работу клиентов.

Установите и включите nscd (демон кэширования службы имен) на клиентах. Настройка nscd обычно не требуется.