7

中型のRailsアプリは、3台のサーバーで(本番環境で)実行されます。New Relicを宝石として使用して、試用期間が終了しました。試用期間中、3つのサーバーすべてを追跡しましたが、サブスクリプションを継続するには、app1を追跡するために必要なだけです(そして予算しかありません)。

したがって、app2とapp3で新しいレリックを無効にする必要があります。カスタマーサービスとの連絡で、これは可能であり、このページの最後のエントリに誘導されたと言われていますが、これが他の2つのサーバーで新しいRelicトラッキングを無効にするのにどのように役立つか、特にわかりません。 environment.rbにはnewrelic_rpmは記載されていません。結局のところ、これはgemであるため、Gemfileでのみ記載されています。

newrelic.ymlにはagent_enabledブールオプションがあり、サーバーごとに設定できると思いましたが、その方法がわかりません。RAILS_ENV変数のように、Railsで使用しているサーバーを見つける方法はありますか?

4

2 に答える 2

11

エージェントが構成値を読み取る前に、newrelic.ymlファイルはERBでレンダリングされます。だからあなたはこれを行うことができます:

monitor_mode: <%= 'app1' == Socket.gethostname ? 'true' : 'false' %>

これにより、エージェントはその1つのホストについてのみNewRelicにレポートできるようになります。

于 2012-03-16T15:29:06.820 に答える
1

newrelic.yml必要なサーバーにのみリンクすることをお勧めします。これを実現するconfig/newrelic.ymlには、リポジトリから完全に削除しshared、代わりにサーバーのディレクトリに配置します。

次に、このファイルをcapistranoの特定の役割についてのみにリンクしますconfig/newrelic.yml。app1サーバーのみを含む新しい役割を導入できます。

新しい遺物の宝石は、ビルドフェイルセーフです。したがって、その場合は無効になります。

于 2012-03-14T12:49:18.963 に答える