suzuyoshi9's diary

雑多な内容が多いです

New Relicを使ったサーバインフラ監視

この記事は、#kosen10s Advent Calendar 2017の21日目の記事です。

1年間、あっという間に経ちますね。年々、時間の経過がどんどん早くなっていくように感じます。

今回は、最近仕事で使っているインフラ監視ツールのNew Relicを紹介します。

New Relicとは

newrelic.com

簡単にいってしまうと、最近流行りのAPM (Application Performance Management) ツールです。サーバやスマホアプリにツールを仕込むことにより、Webアプリやモバイルアプリの応答速度やエラー情報、スロークエリ、サーバの各スペック使用率など、様々なデータを収集・分析してくれます。今まで面倒だったエラー分析とか監視環境の構築を自動でやってくれるってことですね、すごい!(時代遅れ感

Webアプリを監視するAPM、ユーザのブラウザ上によるページ遷移などを監視できるBrowserなど色々サービスがありますが、ここではサーバの監視を行うInfrastructureについて書きたいと思います。

Infrastructure

画面はこんな感じです。 f:id:suzuyoshi9:20171221222259p:plain 初期の画面では、CPU使用率、ロードアベレージ、メモリ使用率が表示されます。これらはラベルを押すことによって切り替え可能です。また、5分、30分、60分、7日など、様々な時間単位でグラフを見ることが可能です。

自分が感じた特長としては、以下の3つがあります。

Inventory

f:id:suzuyoshi9:20171221222350p:plain f:id:suzuyoshi9:20171221222333p:plain Inventoryでは、各サーバの設定情報や、インストールされているパッケージの一覧などを↑の写真のように見ることができます。バージョンとかも見えるんで、アップデートが必要な時にどのサーバが該当のものなのか簡単にチェックできます。IPアドレスとかもわかるので、非常に良さある(ちょっと怖いけど)。

Events

f:id:suzuyoshi9:20171221222251p:plain Eventsでは、サーバの設定変更、sshなどでのシェルログイン履歴、デーモンの起動・停止、パッケージのインストール・削除などの操作履歴などが記録されていて、見ることができます。突然サービスが止まった時に該当時間で何が起こったのか見ることができてめっちゃ便利です。ただMySQLでGTIDを使ってると「Entity modified: gtid_executed」っていうのがずっと記録され続けてちょっと良くない。

Integrations

AWS、Azureとの連携をすることができる。

AWSに関してはEC2のみならず、RDSやVPC、Billingなどの情報まで見ることができるらしいです。ただ使ってないのでどこまでわかるかは不明。

またOn Host Integrationsというものもあり、サーバにツールを入れるとMySQLやRedis、Nginxなどのパフォーマンス情報、設定情報を取得して、New Relic上で管理することができるらしいです。

ただし、Integrationsの利用にはProプランが必要です。

プランについて

newrelic.com

Infrastructureには、2種類プランがあります。↑URLに詳しく書いてありますが、大まかな違いは以下の通りです。

  • データ保持期間: Essentialsは、3ヶ月  Proは13ヶ月
  • Integrations: Essentialsは、AWS EC2のみ、ProはOn Hostも含めて全て
  • 値段(月契約): Essentials: 0.00084ドル/CU, Pro:0.00168ドル/CU
  • 値段(年契約): Essentials: 0.0006ドル/CU, Pro:0.0012ドル/CU

価格設定

価格は、Compute Unitという単位で計算され、

  • Instance SIze (CPUコア数+メモリGB, Max16)
  • 使用時間
  • 利用するプラン

によって決まります。 また月契約と年契約でも異なり、年契約の方が安くなります(年契約でも課金は毎月ごとですが、途中解約するとペナルティ料が発生するとのこと)。

CUは、Instance Size*使用時間 で計算されます。

例えば、AWSのt2.largeインスタンス2つを1ヶ月丸々(750時間)使用した場合、

(CPU 2 + Memory 8) * 750時間 * 2台 * 0.00084ドル = 12.6ドル

です。

実際に契約する場合は、最低でも16500CU分は課金しなければなりません。 16500CU分だと、

  • Essentials: 年契約9.90ドル、月契約13.86ドル

  • Pro:年契約19.80ドル、月契約27.72ドル

となりますね。

1GB1Coreの鯖ならこれだけの値段で11台分は賄える計算になります。

その他

  • Mackerelもシンプルで良いが、New Relicの方が1ホスト辺りの値段が安いかも(サーバのスペックなどにもよる?)
  • ただ、無料プランは基本的にない(最初の30日間のみ)
  • 通知(アラート)の閾値設定などが若干面倒
  • サーバメンテの時など、簡単に監視を停止することができない(いちいちalertを弄る必要がある)
  • Mackerelほど通知チャンネルは多くない(Slack、Webhook、メールなどのみ)
  • UIは全て英語だが、営業やサポートの人は日本語ができる人がいる(海外オフィスにいるので、少々時間はかかる)
  • 利用ホスト数などにより、若干の割引がある(営業担当の人と要相談)

などなど。他のサービスのことなど書ききれないこともあるので、それはLTor直接でb。

最後に

以上、New Relic Infrastructureの紹介でした。有料ですが、使い勝手はとても良いのでオススメです。乱文になってしまいましたが、参考にして頂けると幸いです。

あと4日でクリスマスですが、皆さんはどのように過ごされるのでしょうか。

クリスマスイブは、友人や家族と過ごしたり、もしくは一人で過ごす方もいるかもしれませんが、機会があれば近くの教会のミサや礼拝に行ってみることをおすすめします。いつもとは違った雰囲気でクリスマスを楽しめるかと思います。もしかしたら、ミサのあととかにタダ飯が食えるかもしれないよ!

kosen10sのイベントも最近行けてなかったけど、来年あたりから少しずつ行けたらいいなー

明日の記事は、kurenaifさんによる「東京で食べたうまい飯」です。ちょっと気になる。

それでは皆さん、良いクリスマス&お年を!