newrelic.newrelic-infra
:warning: | New Relicは、New Relicの可観測性の取り組みをスケールしやすくする新しいAnsibleソリューションを提供しています。今後はこのソリューションの使用を検討してください。 |
---|
New Relic インフラストラクチャエージェントのAnsibleロール

New Relicインフラストラクチャエージェントをインストールおよび/または構成し、New RelicインフラストラクチャOHIをインストールするためのAnsibleロールです。
インストール
以下のコマンドを使用して、最新のNew Relicロールをダウンロードします。
ansible-galaxy install newrelic.newrelic-infra
はじめに
newrelic.newrelic-infra
ロールをプレイブックで直接使用するには、プレイブックにロールを追加します。例えば、
# myplaybook.yml
---
- hosts: webservers
roles:
- role: newrelic.newrelic-infra
vars:
nrinfragent_config:
license_key: 12345
newrelic.newrelic-infra
を他のロールの依存関係として使用するには、自分のロールのmeta/main.ymlに依存関係を追加します。例えば、
# roles/myapp/meta/main.yml
---
dependencies:
- role: newrelic.newrelic-infra
使用法
このロールは、New Relicインフラストラクチャエージェントとの以下のインタラクションに使用できます。
- OSパッケージマネージャからエージェントをインストール
- tarballを使用してエージェントをインストール(Linuxのみ)
- OSパッケージマネージャから統合をインストール
- エージェントを構成
- エージェントの初期サービスをセットアップ
デフォルトでは、ロールはOSパッケージマネージャを通じてエージェントをインストールし、統合をインストールし、エージェントを構成し、エージェントの初期サービスをセットアップします。さらに、他のインタラクションを実行するためのタグも利用可能です。
- nria_install
- nria_install_tarball
- nria_install_integrations
- nria_configure
- nria_setup_service
基本的な使用法
以下のスニペットは、OSパッケージマネージャを介してエージェントをインストールし、指定された構成でエージェントを構成し、エージェントのOS初期サービスをセットアップします。
---
- hosts: ap_ne_1
roles:
- name: newrelic.newrelic-infra
vars:
log_file: /opt/logs/newrelic-infra.log
verbose: 0
nrinfragent_config:
license_key: 12345
custom_attributes:
environment: dev
タールボールインストール(Linuxのみ)
tarballインストール方法を使用してインストールするには、nrinfragent_tarball_version
変数を有効なtarballバージョン番号に設定する必要があります。
tarballインストール方法を使用する場合、nria_install_tarball
タグが指定されない限り、構成とエージェントOS初期サービスタスクも実行されます。
- hosts: ap_ne_1
roles:
- name: newrelic.newrelic-infra
vars:
nrinfragent_tarball_version: 1.18.0
nrinfragent_tarball_download_dir: /opt/newrelic/
nrinfragent_config:
log_file: /opt/logs/newrelic-infra.log
verbose: 0
license_key: 12345
custom_attributes:
environment: dev
タールボールインストール「オフライン」
ウェブからダウンロードするのではなく、ローカルのtarballを使用するには、nrinfragent_tarball_local_file_path
変数をtarballのローカルパスに設定する必要があります。
- hosts: ap_ne_1
roles:
- name: newrelic.newrelic-infra
vars:
nrinfragent_tarball_version: 1.18.0
nrinfragent_tarball_download_dir: /opt/newrelic/
nrinfragent_tarball_from_local: yes
nrinfragent_config:
log_file: /opt/logs/newrelic-infra.log
verbose: 0
license_key: 12345
custom_attributes:
environment: dev
設定のみ
以下のスニペットは、既存のインストールのエージェント設定のみを構成します。プレイブックは--tags nria_configure
オプションで実行する必要があります。この場合、include_role
を使用する必要があります。
- hosts: ap_ne_1
tasks:
- name: New Relicインフラストラクチャエージェントを構成する
include_role:
name: newrelic.newrelic-infra
vars:
nrinfragent_config:
license_key: 12345
log_file: /opt/logs/newrelic-infra.log
verbose: 0
custom_attributes:
environment: dev
tags:
- nria_configure
参考
ロール設定
変数
ロール設定の変数は、インラインで文書化されています。下記にも示しています。
nrinfragent_state
(オプション)
パッケージをインストールまたはアンインストールします(パッケージマネージャによるインストール)。パッケージマネージャによるインストールは、Ansibleパッケージモジュールを使用して実行されます。
'latest'
- [デフォルト] エージェントの最新バージョンをインストールします。またはpresent
。'absent'
- エージェントをアンインストールします。
nrinfragent_service_state
(オプション)
インストール後のnewrelic-infra
サービスの状態を指定します。デフォルトはstarted
で、サービスが実行中であることを保証します。stopped
に変更すると、すぐには起動されません。
nrinfragent_service_enabled
(オプション)
サービスがブート時に開始されるかどうかを指定します。デフォルトはyes
です。ブート時に自動的にサービスを開始しないようにno
に変更します。
nrinfragent_config_file
(オプション)
ターゲットホスト上のNew Relicインフラストラクチャエージェント設定ファイルへのカスタムパスを指定します。デフォルトはLinuxで/etc/newrelic-infra.yml
、Windowsで%ProgramFiles%\New Relic\newrelic-infra\newrelic-infra.yml
です。
nrinfragent_config
(必須)
エージェントの設定を入力するために使用されます。少なくともlicense_key
を提供する必要があります。現在の構成オプションについては、New Relicのドキュメントを参照してください。
custom_attributes:
business_unit: sales
team: newrelic
license_key: D000000000000000000000000000000000000000
log_file: /tmp/logs.log
verbose: 1
nrinfragent_integrations
(オプション)
OSパッケージマネージャを介してインストールされるオンホスト統合を指定します。利用可能な統合のリストはこちらで確認できます。
各パッケージはname
とstate
を提供する必要があります。統合パッケージ名は、個々の統合ドキュメントの「インストールとアクティブ化」セクションにあります。原則として、パッケージ名はサービス名にnri-
プレフィックスが付けられたものです(nri-apache
、nri-redis
など)。
デフォルトでは状態はabsent
で、パッケージはインストールされません。これをlatest
またはpresent
に変更できます。例えば:
nrinfragent_integrations:
- name: nri-nginx
state: latest
- name: nri-mysql
state: absent
各統合のソースコードは、newrelicのGitHub組織で入手できます。
license_key(非推奨)
互換性のために、トップレベルのlicense_key
を指定することができますが、代わりにnrinfragent_config
内のlicense_key
を使用することをお勧めします。両方が指定されている場合は、nrinfragent_config
内のものが優先されます。
nrinfragent_tarball_version(タールボールインストール専用:必須)
ダウンロードするNew Relicインフラストラクチャエージェントのタールボールバージョンを指定します。Linuxのみ。
nrinfragent_tarball_download_dir(タールボールインストール専用:必須)
対象ホストに対して、タールボールをダウンロードおよび解凍するディレクトリを指定します。
nrinfragent_tarball_agent_dir(オプション、タールボールインストール専用)
対象ホスト上でエージェントを配置するホームディレクトリのパスを指定します。NRIA_AGENT_DIR
パラメータと同じです。デフォルトは/var/db/newrelic-infra/
です。
nrinfragent_tarball_bin_dir(オプション、タールボールインストール専用)
対象ホスト上でエージェントのバイナリディレクトリのパスを指定します。NRIA_BIN_DIR
パラメータと同じです。デフォルトは/usr/local/bin/
です。
nrinfragent_tarball_log_file(オプション、タールボールインストール専用)
対象ホスト上でエージェントのログファイルのパスを指定します。NRIA_LOG_FILE
パラメータと同じです。デフォルトは/var/run/newrelic-infra/newrelic-infra.log
です。
nrinfragent_tarball_mode(オプション、タールボールインストール専用)
エージェントの権限レベルを指定します。NRIA_MODE
パラメータと同じです。デフォルトはROOT
です。
nrinfragent_tarball_pid_file(オプション、タールボールインストール専用)
対象ホスト上でエージェントPIDファイルのパスを指定します。NRIA_PID_FILE
パラメータと同じです。デフォルトは/var/run/newrelic-infra/newrelic-infra.pid
です。
nrinfragent_tarball_plugin_dir(オプション、タールボールインストール専用)
対象ホスト上でエージェントプラグインディレクトリのパスを指定します。NRIA_PLUGIN_DIR
パラメータと同じです。デフォルトは/etc/newrelic-infra/integrations.d/
です。
nrinfragent_tarball_user(オプション、タールボールインストール専用)
対象ホスト上でエージェントバイナリを実行するユーザーを指定します。NRIA_USER
パラメータと同じです。デフォルトはroot
です。
nrinfragent_os_name
(オプション)
インフラストラクチャエージェントがインストールされる対象OSを指定します。デフォルトはansible_os_family
です。サポートされるオペレーティングシステムのリストは、meta/main.ymlファイルを参照してください。
nrinfragent_os_version
(オプション)
このマシンに必要なインストーラパッケージのOSバージョンを指定します。デフォルトはansible_lsb.major_release
です。主にRedHat
ファミリーのOSで使用されます。サポートされるオペレーティングシステムのリストは、meta/main.ymlファイルを参照してください。
nrinfragent_os_codename
(オプション)
このマシンに必要なインストーラパッケージのOSコードネームを指定します。デフォルトはansible_lsb.codename
です。これはDebian
ファミリーのOSで使用されます。サポートされるオペレーティングシステムのリストは、meta/main.ymlファイルを参照してください。
nrinfragent_choco_version
(オプション、Windowsのみ)
Windowsでnewrelic-infra
をインストールするためのChocolateyパッケージのバージョンを指定します。バージョンを固定するか、エージェントをアップグレードするために使用できます。
nrinfragent_yum_lock_timeout
(オプション)
ansible yumモジュールのlock_timeoutの値を設定します。設定しない場合、この値はデフォルトで30になります。ansibleバージョン>= 2.8.0のみに対応しています。
nrinfragent_logging
(オプション)
ログファイルを生成するために使用されます。現在の構成オプションについては、New Relicのドキュメントを参照してください。複数のログブロックを作成するには、追加の名前リストを入力します。例えば:
vars:
nrinfragent_logging:
- name: example-log
file: /var/log/example.log # 単一のログファイルへのパス
- name: docker-logs
file: /var/lib/docker/containers/*/*.log # 複数のフォルダーおよびファイルへのパス
- name: systemd-example
systemd: cupsd
# TCPネットワークソケット
- name: syslog-tcp-test
syslog:
uri: tcp://0.0.0.0:5140 # tcp://LISTEN_ADDRESS:PORT形式を使用
parser: rfc5424 # デフォルトのsyslogパーサーはrfc3164
# Unix TCPドメインソケット
- name: syslog-unix-tcp-test
syslog:
uri: unix_tcp:///var/unix-tcp-socket-test
unix_permissions: 0666 # デフォルトは0644。リスクを考慮して変更してください。
# Unix UDPドメインソケット
- name: syslog-unix-udp-test
syslog:
uri: unix_udp:///var/unix-udp-socket-test
parser: rfc5424
- name: tcp-simple-test
tcp:
uri: tcp://0.0.0.0:1234 # tcp://LISTEN_ADDRESS:PORT形式を使用
format: none # 生のテキスト - これはデフォルトです。
separator: \t # 生のテキストエントリーを区切るための文字列
max_line_kb: 32
- name: tcp-json-test
tcp:
uri: tcp://0.0.0.0:2345 # tcp://LISTEN_ADDRESS:PORT形式を使用
format: json
newrelic-infra-integrations
パッケージとそれに含まれる統合の削除
これは
newrelic-infra-integrations
パッケージがインストールされている場合のみに適用されます。
newrelic-infra-integrations
パッケージやbundled統合(nri-redis、nri-cassandra、nri-apache、nri-nginx、nri-mysql)を削除したい場合は、nrinfragent_integrations
の最初の項目としてnewrelic-infra-integrations
をabsent
として追加します。
nrinfragent_integrations:
- name: newrelic-infra-integrations
state: "absent"
テスト
infrastructure-agent-ansible
ロールは、moleculeを使用してテストを行います。3つのシナリオが提供されています。
- デフォルトシナリオは、エージェントのインストールと構成、OS初期サービスの設定をOSパッケージマネージャを使用してテストします。
- configureシナリオは、
nria_configure
タグを使用してエージェントの設定のみをテストします。このテストを実行するには、default
シナリオのcreate
およびconverge
メソッドを最初に実行する必要があります。 - targzシナリオは、tarballインストール方法を使用してエージェントのインストールと構成、OS初期サービスの設定をテストします。
default
およびtargz
シナリオは完全にmolecule test
を使用して実行できます。test
コマンドはテスト後にコンテナを破棄するため、configure
シナリオを実行する最良の方法は、molecule converge && molecule test -s configure && molecule destroy
を使用することです。
Ansible Galaxyへのリリース
新しいバージョンをAnsible Galaxyにリリースするには、以下の手順に従います:
- CHANGELOG.mdを更新します。
- 新しいGitHubリリースを作成します。
- GitHub Actionsでビルドの進行状況を確認します: https://github.com/newrelic/infrastructure-agent-ansible/actions
- バージョンがAnsible Galaxyにインポートされることを確認します。問題がある場合は、プロジェクトのオーナーの一人に相談してください。
互換性
プラットフォーム
- RHEL/CentOS
- RHEL/CentOS 8
- RHEL/CentOS 7
- RHEL/CentOS 6
- RHEL/CentOS 5
- Ubuntu
- 18 Bionic
- 16 Xenial
- 14 Trusty
- 12 Precise
- Debian
- 10 Buster
- 9 Stretch
- 8 Jessie
- 7 Wheezy
- SUSE Linux Enterprise
- 12
- Windows
- すべて
- 免責事項: Windowsのサポートは、第三者によって維持されているNew Relic-infra Chocolateyパッケージに依存しています。New Relicからの保証やサポートはありません。
サポート
New Relicは、お客様がNew Relicの従業員や他のお客様と交流するためのオンラインフォーラムをホストおよび管理しています。すべての公式なNew Relicオープンソースプロジェクトには、New Relic Explorers Hubに関連するコミュニティトピックがあります。このプロジェクトのトピック/スレッドは次のとおりです:
- New Relic Documentation: プラットフォームの使用に関する包括的なガイダンス
- New Relic Community: 問題解決の質問を行うための最良の場所
- New Relic Developer: カスタム可観測性アプリケーションを構築するためのリソース
- New Relic University: あらゆるレベルのNew Relicユーザー向けのオンライントレーニング
- New Relic Technical Support 24/7/365チケットサポート。私たちの技術サポートオファリングをさらに読むことができます。
貢献
[プロジェクト名]の改善に対する貢献を歓迎します! プルリクエストを提出するときに、CLA-Assistantを介してCLAにサインする必要があります。プロジェクトにつき、CLAにサインするのは一度だけです。
質問がある場合や、企業名義の貢献を行う場合(これは企業名義の貢献に必要です)、usにメールを送信してください。opensource@newrelic.com。
脆弱性に関する注意
私たちのセキュリティポリシーで述べたように、New Relicは私たちのお客様と彼らのデータのプライバシーとセキュリティにコミットしています。私たちは、セキュリティ研究者による協調的な開示を提供し、セキュリティコミュニティと関わることが、私たちのセキュリティ目標を達成するための重要な手段であると信じています。
このプロジェクトまたはNew Relicの製品やウェブサイトにセキュリティの脆弱性があると考える場合は、HackerOneを通じてNew Relicに報告していただければ幸いです。
このプロジェクトに貢献したい場合は、これらのガイドラインを確認してください。
すべての貢献者に感謝します! あなたの貢献がなければ、このプロジェクトは今の姿にはなっていなかったでしょう。
ライセンス
infrastructure-agent-ansibleは、Apache 2.0ライセンスの下でライセンスされています。