Eu mudaria para syslog-ng
e filtraria essa mensagem configurando:
filter f_imapd { facility(local6) and level(debug) and not match("regexp" value("fetching user_deny.db entry for")); };
Nós temos um cyrus 2.4.12
no Debian, nós usamos pacotes, ao invés de construirmos cada software nós mesmos.
Estou recebendo o "log" constantemente, vários usuários e 8 a 10 vezes por solicitação do usuário:
fetching user_deny.db entry for 'user123'
Eu procurei por ele, mas não encontrei uma solução real, havia alguns patches para 2.3.xx, mas não queremos construí-lo, preferimos usar pacotes.
Existe alguma solução para desativar o user_deny.db
. Nós não precisamos desse recurso. Ele desperdiça a CPU como disco.
Eu mudaria para syslog-ng
e filtraria essa mensagem configurando:
filter f_imapd { facility(local6) and level(debug) and not match("regexp" value("fetching user_deny.db entry for")); };
Se você usar o syslog-ng, você também pode tentar suprimir mensagens idênticas com a opção de suprimir a configuração:
options {
suppress(30);
};
Neste exemplo, mensagens idênticas serão registradas uma vez a cada 30 segundos
Parece que a sintaxe correta do filtro é:
filter f_imapd { facility(local6) and not match("fetching user_deny.db entry for" value("MESSAGE")); };
Eu encontrei a seguinte solução para o problema. Crie um (novo) user_deny.db
de um arquivo simples (vazio) com cvt_cyrusdb
e as mensagens desaparecerão.
O cyrus-imapd envia todos os níveis de mensagens (depuração, informações, avisos, erros) e não pode desconectar ou alterar o nível das mensagens. É relatado no bugzilla em 2011, mas eles não parecem estar interessados em consertá-lo, então as mensagens não podem ser desconectadas. Para removê-los do log, eles podem ser interceptados pelo rsyslog.
Para fazer isso, crie um arquivo em /etc/rsyslog.d como:
vi /etc/rsyslog.d/fetching_user_deny_error.conf
Adicione isto ao arquivo:
if $programname == 'cyrus' and $msg contains_i 'fetching user_deny' then ~
Para concluir, reinicie o rsyslog:
service rsyslog restart