Quais padrões de programa usam os recursos locais do syslog [0-7]?

19

Bem como as instalações de sistema comuns ( mail, news, daemon, cron, etc), syslog fornece uma série de instalações "locais", números de 0 a 7: LOCAL0, LOCAL1, ..., LOCAL7.

Quais são os padrões do programa para aplicativos comuns?

Estou procurando descobrir quais instalações são "tradicionalmente" usadas para serviços conhecidos. Eu implantarei um aplicativo em muitos servidores, com vários softwares instalados, e gostaria de ver se há um recurso "gratuito" que eu poderia usar facilmente para meus próprios logs.

Como uma nota, eu sei que existem outras maneiras de fazer isso além de um recurso de syslog. Apenas curioso!

Aqui estão alguns (um começo para responder minha própria pergunta) e alguns agradecimentos a voretaq7:

  • LOCAL0 é usado pelo postgresql
  • LOCAL2 é usado pelo sudo
  • LOCAL3 é usado por algumas versões do SpamAssassin
  • LOCAL4 é usado por padrão pelo slapd (servidor OpenLDAP)
  • LOCAL5 às vezes é usado pelo Snort IDS
  • LOCAL7 é usado para mensagens de inicialização no Fedora 12
Jonathan Clarke
fonte
Todos os logs não são pré-pendentes com o nome do processo ou com um nome definido pelo usuário que o enviou? Eu costumo trabalhar com syslogs e não me lembro de ter problemas ao filtrar entradas de log por aplicativo.
Embreagem
embreagem, você está se referindo à 'tag' do Syslog. Por padrão, no Linux, a tag consiste no nome e no ID do processo, como 'httpd [1234]', que gerou a mensagem de log. Mas você pode definir a tag para o que quiser através da API Syslog. Veja minha resposta, abaixo, para mais detalhes.
Ryan B. Lynch

Respostas:

7

As LOCALninstalações estão disponíveis para qualquer uso local e podem variar bastante de site para site.

Eu garanto que cada um dos 8 disponíveis é usado por algo. Portanto, se você quiser evitar conflitos, meu melhor conselho é registrar todos os 7 para separar os logs e escolher o que mais nada parece estar usando.

Algumas que você perdeu (os padrões do programa - podem ser alterados localmente, verifique novamente):

  • LOCAL0 é usado pelo postgresql (se configurado para registrar no syslog)
  • LOCAL2 é usado pelo sudo (se configurado para efetuar logon no syslog)
  • LOCAL3 é usado por algumas versões do SpamAssassin
    • Isso é muitas vezes alterados pelo administrador local para o log de mailvez
  • LOCAL5 às vezes é usado pelo Snort IDS
    • Não sei se isso é um padrão ou apenas uma coincidência, mas já o vi em várias instalações do Snort
voretaq7
fonte
Ótimo! É exatamente isso que estou procurando - padrões do programa. Mais são bem-vindos! Claramente, várias instalações estarão em uso, só estou olhando para ver quais aplicativos vou atrapalhar.
Jonathan Clarke
2

Não há padrão para os recursos Syslog LOCAL0-LOCAL7. Por design, você não pode contar se eles serão usados ​​por alguma coisa. Distros ou organizações específicas podem ter suas próprias convenções, mas isso depende da política de distribuição ou organização, e não de um padrão mais amplo.

Como alternativa, você já pensou em usar "tags" do Syslog? Tags são cadeias de formato livre que são anexadas para registrar mensagens para identificar aplicativos ou canais de registro específicos. Por padrão, a tag geralmente é formada a partir do nome e ID do processo (por exemplo, 'httpd [2839]') que gerou os dados do log. O utilitário de linha de comando 'logger' e a maioria das APIs do Syslog suportam a especificação das tags que você deseja usar para seus aplicativos.

Por exemplo, eu pessoalmente gosto de usar 'http-access' nos meus logs de acesso ao servidor da web Apache, os quais eu envio ao Syslog canalizando a saída de log do Apache para o comando 'logger -p local7.info -t' http-access '.

Ryan B. Lynch
fonte
Interessante, obrigado. No entanto, estou criando uma solução sobre alguns softwares existentes que podem ser configurados para registrar em um dos LOCAL0 a LOCAL7. Minha pergunta realmente diz respeito aos padrões que vários softwares usam.
Jonathan Clarke
Faz sentido, eu senti falta disso. Mas vou apontar que há um perigo em confiar em comportamentos não padronizados aqui. Os desenvolvedores ou empacotadores do OpenLDAP, Fedora, etc. podem (e algumas vezes mudam) esses comportamentos de versão para versão. Não há garantia de que uma atualização não seja diferente de nenhuma opção de instalação do Syslog feita no passado. Este não é um acordo, apenas um problema em potencial que você pode querer observar.
Ryan B. Lynch
2

A maioria dos arquivos syslog.conf é configurada com recursos curinga para o arquivo de mensagens (* .info). Se esta é apenas uma versão do aplicativo do moinho e não uma vaca monótona, provavelmente você deve apenas registrar mensagens e não um arquivo independente.

Escolher registrar em seu próprio arquivo significa adicionar uma etapa pós-instalação aos pacotes de instalação do software que adiciona uma entrada apropriada no syslog.conf. Isso também significa que, se você quiser, você adicionaria uma etapa pós-instalação que também cria um arquivo de rotação de log apropriado.

Aproveite a noite
fonte
Boa dica sobre empacotamento para syslog e logrotate. Obrigado.
Jonathan Clarke
-3

Eu também estava procurando por um arquivo de configuração como o syslog.conf para fazer referência cruzada das instalações local0-7 ao programa que está gravando nelas. Parece que esse arquivo de configuração não existe. Para descobrir qual programa está gravando no log, você deverá abrir o arquivo de log e encontrar o nome do programa ao lado da coluna ao lado dos dois pontos, por exemplo ... sendmail [22950]: é para o programa sendmail. O número entre colchetes é o número da porta usada durante a execução do programa.

Vencedor
fonte