O rsyslog é um software de linha de comando de software livre, um daemon que fornece uma versão aprimorada e multi-thread do antigo utilitário syslogd. Na verdade, é um substituto para o syslogd original, adequado para todos os sistemas operacionais GNU / Linux. Seu nome é um acrônimo do sistema de foguete rápido para processamento de registros.
Recursos em resumo
Os principais recursos incluem um design modular, suporte para buffer de disco sob demanda, alerta por email, compactação de mensagens durante a transmissão, suporte para todos os sistemas operacionais GNU / Linux, suporte a arquiteturas mainstream, state of the art segurança, alto desempenho, bem como a capacidade de converter arquivos de texto para o formato syslog.
Entre outros recursos, podemos mencionar o suporte a vários segmentos, a capacidade de filtrar qualquer parte de uma mensagem syslog e o suporte a syslog sobre TCP (protocolo de controle de transmissão), TLS (Transport Layer Security) e SSL (Secure Sockets Layer). ) e protocolos RELP (Reliable Event Logging Protocol).
Além disso, o programa suporta os servidores de banco de dados MySQL, Oracle e PostgreSQL, fornece um formato de saída totalmente configurável e é adequado para cadeias de retransmissão de classe empresarial. É apelidado por seus desenvolvedores como um canivete suíço de exploração madeireira.
Oferece mais de um milhão de mensagens por segundo
Quando o processamento limitado está em vigor, o software rsyslog é capaz de entregar mais de um milhão de mensagens por segundo para destinos locais. Os destinos remotos também são suportados e o rsyslog é um excelente trabalho.
Primeiros passos com o rsyslog
Para usar o aplicativo, você terá que primeiro instalá-lo em seu sistema GNU / Linux, usando o arquivo de fontes universal distribuído gratuitamente no Softoware ou os pacotes binários pré-compilados dos repositórios de software padrão de sua distribuição.
Após a instalação, você pode iniciar o daemon rsyslog executando o & ldquo; rsyslogd & rdquo; comando (sem aspas) em um emulador de terminal, siga por uma das opções disponíveis. Para ver as opções suportadas, execute o & ldquo; rsyslogd --help & rdquo; comando, sem aspas.
O que há de novo nesta versão:
- novo provedor de assinatura para KSI (Keyless Signature Infrastructure) adicionado
- sistema de compilação: reativar o uso de & quot; tornar distcheck & quot;
- bugfix imfile: modo de múltiplas linhas regex ignorado escapeLF option
- bugfix omkafka: corrigiu vários problemas de simultaneidade, a maioria deles relacionados a tópicos dinâmicos.
- bugfix: execonlywhenpreviousissuspended não funcionou corretamente. Isso causou problemas especialmente quando uma ação com esse atributo foi configurada com uma fila de ações.
- engine core do bugfix: garantia de atomicidade variável global. Isso pode levar a problemas no RainerScript, assim como provavelmente em outras áreas onde variáveis globais são usadas dentro do rsyslog. Eu não diria que isso poderia levar a segfaults.
- bugfix imfile: segfault ao usar startmsg.regex por causa da linha de log vazia
- bugfix: problema de compilação no Solaris
- bugfix: build strndup do sistema foi usado mesmo se não estiver presente agora adicionada função de compatibilidade. Isso surgiu nas compilações do Solaris.
O que há de novo na versão:
- omkafka: adicione suporte para tópicos dinâmicos e particionamento automático. Graças a Tait Clarridge pelos patches.
- imtcp / imptcp: suporte para enquadramento de syslog TCP do Cisco ASA quebrado
- omfwd: mensagens de erro mais detalhadas em caso de erro de envio do UDP
- Syslog TLS: ativa a capacidade de ativar o log de depuração do GnuTLS. Isto fornece melhores diagnósticos em casos difíceis de diagnosticar, especialmente quando o GnuTLS é extra-exigente quanto a certificados.
- bugfix: $ AbortOnUncleanConfig não funcionou
- melhora a saída rsyslogd -v e a mensagem de erro com o número da versão da meta-informação agora está contida na mensagem de erro e na plataforma de criação na saída da versão. Isso ajuda a se livrar da versão usual "which version" pergunta na lista de discussão, fóruns de suporte, etc ...
- bugfix imtcp: o enquadramento contado por octetos não pode ser desativado
- bugfix: construa problemas nos Illuminos. Obrigado a Andrew Stormont pelo patch
- bugfix: tamanho de dados inválido para a propriedade global iMaxLine. Foi definido como int, mas dentro do sistema de configuração foi declarado como tipo de tamanho, que usa int64_t. Com as instruções de configuração legadas, isso poderia levar ao misadressing, o que geralmente significava que a outra variável de configuração era sobrescrita (dependendo do layout da memória). fecha https://github.com/rsyslog/rsyslog/issues/205
- bugfix: valores negativos para o parâmetro global maxMessageSize foram permitidos
O que há de novo na versão 8.7.0:
- adicione metadados de mensagens & quot; sistema & quot; para o objeto msg. isso permite armazenar metadados ao lado da mensagem
- imfile: adicione suporte para & quot; nome de arquivo & quot; metadados. isso é útil nos casos em que os curingas são usados
- imptcp: torna os nomes dos contadores de estatísticas consistentes com o que o imudp usa, imtcp
- adicionado novo módulo & quot; omkafka & quot; para apoiar a escrita no Apache Kafka
- omfwd: adicionar novo & quot; udp.senddelay & quot; parâmetro
- mmnormalizar aprimoramentos. Obrigado a Janmejay Singh pelo patch.
- RainerScript & quot; foreach & quot; iterador e suporte de leitura de matriz. Obrigado a Janmejay Singh pelo patch.
- agora requer liblognorm & gt; = 1.0.2
- adicionar suporte a systemd & gt; = 209 nomes de bibliotecas
- BSD & quot; ntp & quot; facilidade (valor 12) agora também é suportado no filtro. Obrigado a Douglas K. Rand, da Iteris, Inc. pelo patch. Nota: este patch foi lançado sob o ASL 2.0 (veja email-conversation).
- bugfix: global (localHostName = & quot; xxx & quot;) não foi respeitado em todos os módulos
- bugfix: emite mensagem de erro correta no arquivo de configuração não encontrado. fecha https://github.com/rsyslog/rsyslog/issues/173
- bugfix: impstats emitiram formato JSON inválido (se o JSON foi selecionado)
- bugfix: vazamento de memória (pequeno) no código de outchannel do omfile. Agradecimentos a Koral Ilgun por relatar esse problema.
- bugfix: imuxsock não desativou algum código não suportado pela plataforma. Entre outros possíveis problemas, isso causou falha de compilação no Solaris. Observe que esse problema de criação apenas fez com que um problema mais amplo aparecesse, mas até agora existia, mas não era visível. fecha https://github.com/rsyslog/rsyslog/issues/185
O que há de novo na versão 8.6.0:
- configuração da configuração da linha de comando rsyslogd obsoleta li>
- Para a maioria deles, agora há objetos de configuração adequados. Alguns poucos serão completamente descartados se ninguém insistir neles. Informações adicionais em
- http://blog.gerhards.net/2014/11/phasing-out-legacy-command-line-options.html
- plugins novos e aprimorados para 0mq. Estes são atualmente experimantal.
- Obrigado a Brian Knox, que contribuiu com os módulos e é o autor deles.
- conjuntos de regras vazios foram permitidos. Eles não geram mais um erro de sintaxe.
- adicione o parâmetro -N3 para ativar a verificação de configuração do arquivo de configuração parcial
- Use para arquivos de inclusão de configuração. Desativa a verificação se alguma ação existe em
- tudo.
- rsyslogd -e foi finalmente removida
- Está depreciado desde muitos anos.
- melhorias no testbench
- Testbench agora está mais robusto e possui testes adicionais.
- o testbench agora está desativado por padrão
- Para ativá-lo, use -enable-testbench. Isso foi feito porque o testbench agora faz uma verificação melhor se os módulos necessários estão presentes e isso, por sua vez, levaria a configurar mensagens de erro onde não eram anteriormente se deixássemos -enable-testbench ativado por padrão. Assim, desligamos. Isso não deve ser um problema para os poucos usuários do testbench.
- adicionar novas funções RainerScript warp () e replace ()
- Obrigado a Singh Janmejay pelo patch.
- mmnormalize agora também pode trabalhar em uma variável
- Obrigado a Singh Janmejay pelo patch.
- novas opções de data de propriedade para o dia ordinal e o número da semana
- Obrigado ao usuário do github arrjay pelo patch
- remover a opção de configuração -enable-zlib, sempre exigimos
- É difícil imaginar um sistema sem o zlib, então desativamos isso
- fecha https://github.com/rsyslog/rsyslog/issues/76
- ligeira reestruturação da fonte: os módulos contribuídos agora estão em seu próprio diretório ./contrib. A ideia é tornar mais claro para o usuário final quais plugins são suportados pelo projeto rsyslog (aqueles em ./plugins).
- bugfix: imudp faz o rsyslog travar no desligamento quando mais de 1 thread for usado
- fecha https://github.com/rsyslog/rsyslog/issues/126
- bugfix: nem todos os arquivos são fechados na inicialização do auto-plano
- Isso pode acontecer quando não está sendo executado no systemd. Alguns fds de baixo número não foram fechados nesse caso.
- bugfix: erro de digitação no parâmetro de configuração de fila inutilizado como parâmetro
- Obrigado ao Bojan Smojver pelo patch.
- bugfix: buffer unitializado erro off-by-one na geração de nome de host
- O cache DNS usava memória não inicializada, o que poderia levar à geração de nome de host inválida.
- Agradecemos a Jarrod Sayers por nos alertar e fornecer recomendações de análise e patch.
- bugfix imuxsock: possível segfault quando SysSock.Use = "off"
- Agradecemos ao alexjfisher por comunicar esse problema.
- fecha https://github.com/rsyslog/rsyslog/issues/140
- bugfix: RainerScript: nomes de conjuntos de regras inválidos foram aceitos durante a definição de conjunto de regras, mas obviamente não podem ser usados quando, por exemplo, chamando um conjunto de regras.
- IMPORTANTE: isso pode fazer com que configurações existentes comecem erros no início, pois nomes inválidos também podem ser usados, por exemplo, ao atribuir conjuntos de regras.
- bugfix: alguns pontos de entrada do módulo não foram chamados para todos os retornos de chamada de módulos, como endCnfLoad () sendo chamados principalmente para módulos de entrada. Isso foi corrigido. Note que este bugfix tem algum potencial de regressão.
- bugfix omlibdbi: a conexão foi encerrada no thread errado
- Isso pode ter consequências dependendo do driver sendo usado. Em geral, parece mais um problema cosmético. Por exemplo, com o MySQL, isso leva a uma pequena memória, mas também a uma mensagem irritante sobre um encadeamento que não foi devidamente demolido.
- o imttcp foi removido porque era um módulo experimental incompleto
- pmrfc3164sd porque era um módulo personalizado que ninguém usou
- Nós costumávamos manter isso como uma amostra dentro da árvore, mas quem quiser ver isso pode verificar versões mais antigas dentro do git
- omoracle foi removido porque era órfão e não construiu / trabalhou por alguns anos e ninguém estava interessado em corrigi-lo
A opção
O
O que há de novo na versão 8.4.2:
- bugfix: a correção para CVE-2014-3634 não lidou com todos os casos. Isso está corrigido agora. veja também: CVE-2014-3683
- corrigiu um problema de compilação em algumas plataformas. Obrigado ao Olaf pelo patch
- alteração de comportamento: & quot; msg & quot; de mensagens com PRI inválido definido como & quot; rawmsg & quot ;. Quando o PRI é inválido, o resto do cabeçalho não pode ser válido. Então, nós movemos tudo para o MSG e não tentamos analisá-lo. Observe que isso não está diretamente relacionado ao problema de segurança, mas sim porque faz mais sentido.
O que há de novo na versão 7.6.0:
- Correção de erros: os parâmetros de entrada imuxsock não foram aceitos devido ao erro de copiar e colar.
- Obrigado a Andy Goldstein pela correção.
- Adicionado o parâmetro do sistema global ProcessInternalMessages
- Isso permite injetar mensagens de status do rsyslog em * outro * syslogd principal ou no diário.
- Nova dependência: liblogging-stdlog (para enviar para o registrador externo)
- Bugfix: os modelos json são criados incorretamente
- As cordas perdem o caractere NUL de terminação, o que obviamente pode levar a todos os tipos de problemas.
- Veja também: https://github.com/rsyslog/rsyslog/issues/27
- Agradecemos a Alain pela análise e pelo patch.
- bugfix do ompgsql: manuseio inadequado do modo de auto-background
- Se o rsyslog foi definido como auto-fundo em si (comportamento do código padrão, mas muitas distribuições agora o desligam por um bom motivo), o ompgsql não pôde se conectar corretamente. Isso pode até levar a um segfault. A principal razão foi que um identificador de sessão do PG foi mantido aberto ao longo de uma bifurcação, algo que é explicitamente proibido na API do PG.
- Agradecemos a Alain pela análise e pelo patch.
O que há de novo na versão 7.4.9:
- adicionou o parâmetro do sistema global ProcessInternalMessages
- Isso permite injetar mensagens de status do rsyslog em * outro * syslogd principal ou no diário.
- bugfix: os parâmetros de entrada do imuxsock não foram aceitos devido a erros de copiar e colar. Obrigado a Andy Goldstein pela correção.
- bugfix: o potencial duplo-livre na comparação equalizadora RainerScript acontece se o operando à esquerda for objeto JSON e o operando à direita for uma não-string que não converte em um número (por exemplo, pode ser outro JSON objeto, provavelmente o único caso que poderia acontecer na prática). É muito pouco provável que isso seja desencadeado.
- bugfix: algumas comparações de Json (Variable) / string do RainerScript estavam erradas
O que há de novo na versão 8.1.4:
- add exec_template () Função RainerScript
- imrelp: suporte para TCP KEEPALIVE adicionado
- transferiu a dependência do librelp para o 1.2.2 para suportar o novo recurso KEEPALIVE
- Adicione diretivas para especificar numericamente GIDs / UIDs
- As diretivas já presentes (FileOwner, FileGroup, DirOwner, DirGroup) convertem nomes em IDs numéricos, o que depende das informações do usuário que estão disponíveis durante a inicialização do rsyslog. Isso pode falhar se as informações forem obtidas através de uma rede ou de um serviço como o SSSD. As novas diretivas fornecem uma maneira de especificar diretamente os IDs numéricos e ignorar a pesquisa.
- Obrigado a Tomas Heinrich pelo patch.
- bugfix: o processamento da ação commitTransaction () não manipulou adequadamente as ações suspensas
- bugfix: o contador de estatísticas omelasticsearch fail.es foi indevidamente manipulado
O que há de novo na versão 7.4.8:
- O rsgtutil fornece melhores mensagens de erro em blocos de assinaturas inacabadas
- bugfix: protege contra caracteres de controle em mensagens internas (erro)
- Obrigado a Ahto Truu por nos alertar.
- bugfix: immark emitiu mensagens sob kern. = info em vez de syslog. = info
- Note que ele pode potencialmente quebrar configurações existentes que dependem do envio de immark como kern. = info. Infelizmente, não podemos deixar isso sem correção, pois nunca devemos emitir mensagens sob o kern facilit
O que há de novo na versão 7.4.7:
- bugfix: limitação do espaço em disco da fila não funcionou corretamente
- queue.maxdiskspace na verdade inicializa queue.maxfilesize
- o tamanho total dos arquivos de fila não foi verificado em relação ao queue.maxdiskspace para filas assistidas por disco.
- bugfix: o ratelimiter do kernel do linux não funcionava corretamente com todas as entradas (por exemplo, ele não funcionava com o imdup). A razão era que o valor do PRI era usado, mas precisava de análise da mensagem, o que foi feito tarde demais.
- bugfix: filas de disco criaram arquivos no diretório de trabalho errado se o $ WorkDirectory foi alterado várias vezes, todas as filas usaram apenas o último conjunto de valores.
- bugfix: a diretiva legacy $ ActionQueueWorkerThreads não foi honrada
- bugfix: segfault na inicialização quando determinadas construções de script são usadas
- por exemplo. & quot; se não $ msg ... & quot;
- bugfix: imuxsock: o parâmetro de configuração UseSysTimeStamp não funcionou corretamente
- Agradecemos a Tomas Heinrich por nos alertar e sugerir uma sugestão de solução.
- bugfix: $ SystemLogUseSysTimeStamp / $ SystemLogUsePIDFromSystem não funcionou
- Obrigado a Tomas Heinrich pelo patch.
- verificação aprimorada dos parâmetros de configuração de fila na inicialização
- bugfix: a chamada para o conjunto de regras com a fila assíncrona não usou a fila
- fecha: http://bugzilla.adiscon.com/show_bug.cgi?id=443
- bugfix: se o imtcp estiver carregado e nenhum ouvinte estiver configurado (o que é incomum), o rsyslog travará durante o desligamento.
O que há de novo na versão 8.1.2:
- Suporte para liblognorm1 adicionado - resulta em melhorias de desempenho
- Suporte para jemalloc adicionado via -enable-jemalloc
- Os padrões da fila foram alterados:
- marca d'água alta agora é dinamicamente 90% do tamanho da fila
- makr de baixa água agora é dinamicamente 70% do tamanho da fila
- queue.discardMark agora é dinamicamente 98% do tamanho da fila
- queue.workerThreadMinimumMessage definido como queue.size / num workers
- Para filas com filas muito baixas queue.maxSize (& lt; 100), & quot; emergência & quot; os padrões serão usados.
- Observe que o sistema de criação é experimental nesse estágio.
- Bugfix: filas de disco criaram arquivos no diretório de trabalho errado
- se o $ WorkDirectory foi alterado várias vezes, todas as filas utilizaram apenas o último conjunto de valores.
- Bugfix: a diretiva legada $ ActionQueueWorkerThreads não foi respeitada
- Correção: mmrfc5424addhmac: & quot; key & quot; parâmetro não foi processado corretamente
Comentários não encontrado