New Relicを使ってみる

メニューが色々あるが、まずはAPMを使ってみる
環境: Amazon Linux2(vagrant)

1.license key: *******
2.Install the PHP agent
RPM-based (Redhat, Centos, etc.) 64-bit

$ sudo rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
$ sudo yum install newrelic-php5

3.Add PHP license key
/etc/php.d/newrelic.ini

newrelic.license="***"

newrelicをインストールしたタイミングで、newrelic.iniにlicenseが入っている

New Relic APMのセットアップの方法まではわかりました。

newrelic-installで、/bin or /usr/bin

newrelicをinstallしようとすると、/binと/bin/usrどちらにインストールするか質問がきます。一体何が違うのでしょうか?

$ sudo newrelic-install install

Below is a list of the directories in which we found a copy of PHP.
Please select the directory or directories for which you wish to install
New Relic. You can select either a single directory or
multiple directories by separating each choice with either a space or a
comma. To select all of the directories shown, please enter the special
keyword 'all' (without the quotes).

   1)   /bin
   2)   /usr/bin

ls -lで見てみると、どちらのディレクトリも同じファイルのように見える
$ pwd
/usr/bin
$ ls -l
-rwxr-xr-x 1 root root 5094784 11月 1 04:35 php

$ pwd
/bin
$ ls -l
-rwxr-xr-x 1 root root 5094784 11月 1 04:35 php

### /bin
– Linuxの基本コマンドが登録されている
– 基本的かつ非常時に利用するコマンド

### /usr/bin
– 一般ユーザが使うコマンド
– 緊急時のシステム保守に必須ではないコマンド

性質からいうと、/usr/binで良いか。

New Relicとは?

公式(英語): https://www.newrelic.com/
公式(日本語): https://newrelic.co.jp/
創業者 Lew Cirne: 元apple、NewRelicの前にTech会社企業、harverd・Stanfordなどで教鞭
概要: アプリケーションパフォーマンス監視。Saas。アプリの表示速度などを測定できる。高可用性状態でアプリケーションをスケールさせる。
競合: Dynatrace, AppDynamics, Data Dogなど
導入企業: GE, Adobe, Airbnb
日本の導入: Sansan, Cygames, CA, Mercariなど

### New Relicの仕組み
エージェントをインストールし、それがデータを収集してNew Relicのサーバに送信する(1分に1回)
-> Mackerelと仕組みは同じ?
対象: Browser, Mobile, Synthetics, Application(APM), Infrastructure

### New Relic APM
– アプリケーションのパフォーマンス監視(処理時間、スループット、エラー率、ユーザ満足度)
– 遅い順、スループットの多い順
– トランザクション毎ではSQLまで確認可
– 外部サービスパフォーマンス
– 言語処理パフォーマンス
– エラー分析、デプロイ追跡、サービスマップ、ヘルスマップ

PHP agent compatibility and requirements
PHP agent installation overview
release note

### New Relic Browser
– DOM, レンダリング、ネットワーク、サーバーサイド処理
– 遅いページのパフォーマンスを測定
– Chrome DevToolのNetworkタブのような機能
– JSをHTMLに埋め込む。APMを使用している場合は、自動
-> GAと同じ仕組みか?

### New Relic Synthetics
– 死活監視
– URLに対しリクエストを送る。HTTP Head, HTTP Get
-> AWSでいうHealth checkのようなものか?

### New Relic Mobile
– iOS, Androidのパフォーマンス監視
– SDKを各環境に埋め込み、ストアで公開

### New Relic Infrastructure
– サーバ監視
– ホスト単位のCPU、 メモリ、ロードアベレージ
– ストレージ
– ネットワーク送信量、受信料
– プロセスごとのパフォーマンス
– インフラのイベント履歴
– IT資産の管理
– クラウド、ミドルウェア監視
-> サーバ監視はAWSの場合、CloudWatchで見れるから、どれくらい有用かは不明

こう見ると、ベンダー各社のトラッキングサービスを1社ほとんどカバーしているという事か? 
それを実現できる技術力は素晴らしい。