APM for Javaを使用すると、インストールと構成にAnsibleロールを使用できます。
互換性と要件
Javaエージェントに対するNewRelicのAnsibleの役割は、オープンソースであり、コミュニティでサポートされています。 Linuxサーバー上のTomcat、Jetty、Wildfly(以前のJBoss)で実行されているアプリケーションを計測するためのJavaエージェントのセットアップをサポートします。最も一般的なエージェントパラメーターは、Ansible変数を使用して構成できます。
この役割を実行するには、 Ansibleをインストールする必要があります。 Ansibleは中央サーバーから実行され、ターゲットホストを構成します。これらのホストはLinuxを実行していて、 unzip
がインストールされている必要があります。この役割は、最も一般的なLinuxディストリビューションと互換性がある必要があります。
プロセスの概要
インストールと構成には、いくつかの手順が含まれる場合があります。
手順1.役割をインストールします
この役割をインストールするには、Ansibleを実行しているシステムでansible-galaxy
コマンドを使用します。
$ ansible-galaxy install newrelic.newrelic_java_agent
これにより、 Ansible Galaxyから役割がダウンロードされ、Ansibleプレイブックで使用できるようになります。
ステップ2.役割をプレイブックに組み込む
include_role
モジュールを使用して、プレイブックからロールを呼び出す必要があります。ロールのGitHubリポジトリには、開始するためのサンプルプレイブックが含まれています。これは次のようになります。
- hosts: YOUR_HOST_GROUP vars: nr_java_agent_config: license_key: YOUR_LICENSE_KEY app_name: YOUR_APP_NAME log_file_path: /tmp/newrelic
server_type: tomcat server_root: /var/lib/tomcat8 jvm_conf_file: /usr/share/tomcat8/bin/setenv.sh server_user: tomcat8 server_group: tomcat8 service_name: tomcat8 restart_web_server: true
tasks: - include_role: name: newrelic.newrelic_java_agent
vars
セクションには、エージェント自体の設定を保持するnr_java_agent_config
というディクショナリと、ロールのインストールプロセスを構成するためのいくつかの変数が含まれています。詳細については、エージェント構成とロール構成のセクションを参照してください。
ステップ3.役割を構成します
これらの変数は、インストールプロセスを構成するために使用されます。ほとんどが必要です。詳細については、 GitHubの例を参照してください。
変数 | 説明 |
---|---|
| 必須。アプリケーションで使用されるWebサーバー。可能な値は、 |
| 必須。ホスト上のWebサーバーの場所。エージェントのJAR、構成、および(デフォルトで)ログファイルは、このディレクトリのサブディレクトリにあります。 |
| 必須。 NewRelicJavaエージェントを参照するためのWebサーバー構成ファイルへのパス。たとえば、Tomcatの場合、通常は |
| 必須。 Webサーバーを実行するユーザーとグループ。 |
| オプション。デフォルト: |
| 必須( |
| オプション;デフォルト: |
ステップ4.エージェントを構成します
次の変数は、Javaエージェント自体を構成するために使用されます。これらは、利用可能なオプションのほんの一部です。サポートされている変数の完全なリストについては、 GitHubのREADMEファイルを参照してください。エージェントの構成方法の詳細については、 Javaエージェントの構成を参照してください。
変数 | 説明 |
---|---|
| 必須。 NewRelicのライセンスキー。 |
| 必須。インストルメントされるアプリケーションの名前。詳細については、アプリの命名を参照してください。 |
| オプション。プロキシ経由でNewRelicコレクターに接続する場合は、これらの値を使用してプロキシ設定を構成できます。 |
| オプション。エージェントのユーザー設定可能なカスタムラベル。ラベルは名前と値のペアです。名前と値は255文字に制限されており、コロン(:)やセミコロン(;)を含めることはできません。値は、キーと値のペアのセミコロンで区切られたリストである必要があります(例: |
手順5.カスタムインストルメンテーションを有効にする(オプション)
カスタムインストルメンテーションを有効にする場合は、 custom_instrumentation_files
変数を使用してXMLファイルのリストを提供できます。たとえば、プレイブックに次のようなものを追加することで、インストールするすべてのJavaエージェントがmy_instrumentation.xml
というファイルを使用するように指定できます。
vars: custom_instrumentation_files: - /path/to/my_instrumentation.xml
詳細については、GitHubのREADMEと例を参照してください。
さらにヘルプが必要
さらにヘルプが必要な場合は、GitHubのnewrelic/newrelic-java-agent-ansible-roleで問題を報告してください。