Eu quero usar o syslog para registrar o MySQL (5.1.41) no Ubuntu (10.04 LTS). Encontrei informações que geram log de erros no syslog.
[mysqld_safe]
syslog
Mas eu quero usar o syslog para registrar logs gerais e logs de consulta lenta. Por favor, me avise como escrever o arquivo de configuração?
Não encontrei como fazer isso no manual de referência.
http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html
Isso é muito mais simples feito desta maneira:
cd para pastas mysql:
em my.cnf diga:
Em seguida, configure seu syslog/syslog-ng para ler o pipe FIFO e faça o que quiser.
No meu caso, eu o canalizo pela rede para um servidor centralizado com apenas os logs de erros e os logs de consulta lenta.
Em situações em que você deseja também manter a cópia local, basta configurá-la como saída para tabela e arquivo conforme descrito acima.
Esse mecanismo é totalmente diferente do syslog do sistema operacional.
A configuração da saída de log pode ser definida como TABLE, FILE (padrão) ou NONE
se você usar isso
Isso fará com que o log do log geral e/ou do log lento vá para um arquivo CSV. Você pode converter esse CSV para MyISAM da seguinte forma:
Você pode então deixar esse arquivo crescer tremendamente e terá que limpar a tabela de vez em quando. Aqui está como limpar a tabela general_log e manter os últimos 3 dias:
E o syslog (var/log/messages) ? Você deve script que você mesmo. Primeiro, você precisa disso:
se você deseja coletar o log geral em ambos os formatos ou
apenas para o formato do arquivo.
Agora faça um script para coletar as alterações em /var/log/general.log. O script deve ficar muito parecido com isso:
Execute este script a cada minuto. Eu recomendo truncar o log geral toda meia-noite assim
De uma chance !!!
Em /etc/my.cnf, defina-o.
Edite o arquivo /etc/rsyslog.conf (RHEL/CentOS), e habilite o módulo imfile para ler /path/to/mysql/dir/mysql-general.log e então, envie-o para o servidor syslog remoto, respeitando um intervalo configurado no Parâmetro PollingInterval .
Esta seção deve ficar assim abaixo:
Descomente a linha com WorkDirectory
E configure-o para enviar todos os logs remotamente
Ou