私のログのいくつかはlocalhostを使用し、他のログはホスト名を使用する理由 - 別のサーバー

私のログのいくつかはlocalhostを使用し、他のログはホスト名を使用する理由 - 別のサーバー

LDAP ログインに関連するコンテンツをデバッグしています。Ldap SSHログインが機能しない - 20台以上の異なるサーバーで同じ構成が機能する - Ubuntu一部のサーバーでは、ログはlocalhostを使用し、他のサーバーではログはホスト名を使用することがわかりました。特にログファイルを一元化する場合は、ホスト名を持つのが最適です。

これはどのように構成されていますか?デフォルトでは、ホスト名を使用しないのはなぜですか?ちょっと気になります...

例:

Oct 29 11:23:56 daily sshd[20625]: pam_unix(sshd:session): session opened for user LDAPUSERNAME by (uid=0)

または

Oct 29 10:56:36 localhost sshd[2560]: pam_unix(sshd:auth): check pass; user unknown

修正する:

user@qa-ops:~$ hostname
qa-ops
user@daily:~$ hostname
daily.domain.com

おそらく、これはホスト名に完全なドメイン名を持つDailyと関連していますか?私はいつも/etc/hostnameが完全なホスト名.domain.comなどではなく、ホスト名の短い部分でなければならないと思いました。

ベストアンサー1

https://wiki.archlinux.org/index.php/rsyslog#Configure_Hostname

Rsyslogはglibcルーチンのgethostname()またはgethostbyname()を使用して、ローカルコンピュータのホスト名を解決します。 BINDまたはNISを使用しない場合、gethostname()またはgethostbyname()ルーチンは完全修飾/etc/hostsドメイン名(FQDN)の内容を調べます。

具体的には、localhostあなたのIPエントリが1位の場合、/etc/hostsそのエントリは優先的に適用されます。

files(中央の行の最初の値であると仮定します。またはDNSを使用してホスト名を解決することはできません。)hosts:/etc/nsswitch.conf


Arch Wiki ページでは、以下について説明します。

ホスト名--fqdnを実行して、ローカルコンピュータに現在設定されているFQDNを確認できます。 rsyslog は、ログメッセージを作成するときにホスト名 --short の出力を使用します。ログに完全なホスト名を含めるには、ファイルに書き込む手順を使用する前に、ファイルの先頭に$ PreserveFQDNを追加する必要があります。これは、rsyslog が構成ファイルを読み取ってすぐに適用した後、次の行を読み取るためです。

/etc/hosts ファイルには、FQDN を IP アドレスにマップし、エイリアスを FQDN にマップする多くの行が含まれています。以下のサンプル/etc/hostsファイルを参照してください。

/etc/ホスト

#<ip-address> <hostname.domain.org>   <hostname>
#<ip-address>      <actual FQDN>                       <aliases>
127.0.0.1 localhost.localdomain somehost.localdomain  localhost somehost
::1               localhost.localdomain somehost.localdomain  localhost somehost

localhost.localdomainはIPアドレスの後の最初のエントリであるため、gethostbyname()関数はローカルコンピュータのFQDNとしてlocalhost.localdomainを返します。その後、/var/log/messages ファイルは localhost をホスト名として使用します。

ホスト名として somehost を使用します。 somehost.localdomainを最初のエントリに移動します。

/etc/ホスト

#<ip-address> <hostname.domain.org>                           <hostname>
#<ip-address>      <actual FQDN>                                              <aliases>
127.0.0.1 somehost.localdomain localhost.localdomain  localhost somehost
::1               somehost.localdomain localhost.localdomain  localhost somehost

/etc/hostsさまざまな場合(または問題の場合はDNS)に関連する情報を選択する方法を正確に指定するのは難しい場合があります。ソースコードをもう一度読んでみると、システムホスト名(コマンド出力)をFQDNでrsyslog解決しようとしています。hostname

私の考えでは、これは上で「gethostnameまたはgethostbyname」とマークされた部分が実際には「gethostname」とマークされるべきであることを意味すると思います。そしてgethostbyname". したがって、このガイドラインはおそらく改善されるかもしれませんが、少なくとも正しい場所を教えてくれます。

オンラインでも同様の質問をした人がいました。rsyslog - ユーザーメーリングリスト

おすすめ記事