Eu quero usar o syslog para registrar o MySQL (5.1.41) no Ubuntu (10.04 LTS). Encontrei informações que geram log de erro no syslog.
[mysqld_safe]
syslog
Mas eu quero usar o syslog para registrar logs gerais e logs de consultas lentos. Por favor, informe-me como escrever o arquivo de configuração?
Não consegui encontrar como fazer isso no manual de referência.
http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html
log_syslog
.Respostas:
Isso é muito mais simples:
cd para pastas mysql:
no my.cnf diga:
Em seguida, configure seu syslog / syslog-ng para ler o canal FIFO e faça com ele como ele será.
No meu caso, eu o canalizo através da rede para um servidor centralizado, apenas com os logs de erros e os logs de consultas lentos.
Nas situações em que você deseja manter a cópia local, defina-a como saída para tabela e arquivo, conforme descrito acima.
fonte
Esse mecanismo é totalmente diferente do syslog do SO.
A configuração da saída de log pode ser definida como TABLE, FILE (padrão) ou NENHUM
se você usar isso
Isso fará com que o log do log geral e / ou log lento vá para um arquivo CSV. Você pode converter esse CSV para MyISAM da seguinte maneira:
Você pode deixar esse arquivo crescer tremendamente e precisará 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 escrever isso sozinho. Primeiro, você precisa disso:
se você deseja coletar o log geral nos dois formatos ou
apenas para o formato do arquivo.
Agora faça um script para coletar alterações em /var/log/general.log. O script deve se parecer muito com isso:
Execute esse script a cada minuto. Eu recomendo truncar o log geral toda meia-noite como esta
De uma chance !!!
fonte
No /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, em seguida, envie-o para o servidor syslog remoto, respeitando um intervalo configurado no diretório PollingInterval Parâmetro .
Esta seção deve ficar assim:
Descomente a linha com o WorkDirectory
E configure-o para enviar todos os logs remotamente
Ou
fonte