はじめに
Amazon EC2インスタンスにNew RelicのINFRASTRUCTUREをインストールする場合、コマンドラインで実行してもそこまで手間ではないのですが、インスタンスの複数台環境などにおいては手作業だと手間がかかります。可能であれば、サクッと自動化して、インストールしたいところ。
そこで今回は、Ansibleを使ってEC2インスタンスへのNew Relic INFRASTRUCTUREエージェントインストールを自動化したいと思います。
幸いにもNew Relic INFRASTRUCTUREにはAnsible Roleが用意されておりますので、git cloneでダウンロードしてしまえばとても簡単にAnsibleによるエージェントインストールが可能です!GitHubのURLはこちら GitHub infrastructure-agent-ansible。
また、まだNew Relicをアカウント作成されていない方はこちらから。
インストール手順
0. インストール準備
今回は下記の構成にて、Playbookを作成していきます。
- 起動環境: AWS EC2
- OS: Amazon Linux AMI release 2017.09
ansible-playbooks
├── roles
│ └── nrainfragent
├── hosts
│ └── local
├── setup-infra.yml
まずはAnsibleのインストールから。pipを使ってインストールします。
$ sudo easy_install pip
$ sudo pip install ansible
1. New Relic INFRASTRUCTURE Agentインストール用ロールのダウンロード
rolesディレクトリ配下にgithub上のINFRASTRUCTURE Agentインストール用ロールをダウンロードします。ダウンロード後、ディレクトリ名を"nrinfragent"に修正します。
$ cd roles
$ git clone https://github.com/newrelic/infrastructure-agent-ansible.git
$ mv infrastructure-agent-ansible nrinfragent
2. Hostsファイルの作成
今回はローカルホストに対して、Agentインストールを実行するため、Hostsファイル"local"作成します。
[localhost]
127.0.0.1
3. Playbookの作成
最後にINFRASTRUCTUREエージェントのインストールに必要な情報やロールを記載したPlaybookを作成します。ライセンスキー(nrinfragent_license_key)の箇所にご自身のNew Relic License Keyを入力ください。今回インストールするEC2のOSはAmazon Linuxとなりますが、OS名のオプション(nrinfragent_os_name)には"redhat"を、OSバージョン(nrinfragent_os_version)には"6"と入力します。
---
- hosts: localhost
roles:
- role: nrinfragent
nrinfragent_license_key: #ライセンスキーを入力
nrinfragent_os_name: redhat
nrinfragent_os_version: 6
4. Playbookの実行
ここまでくれば3で作成したPlaybookを実行するのみです。管理者権限のオプション(-s)を付けるのをお忘れなく!
$ ansible-playbook -s setup-infra.yml
~~~略~~~
PLAY RECAP *********************************************************************
localhost : ok=9 changed=7 unreachable=0 failed=0
5. New Relic INFRASTRUCTURE画面で確認
Playbook実行が成功したら、New Relic Infrastructure画面で当該ホストが監視できていることを確認しましょう!
最後に
いかがでしたか?New Relic INFRASTRUCTUREエージェントのインストール用ロールを使用することで、非常に簡単にAnsibleによる自動エージェントインストールを行うことができるようになりました。他のロールと組み合わせて、インスタンス起動時にはエージェントインストール用のAnsibleが走るように設定するとデプロイの手間はかなり減りそうですね。
当社ではソフトウェア関連取組みの一環として、クラウド型パフォーマンスモニタサービス「New Relic」を提供しています。詳しくはこちらから。