LINUX.ORG.RU
ФорумAdmin

Гигабайты лога от slapd ежедневно


0

1

Господа, подскажите пожалуйста. Имеется контроллер домена на Samba+Openldap. Каждые ~100мс slapd пишет в лог примерно такую речь:

conn=2 op=324 SRCH base=«dc=company,dc=net» scope=2 deref=0 filter="(&(objectClass=posixGroup)(cn=adm))" conn=2 op=324 SRCH attr=cn userPassword memberUid uniqueMember gidNumber conn=2 op=324 SEARCH RESULT tag=101 err=0 nentries=1 text=

В результате под вечер имеется /var/log/syslog /var/log/debug и /var/log/ldap.log размером по ~500МБ каждый. Если я верно понимаю какой-то процесс пытается найти в дереве каталогов сответствующую запись, которой там нет. Но как понять, кто именно. Как отключить эту активность?

Заранее благодарю.

Добавь тег [DRVTiny] в заголовок. DRVTiny - местный спец по LDAP.

Не работав со slapd, я бы предлолжил проснифать по порту LDAP'a от кого веет таким траффиком. Правда может оказаться что сам сервер и запрашивает у себя. Тогда смотреть настройки и частоту обновлений/синхронизаций с каталогом.

//DRVTiny - не пинай за то что я написал - я просто предположил )

adriano32 ★★★ ()
Ответ на: комментарий от adriano32

Ну там может быть, что это вполне нормальный такой повседневный поиск по каталогу, просто у автора включено избыточное логгирование.

Fletch ★★ ()
Ответ на: комментарий от alikthename

Знаю эту таблицу. Но что она должна мне дать? loglevel -1 информативности не прибавляет, все те же 3 строчки.

facepalm.schema...

Тебе надо не прибавлять информативности, а убавлять. Чтобы вообще убрать отладочные сообщения - loglevel 0. Также осмотри строку запуска slapd на предмет наличия опции -d, которая имеет тот же эффект, что и loglevel в конфиге.

Deleted ()
Ответ на: комментарий от alikthename

Найди его последнюю тему и флудани туда - думаю откликнется.

adriano32 ★★★ ()
Ответ на: комментарий от Deleted

>Тебе надо не прибавлять информативности, а убавлять. Чтобы вообще убрать отладочные сообщения - loglevel 0. Также осмотри строку запуска slapd на предмет наличия опции -d, которая имеет тот же эффект, что и loglevel в конфиге.

Нет, убавление информативности мне не нужно. Я хочу понять откуда появляется эта активность и убрать ее. Рекомендуемый официальной документацией Openldap уровень логов для продакшена - 256. Есть у меня еще один домен контроллер на Samba+LDAP. И все у него в логах минималистично, стоит там loglevel 256.

alikthename ()

Скорее всего, ищет NSS (/etc/nsswitch.conf).
Насчёт того, что нет такой записи - тогда почему у вас nentries=1. Посмотрите getent group adm - неужели ничего нет, Кстати, эта команда как раз и должна сгенерировать подобный запрос. Смущает сильно только запрос атрибута userPassword - его по определению может запрашивать только NSS при EUID=0 (то есть от root'а).
В общем и целом, если скопируете сюда /etc/ldap.conf, будет проще разобраться. То, что у вас в nsswitch.conf'е есть ldap, итак понятно.
Да, логлевэл у вас итак низкий, так что особого смысла его менять не вижу.
Ну и в качестве идеи к размышлению: вы можете запустить nscd (name space caching deamon), который будет кешировать полученную NSS'ом инфу и тогда количество запросов сократится в разы буквально.

DRVTiny ★★★★★ ()
Ответ на: комментарий от alikthename

>строку запуска slapd на предмет наличия опции -d, которая имеет тот же эффект, что и loglevel в конфиге.

По моим наблюдениям не тот же: с -d сервер будет запущен в foreground и будет валить отладку в родительскую консоль.

DRVTiny ★★★★★ ()
Ответ на: комментарий от DRVTiny

По моим наблюдениям не тот же: с -d сервер будет запущен в foreground и будет валить отладку в родительскую консоль.

Да, я похоже -d с -s перепутал...

Deleted ()
Ответ на: комментарий от DRVTiny

Ну и в качестве идеи к размышлению: вы можете запустить nscd (name space caching deamon), который будет кешировать полученную NSS'ом инфу и тогда количество запросов сократится в разы буквально.

Есть ещё вот такая штука: nss-pam-ldapd, там собственный демон для кеширования и работы с LDAP. И ещё есть sssd.

Deleted ()

conn=2 op=324 SRCH base=«dc=company,dc=net» scope=2 deref=0 filter="(&(objectClass=posixGroup)(cn=adm))" conn=2 op=324 SRCH attr=cn userPassword memberUid uniqueMember gidNumber conn=2 op=324 SEARCH RESULT tag=101 err=0 nentries=1 text=

Хм... А какой у тебя дистрибутив? Я сейчас посмотрел, как минимум в fedora и ubuntu, adm - это системная группа, которая прописана в /etc/group:

$ grep adm: /etc/group
adm:x:4:
Посмотри, есть ли она у тебя. И покажи содержимое nsswitch.conf.

Deleted ()
Ответ на: комментарий от Deleted

nss-pam-ldapd выбрал верное направление, а вот sssd по-моему интересен с точки зрения поддержки Kerberos. Хотя ещё бабушка надвое сказала, как он там поддерживает...

DRVTiny ★★★★★ ()
Ответ на: комментарий от DRVTiny

Насчёт того, что нет такой записи - тогда почему у вас nentries=1. Посмотрите getent group adm - неужели ничего нет, Кстати, эта команда как раз и должна сгенерировать подобный запрос.

Совсем забыл сказать. Добавил эту запись буквально за неск часов до поста, чтобы посмотреть изменитcя ли что-нибудь. Но основная проблема не изменилась.

/etc/ldap/slapd.conf

# slapd.conf template
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/MES5/krb5-kdc.schema
include /etc/ldap/schema/MES5/kerberosobject.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/MES5/autofs.schema
include /etc/ldap/schema/MDS/samba.schema
include /etc/ldap/schema/MES5/evolutionperson.schema
include /etc/ldap/schema/MES5/calendar.schema
include /etc/ldap/schema/MES5/sudo.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/MDS/local.schema

### Add for MDS 
include /etc/ldap/schema/MDS/mmc.schema
include /etc/ldap/schema/MDS/mail.schema
include /etc/ldap/schema/MDS/dnszone.schema
include /etc/ldap/schema/MDS/dhcp.schema

pidfile         /var/run/slapd/slapd.pid
argsfile        /var/run/slapd/slapd.args

#vlad
moduleload      back_hdb


loglevel        256
database        config
rootdn          "cn=rootdn"
rootpw          

database        hdb
suffix          "dc=company,dc=local"
directory       /var/lib/ldap
rootdn          "cn=rootdn,dc=company,dc=local"
rootpw          rootpw

checkpoint 256 5
# 32Mbytes, can hold about 10k posixAccount entries
dbconfig set_cachesize 0 33554432 1
dbconfig set_lg_bsize 2097152
cachesize 1000
idlcachesize 3000

index   objectClass                                     eq
index   uidNumber,gidNumber,memberuid,member            eq
index   uid                                             eq,subinitial
index   cn,mail,surname,givenname                       eq,subinitial
index   sambaSID                                        eq,sub
index   sambaDomainName,displayName,sambaGroupType      eq
index   sambaSIDList                                    eq
index   krb5PrincipalName                               eq
index   uniqueMember                                    pres,eq
index   zoneName,relativeDomainName                     eq
index   sudouser                                        eq,sub
index   entryCSN,entryUUID                              eq
index   dhcpHWAddress,dhcpClassData                     eq

access to attrs=userPassword,shadowLastChange
        by dn="cn=rootdn,dc=company,dc=local" write
        by anonymous auth
        by self write
        by * none

access to dn.base="" by * read

access to *
        by dn="cn=rootdn,dc=company,dc=local" write
        by * read

monitoring off

/etc/nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:     files ldap
shadow:     files ldap
group:      files ldap

hosts:      files dns

bootparams: files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files
netgroup:   files
publickey:  files
automount:  files
aliases:    files
alikthename ()
Ответ на: комментарий от Deleted
$ grep adm: /etc/group
adm:x:4:

Посмотри, есть ли она у тебя. И покажи содержимое nsswitch.conf.

Да, есть такая группа.

alikthename ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.