O valor% HOSTNAME% é “desconhecido” no modelo rsyslog

O valor% HOSTNAME% é “desconhecido” no modelo rsyslog

A essência

Onde o rsyslog obtém o valor de% HOSTNAME% e sob quais condições “desconhecido” seria o valor esperado?

Estamos usando o rsyslog em uma instância EC2 e tentando enviar nossos logs para o logly. Se eu visualizar tail -fas mensagens de log, posso ver o log no formato padrão, incluindo data, nome do host, tag e mensagem.

Se eu usar logger "message", vejo uma entrada de log correta no console e no logly. No entanto, se um aplicativo de console java registrar um evento, o nome do host será "desconhecido" tanto no console quanto no logly.

Estranhamente, a mesma configuração de rsyslog e log4j resulta na entrada de log correta se vier de um aplicativo web hospedado pelo Tomcat.

Eu sei que algumas coisas são muito específicas de Java, mas minha pergunta é a seguinte: onde o rsyslog obtém o valor de% HOSTNAME% e sob quais condições "desconhecido" seria o valor esperado?

Responder1

Eu descobri isso. Para obter o nome do host, precisei mapeá-lo para o endereço IP no arquivo hosts. Na verdade, pensei que isso já estivesse acontecendo, mas no momento em que o script é executado para anexar a entrada correta dos hosts, o endereço IP é desconhecido e apenas o nome do host é anexado ao arquivo.

Adicionei a entrada correta e o nome do host aparece conforme esperado no rsyslog e no logly.

Nesse ínterim, mudei o formato do log de %HOSTNAME% para %$myhostname%. Isso funcionou bem para nós porque não estávamos registrando remotamente, então $myhostname era sempre o nome de host correto.

informação relacionada