問題 注意 ホスト名の設定(特にFQDNの設定)を変更すると、サーバーのネットワークアクセスができなくなる場合があります。本番環境に導入する前に、変更内容を十分にテストしてください。
Java アプリのAPM Summary ページ から Linux ホストへのリンクを表示することはできません。
解決 Linux エージェント環境のNew Relic InfrastructureエージェントがNew Relic Java エージェントとまったく同じ名前文字列を返すようにホスト名設定を構成します。 推奨事項: 完全修飾ドメイン名 (FQDN) 設定を編集します。 エージェントは OS の FQDN 設定からホスト名を読み取るため、そこにホスト名を設定すると、両方のエージェントが単一のホスト名を共有するようになります。
注意 New Relic のユーザー インターフェイスでは、ホスト名を使用してアプリとそのホスト サーバーを関連付けています。ホスト名を変更すると、アプリのサーバーに報告される名前が、監視対象のアプリが報告する名前とは異なるものになります。アプリのリンクが現在機能している場合、ホスト名を変更すると、ホストとサーバーのリンクが壊れる可能性があります。
例FQDN設定の変更 この例では、以下のFQDN値を使用するようにサーバーを設定しています。
IPアドレス: 1.2.3.4
完全修飾名: myhost.example.com
短いホスト名: myhost
ほとんどのLinuxディストリビューションでは、ホスト名の設定を通常2つのファイルに保存しています。
/etc/hosts
/etc/sysconfig/network
(このパスは、Linux ディストリビューションに存在しない場合があります。)
ホストやサーバーの次回起動時に有効にしたいホスト名を設定するには
IP アドレス、FQDN、短いホスト名を/etc/hosts
の既存のデータに追加します。例えば:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
1.2.3.4 myhost.example.com myhost
/etc/sysconfig/network
が存在する場合、FQDN を/etc/sysconfig/network
の既存のデータに追加します。例えば:
HOSTNAME=myhost.example.com
コマンドラインで現在のホスト名を設定すると、サーバーを再起動することなく変更が反映されます。
sudo hostname myhost.example.com
Java エージェントとインフラストラクチャ エージェントを再起動して、新しいホスト名を登録します。
例: <DNT>AWS Elastic Beanstalk</DNT> でのスクリプトホスト名設定 シェル スクリプトを使用して、起動時にホスト名が FQDN になるように構成することもできます。この例では、 cloud-init
起動時に変数 UserData
を使用してシェル スクリプトを Amazon Machine Image (AMI) に渡します。cloud-init
スクリプトは Java エージェントとインフラストラクチャ エージェントが開始する前に実行されるため、エージェントは cloud-init
スクリプトからホスト名設定を継承します。
このサンプル スクリプトは、すべてのホスト名設定を構成します。Linux ディストリビューションによっては、 /etc/sysconfig/network
に対するecho
コマンドが必要ない場合があります。
# Set the hostname so the infrastructure agent
# and Java agent see the same names.
SHORT_HOSTNAME=`hostname -s`
HOSTNAME="${SHORT_HOSTNAME}.${DOMAIN}"
echo "${IP} ${HOSTNAME}" >> /etc/hosts
echo "HOSTNAME=${HOSTNAME}" >> /etc/sysconfig/network
原因 New Relic Java エージェントと Linux 用のインフラストラクチャ エージェントによって報告されたホスト名の文字列を照合することで、アプリとホストまたはサーバーをリンクします。 これら 2 つのホスト名文字列が同一でない場合、New Relic はAPM Summary ページ でアプリとサーバーを接続できません。
これにはいくつかの理由があります。例えば、以下のようなものです。
JVMはホスト名ではなく、IPアドレスを報告している可能性があります。 JVMはIPv6アドレスを報告し、LinuxエージェントはIPv4アドレスを報告する場合があります。