用Ansible Role自动化安装New Relic INFRASTRUCTURE

首先

如果在Amazon EC2实例上安装New Relic的INFRASTRUCTURE,则在命令行上执行并不麻烦,但对于多个实例的环境,手工操作将很费时。如果可能的话,最好能够快速自动化并完成安装。

所以这次,我想使用Ansible来自动化安装New Relic INFRASTRUCTURE代理到EC2实例。

很幸运的是,New Relic INFRASTRUCTURE已经准备了Ansible角色,所以只需使用git clone将其下载下来,就能非常简单地通过Ansible进行代理安装!GitHub的URL在这里:GitHub infrastructure-agent-ansible。

另外,如果您还没有创建New Relic账户,请从这里开始。

安装步骤

安装准备

本次我們將按照以下結構來創建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在GitHub上的安装角色下载到roles目录下。下载完成后,将目录名称更改为”nrinfragent”。

$ cd roles
$ git clone https://github.com/newrelic/infrastructure-agent-ansible.git
$ mv infrastructure-agent-ansible nrinfragent

2. 创建Hosts文件

为了在本地主机上执行Agent安装,本次将创建名为”local”的Hosts文件。

[localhost]
127.0.0.1

3. 创建Playbook

创建一个Playbook,其中包含了安装INFRASTRUCTURE Agent所需的信息和角色。请在许可证密钥(nrinfragent_license_key)处输入您自己的New Relic许可证密钥。本次安装的EC2操作系统为Amazon Linux,但在操作系统名称选项(nrinfragent_os_name)中输入”redhat”,在操作系统版本(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

在New Relic INFRASTRUCTURE界面上进行确认

当Playbook执行成功后,我们需要在New Relic Infrastructure界面上确认该主机是否被监控到!

SnapCrab_NoName_2017-10-31_9-40-58_No-00.png

最后

通过使用New Relic INFRASTRUCTURE Agent安装的Ansible角色,您现在可以非常容易地进行自动代理安装。与其他角色组合,可以配置在实例启动时运行用于代理安装的Ansible,从而大大减少部署的工作量。作为我们软件相关工作的一部分,我们提供云端性能监控服务“New Relic”。详情请参阅此处。

广告
将在 10 秒后关闭
bannerAds