New Relicに入門(試して)してみた - EC2でのagent監視+通知まで
本記事はNew Relic 使ってみた情報をシェアしよう! by New Relic Advent Calendar 2023 シリーズ2 13日目の記事となっております。
はじめに
既に個人利用で使ってる方も多いと思いますし、個人利用規模程度では記事も現存しているのかとは思いますが、個人的に以前から気になっていた事もあり、New RelicさんでAdvent Calendarを開催されるとの事で、実際に触ってみるには良いタイミングかなと思い今回利用と記事を残す形でいきたいと思います。
公式情報も確認しよう
New Relicさんも公式ドキュメントや過去のセミナーの動画による説明等も充実していますので、お時間がある方は先にそちらをご覧いただいてから、触って頂けると良いのではないのでしょうか。
公式ドキュメントには、初学者向けのチュートリアルも用意されているので、こちらから入られるのも良いかもしれません。
また、本を見るのから入るのが好きな方は、本もリリースされていますので読まれるのも良いと思います。
実際にNew Relicを試してみる
New Relicの課金形態
念のため、利用前に課金やデフォルトプランで何ができるのかを確認しておきましょう。
https://newrelic.com/jp/pricing
4構成からなっており、今回はお試しをするにあたり無料での項目になります。

無料利用での内容はこの料金ページ下段にありますので、合わせて確認しておきましょう。

クレジットカード不要で、無料枠のデータ取り込み量が閾値を超えると、登録したメールに通知されるような形のようです。
今回の目標
折角New Relic等を利用するのであれば、オブザーバビリティなどを意識したモニタリングを事細かにやっていきたいところですが、今回は個人のお持ちの小規模環境で画面の操作のイメージを掴む事を前提に、モニタリングの設定からAlertの通知設定までを試してみます。
なお、今回はチュートリアル等には沿わず、ある程度のAWSのEC2やLinux、過去に一般的な監視設定導入をした事がある方向けな記事になっております。
今回試すモニタリング対象
- AWS EC2(CentOS Stream release 9)
 
上記システムで今回は、AWSインテグレーションは使わずに、EC2にagentを入れるパターンで確認します。
AWS EC2へモニタリングエージェントを導入する
今回のLinux側の作業は基本的に sudo -i を実行した状態で作業を進めています。
セットアップを行う
こちらのトップページから、Linuxを選択すると、自身のNew RelicのライセンスKeyなどが入力された、ワンライナーが表示されるので、こちらを利用します。
以下がインストールワンライナーの例 (NEW_RELIC_API_KEYとNEW_RELIC_ACCOUNT_IDはそれぞれ固有のものが入ります)。
なお、末尾に-yを加えると対話式にならずインストールができるようです。
# curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=HOGEHOGEHOGE NEW_RELIC_ACCOUNT_ID=XXXXXXX /usr/local/bin/newrelic install
今回は-yはつけていないので、対話になった部分は、インストールの開始、アラームの通知先のメールアドレスの確認だけだったと思います。
? Continue installing?
と
Would you like to be notified on your registered email address [New Relicに登録してるメールアドレス] when this alert triggers Y/N (default: N)?
でした。
インストールが全て完了すると、以下のような感じになれば完了のようです。
  New Relic installation complete
  --------------------
  Installation Summary
  ✔  Golden Signal Alerts  (installed)
  ✔  Infrastructure Agent  (installed)
  ✔  Logs Integration  (installed)
  View your data at the link below:
  ⮕  https://onenr.io/XXXXXXXXXXX
  View your logs at the link below:
  ⮕  https://onenr.io/XXXXXXXXXXX
  --------------------
実際の取得データを確認しよう
前手順までが完了し、New Relicにアクセスします。
インストール完了後の実行結果に表示されたURLにアクセスすると、以下のような画面が表示されるので、See your dataをクリックする。

すると・・・・・・・

EC2の情報が取得できている事が確認できました!
また、インストール後に表示された別のリンク(log)も見てみましょう。
All logsになるので、全て取得されてるようです。
画面上だと/var/log/secureも表示されてますね。

インストールについては、特に戸惑いなく実施できました。
結構簡単ですね!思っていたよりも色々データが取得できていていい感じです。
モニタリング通知を試す
簡単にできるものとして、今回はサーバでpostfixがインストールされているのでプロセスをダウンさせて通知を試してみます。
アラートの設定
今回ですと、InfrastructureからAlertを選び

右上のCreate alert conditionをクリック

Name this alert condition:にモニタリング名を入力し、Choose an alert type でProcess Runningを選びます。

ページ後段では、Narrow down processesにて、FILTER HOSTで対象のホストを選び、FILTER PROCESSで今回の対象である/usr/libexec/postfix/masterを選びます。
Define thresholdでは閾値設定をします。
今回はプロセスが起動していない状態が1分間を指定しました。
no processes are runningを選んで、時間に1を入力。

最後は通知先の設定で、Alert policyにてデフォルトのGolden Signalsを選択し、ページ右下のCreateをクリック。

これで設定が完了です。

実際にプロセスを落としてみる
EC2にログインし、postfixを停止させます。
# ps -ef | grep postfix
root       16216       1  0 02:44 ?        00:00:00 /usr/libexec/postfix/master -w
postfix    16217   16216  0 02:44 ?        00:00:00 pickup -l -t unix -u
postfix    16218   16216  0 02:44 ?        00:00:00 qmgr -l -t unix -u
root       16224    8983  0 02:44 pts/0    00:00:00 grep --color=auto postfix
#
# systemctl stop postfix
#
# ps -ef | grep postfix
root       16242    8983  0 02:44 pts/0    00:00:00 grep --color=auto postfix
#
2分程度時間をおきます。
すると、以下のような通知が設定されているメールアドレス宛に通知がされました。
これで通知も試す事ができました。

Slackなどの通知先を設定する
Alert & AIのWorkflowsから設定が可能です。

デフォルトの場合は、既にあるGolden Signalsの項目を選択すると、この様な画面になるので、Slackのアイコンを選択すると、Slackとの接続画面になるので先に進み、通知チャンネルの選択を行う事で設定が可能です。

さいごに
以上で、簡単なNew RelicのEC2に対するモニタリングの導入から通知までを試す事ができました。
実際に設定を入れてみて、モニタリングの設定までは簡単で、Alertの設定も設定場所さえわかってしまえば、感覚でも操作できるかなといった感じでした。
今回は、公式のドキュメントに沿ってない形で実施している部分もあり、多少間違っている部分もあると思うので実際に試す際は、記事冒頭にある公式ドキュメントのリンクを参照頂く事をお勧めします。


