コンテンツにスキップ

New Relic For .Net


New Relic の .Net Agent は .Net テクノロジーフレームワークをベースにしたオープンソースプロジェクトで、.NET テクノロジーフレームワークの App を包括的に可観測化できます。C#、VB.NET、CLI など、.NET テクノロジーフレームワークに対応するすべての言語にも使用できます。


前提条件

  • ドメインの準備と証明書の生成およびインストール
  • New Relic アカウントを登録
  • New Relic Agent をインストールします。現在の対応バージョンは 6.27.0 です
  • .Net Framework をインストールします。現在の対応バージョンは 3.0 です

New Relic .NET Agent のインストールと設定

まず、現在 Windows OS にインストールされている DotNet Framework のバージョンを確認します。

cmd を実行し、reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP" を入力して、現在 OS にインストールされているすべてのバージョンを確認します。

その後、New Relic Agent をインストールします。

アカウントに入ったら、左側のメニュー下にあるデータ追加 + Add Data サブメニューをクリックし、右側の Data source サブメニュー内の Application monitoring から .Net を選び、インストールガイドに従ってインストールします。

  • インストーラーを使ってインストールすることもできます:

ダウンロードディレクトリ を開いて dotnet agent バージョン 6.27.0 をダウンロードし、対応するインストーラーを選択します。

New Relic Agent の設定

  • 必要な環境変数を設定する

デスクトップ左下の Windows ロゴを右クリックして システム を選択し、詳細システム設定 を選択、環境変数 を選択して、システム変数 リストに以下の環境変数設定が含まれているか確認します。

- `COR_ENABLE_PROFILING`: 数値 1、デフォルトで有効
- `COR_PROFILER`: 文字列値。既定ではシステムが自動入力する `ID`
- `CORECLR_ENABLE_PROFILING`: 数値 1、デフォルトで有効
- `NEW_RELIC_APP_NAME`: 文字列値。監視対象の `APP` 名を入力(任意)
- `NEWRELIC_INSTALL_PATH`: `New Relic Agent` のインストールパス
  • 設定ファイルで New Relic を設定する

New Relic Agent のインストールディレクトリ下の newrelic.config を開き、以下の例の {サンプル値} を実際の値に置き換え、その他の値は例に従って入力します。

<?xml version="1.0"?>
<!-- Copyright (c) 2008-2017 New Relic, Inc.  All rights reserved. -->
<!-- For more information see: https://newrelic.com/docs/dotnet/dotnet-agent-configuration -->
<configuration xmlns="urn:newrelic-config" agentEnabled="true" agentRunID="{agent id (任意で指定可、未入力可)}">
  <service licenseKey="{実際の license key}" ssl="true" host="{www.your-domain-name.com}" port="{Datakit のポート番号}" />
  <application>
    <name>{監視対象の APP 名}</name>
  </application>
  <log level="debug" />
  <transactionTracer enabled="true" transactionThreshold="apdex_f" stackTraceThreshold="500" recordSql="obfuscated" explainEnabled="false" explainThreshold="500" />
  <crossApplicationTracer enabled="true" />
  <errorCollector enabled="true">
    <ignoreErrors>
      <exception>System.IO.FileNotFoundException</exception>
      <exception>System.Threading.ThreadAbortException</exception>
    </ignoreErrors>
    <ignoreStatusCodes>
      <code>401</code>
      <code>404</code>
    </ignoreStatusCodes>
  </errorCollector>
  <browserMonitoring autoInstrument="true" />
  <threadProfiling>
    <ignoreMethod>System.Threading.WaitHandle:InternalWaitOne</ignoreMethod>
    <ignoreMethod>System.Threading.WaitHandle:WaitAny</ignoreMethod>
  </threadProfiling>
</configuration>

起こりうる問題:

  • New Relic license key はどこにあるか

公式サイトの案内に従って New Relic をインストールした場合、license key は自動で入力されます。手動でインストールする場合は、インストーラーの実行中に license key の入力を求められます。license keyアカウント作成またはデータ作成の際に表示されるため、保存しておくことをおすすめします。

  • TLS バージョンの不整合

New Relic Agent のデプロイ中にデータが送信されず、New Relic のログに以下のような ERROR 情報が表示される場合があります。

NewRelic ERROR: Unable to connect to the New Relic service at collector.newrelic.com:443 : System.Net.WebException:
The request was aborted: Could not create SSL/TLS secure channel.
NewRelic ERROR: Unable to connect to the New Relic service at collector.newrelic.com:443 : System.Net.WebException:
The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException:
Received an unexpected EOF or 0 bytes from the transport stream.
NewRelic ERROR: Unable to connect to the New Relic service at collector.newrelic.com:443 : System.Net.WebException:
The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception:
The client and server cannot communicate, because they do not possess a common algorithm.

問題の切り分けには、TLS 1.0 を無効にした後にデータが表示されない を参照してください。

ホストの設定

New Relic Agent はデータ転送のために HTTPS を設定する必要があるため、ホスト設定の前にまず証明書の申請を完了します。New Relic Agent の起動時には証明書の正当性検証も必要になるため、ここでは CA の自己署名と、自己署名 CA による証明書発行を完了しておく必要があります。証明書チェーンの発行が完了したら、Guance を使って NewRelic .NET プローブを導入するWindows サーバーにルート証明書と中間証明書をインポートするには? を参考に証明書を配置します。

証明書の配置が完了したら、hosts ファイルを適切に設定してローカルでドメイン解決できるようにします。hosts の設定は次のとおりです。

127.0.0.1    www.your-domain-name.com

ここで www.your-domain-name.comnewrelic.config 設定ファイルの service.host 項で指定したドメインです。

Datakit の設定

DataKit のインストールディレクトリ下の conf.d/ ディレクトリに移動し、.conf.sample をコピーして .conf に名前を変更します。例は次のとおりです。


設定後、DatakitIIS を再起動します。

datakit service -R

iisreset

参考資料

フィードバック

このページは役に立ちましたか?