288
280

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWSユーザなら無料で使えるNew Relic導入方法

Last updated at Posted at 2014-07-09

サーバモニタリングサービス「New Relic」のAWSへの導入についてまとめてみました!

14d7b9ce3-0ef4-07fb-6bcb-446711f2dec8.png

New Relicのアカウント取得

最初は無料だからって焦ってアカウントを取っちゃダメダメ。
もしAWSを使っているならお得な隠れキャンペーンがあります。

隠れキャンペーンページ

このページ経由でSign-UPするとStandard版が無料で使えます。
通常のページからSign-UPすると無料になるのはLITE版です。

はじめてのサーバ監視設定

まずは基本の「き」でサーバの監視から仕込んでみます。
打つコマンドは5つだけです。

# rpm -Uvh http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm
# yum install newrelic-sysmond
# nrsysmond-config --set license_key=LICENSE_KEY
# /etc/init.d/newrelic-sysmond start
# chkconfig newrelic-sysmond on

3行目のライセンスキーはNew Relicの管理画面から取得できます

New Relic.png

たったこれだけで美麗管理画面からサーバの状況が丸裸です!

なに、この感動プロダクト!!

ときめいた!!!

CloudWatchとの連携

専用エージェントをサーバに入れただけではAWSのEC2以外のサービス(RDSやELB等)のデータは取得できません。
CloudWatchに連携したエージェントを入れることで対応が可能になります。

事前準備

IAMアカウントの作成

  • AWSにNew Relicの監視エージェント専用のIAMを作成しておきます。IAMのポリシールールは下記を使ってください。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "autoscaling:Describe*",
        "cloudwatch:Describe*",
        "cloudwatch:List*",
        "cloudwatch:Get*",
        "ec2:Describe*",
        "ec2:Get*",
        "ec2:ReportInstanceStatus",
        "elasticache:DescribeCacheClusters",
        "elasticloadbalancing:Describe*",
        "sqs:GetQueueAttributes",
        "sqs:ListQueues",
        "rds:DescribeDBInstances",
        "SNS:ListTopics"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
  • IAMアカウントを作成したらaccess_keyとsecret_keyをメモっておきます。

監視環境の用意

  • EC2 1台(t1.microでエージェント専用インスタンスを立ち上げることが推奨されています)
  • Ruby (1.9.2以上)
  • Rubygems (1.3.7以上)
  • Bundler
  • Git

Ruby、Rubygem、Gitはyumからインストール可能です。Bundlerはgem install bundlerでインストールしましょう。

その際にruby-devellibxml2libxsltが入ってないとBundlerがインストール出来ない場合があるので、yumから追加でインストールしてください。

Bundlerは/usr/local/binにインストールされるのでPATHを通しておくと良いです。

監視エージェントのインストール

  • githubからダウンロードします
  • ダウンロードしたファイルを適当な場所に展開します(展開した場所を/home/newrelic/newrelic_awsとします)
  • 展開したディレクトリのconfigの下にあるtemplate_newrelic_plugin.ymlをnewrelic_plugin.ymlとしてコピーします
  • newrelic_plugin.ymlを編集します(後述)
  • 以下のコマンドでエージェントを起動します
$ cd /home/newrelic/newrelic_aws
$ bundle install
$ bundle exec ./bin/newrelic_aws

しばらくするとNew Relicの管理画面に自動的に項目が追加されます。

New Relic2.png

newrelic_plugin.ymlの記載方法

license_key,access_key,secret_keyをあなたの環境に応じて書き換えます。

ファイルの下の方にあるenabled: trueとするとそれぞれのAWSサービスでCloudWatchの値が取得できるようになります。

取得したくないサービスはenabled: falseにしましょう

newrelic_plugin.yml
# Please make sure to update the license_key information with the
# license key for your New Relic account.
#
newrelic:
  #
  # Update with your New Relic account license key:
  #
  license_key: 'New Relicのあなたのライセンスキー'
  #
  # Set to '1' for verbose output, remove for normal output.
  # All output goes to stdout/stderr.
  #
  # verbose: 1
#
# AWS configuration.
#
aws:
  # Update with you AWS account keys:
  access_key: '事前準備で作成したAMIのaccess_key'
  secret_key: '事前準備で作成したAMIのsecret_key'
  # Specify AWS regions to query for metrics
  # regions:
  #   us-east-1
#
# Agent configuration.
#
agents:
  #
  # Enable/disable agents with the enabled attribute or by commenting out each agent.
  #
  # Tag filtering is available and is documented at
  # https://github.com/newrelic-platform/newrelic_aws_cloudwatch_plugin/blob/master/README.md#tag-filtering
  #
  # An optional cloudwatch_delay attribute can be added for each agent
  # which adjusts the time window in seconds for CloudWatch querying.
  # Some of the Cloudwatch metrics are not immediately available and may
  # require a delay before being queried.
  ec2:
    enabled: true
  ebs:
    enabled: true
  elb:
    enabled: true
  rds:
    enabled: true
  sqs:
    enabled: true
  sns:
    enabled: true
  ec:
    enabled: true
  ecr:
    enabled: false

監視エージェントの自動起動

Upstartに登録することでサーバ起動時に監視エージェントが立ち上がるように登録します

  • /etc/init/newrelic-aws.confを作成します
newrelic-aws.conf
# Upstart: /etc/init/newrelic-aws.conf
description 'New Relic AWS Plugin'

start on runlevel [2345]
stop on runlevel [016]

respawn
respawn limit 3 5

chdir /home/newrelic/newrelic_aws

script
        export PATH=$PATH:/usr/local/bin
        bundle install
        bundle exec ./bin/newrelic_aws
end script
  • 監視エージェントを起動します
# initctl start newrelic-aws
# initctl status newlic-aws
newrelic-aws start/running, process 813

様々な使い方

MySQL監視エージェントの導入についてはこちら

有料プランへの切替時の注意

  • NewRelicのAPMなどは大変便利なので、もっと詳細な情報がみたくて課金を検討することもあると思います
  • その際に注意したいのがホスト数です。一度、契約を有料プランに変更すると利用ホスト数だけライセンスがかかってきます
  • このホストは有料、このホストは無料という設定はできず、課金したアカウントにぶらさがっているホスト全部が課金対象になりますので、ご注意ください
  • これを避けるためには別アカウントを取得し、有料プランで使いたいホストと無料プランで使いたいホストをそれぞれのアカウントにひも付けしなおす必要があります

仲間募集

株式会社スピカでは一緒に切磋琢磨できるエンジニアの方を募集しています!ぜひ、こちらをご覧ください!!

288
280
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
288
280

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?