LoginSignup
0

More than 1 year has passed since last update.

姉さん、大変です。New Relicを・・・

Last updated at Posted at 2021-12-01

姉さん、大変です。New Relicを使ったことがないと言えなくなりました。

1.はじめに

今日は、2021年11月27日。気づいたら、アドベントカレンダー投稿まで今日を入れて残り5日しかないという状況になりました。
image.png

Qiitaさんからも、もうすぐだよっと、親切なメッセージをいただいている状態。AWSのことしか投稿していない私が、今回なぜ、New Relicで投稿しようと思ったのか、、、、きっかけは、元同僚であり、現在は、New Relic でご活躍されている清水毅氏に、ふとしたことで質問したときに、「もう、これ以上、、New Relic を使っていないなんて言えない」と私自身が思ったことがきっかけでした。でも、それから、1か月以上が経過した今、この時点でも、New Relicのコンソールにログインしたことも、アカウントさえも持っていません(実は持ってたみたいだけど)。ログインもしてません(実はログインしていたみたいだけど記憶もなく、パスワードも失念)。本も読めてません。

が、この状況から今回、アドベントカレンダーに挑戦し、「New Relic 完全に理解した」と言えるようになりたいと思い2時間限定でブログを書きながらまず挑戦してみました。すいません。初心者のしょぼしょぼブログです。

2.まとめ

  • アカウントは3分程度で作れる(実際には、持ってたみたいだけど)
  • EC2(Cloud9)環境には、2分程度で導入完了。あっさりと連携。
  • Tomcatもコーディングの変更なく、Dockerfileの修正、build/deployであっさり連携

3.目的

とはいえ、何を目的にするかが重要かなと思います。
そこで、まずは、目的を考えてみましたが、まずは 次に清水さんと会話する機会に

  • 「核心を突く良い質問ですね~」
  • 「そうなんです。そこが大事なんです~」

と言ってもらえるようになること。全然技術的じゃない。では、そうなるためには、まず何をすればよいか、、、

  • アカウントを作る
  • ログインする
  • EC2やFargateと連携させる

え?こんなんで「核心を突く良い質問ですね~」とか「そうなんです。そこが大事なんです~」とか言ってもらえると思ってるの?と思うかもしれないですが、清水さんは大人なので、きっと言ってくれるはず。

ということで、今日は、いまだ、アカウントも持っていない、New Relic 実践入門も読んだことが無い、Amazon CloudWatch しかかじったことのない私が、New Relicに入門したいと思います。

4.New Relic のアカウントづくり。

さて、アカウントを作ればよいと思うものの、どこから作るのかも今時点ではわかってません。現在時刻はこちら。
image.png

何分で作れるのかな。よーいドン。

画面キャプチャーしながらなので、時間はかかるけど、まずは、以下で検索。え?そこはマニュアルでしょ?と思うかもしれませんが、「何も知らない人が思い付きでどれくらい簡単にできるか?」ということを考えると、やっぱ、Googleでしょ。

image.png

すると、幾つか該当リンクが表示された中で、私がおおお!っておもったのが、こちら

image.png

無料ユーザーアカウント月間100GBまでのデータ容量

100GBだと!!ログ送りたい放題じゃないか!って思ったわけです。ということで、リンク先に行ってみます。ブログ書きながら、ここまで、7分ですね、まあ、検索&リンククリックで10秒で終わると思います。
image.png
はい、仮登録を行います。
image.png

1分程度で入力を終え仮登録をしたらお礼をいただく。それがこちら。

image.png

そして、本登録へ進むと、こんな感じで、英語の画面に切り替わったけど、内容は簡単。名前と先ほど仮登録で入れたメアドを入力
image.png
Start Now を押したら、3秒程度で以下の画面が表示されたのでメールを確認しました。
image.png

5. 衝撃の事実。

メール、1分後には、届きました。
image.png
でも、タイトルがおかしい。
むむむ。どうやら、私がアカウントを持っていないっていうのは、嘘っぽい。
むしろ既にNew Relicのアカウントを持って居たっぽい?
image.png

まあ、いいか、とりあえず、記憶からは完全に消えてしまってるので、アカウントを持っていない感じは継続して、このまま進めてみます。

Create New Organizationをクリック

すると・・・パスワードリセット画面に行く。まあ、そうだよね、パスワードなんて覚えてるわけないしね。
image.png

リセットが完了すると、今度は、データの保存先を選択することができるらしい。
image.png

とりあえず、何も知らない私は、よし、じゃあ、シンガポール当たりを選んでみよう!って思ったらどうやら、アメリカとヨーロッパの二択。アメリカにしておきました。
image.png

そして、10秒ほど待っていたら、こんな画面に。
image.png

困った、思い付きで始めたから、アプリも何もない。最近は、EC2も極力Terminateしてるし・・・。

6. どこに入れようか

ここまで、ブログを書きながら30分が経過。
ここまでドキュメントを読まずに来たけど、いよいよ、これは何を入れる気だ?んん?と思い、画面右側のSee our docsをクリック。

If you haven't already, sign up for a free New Relic account so you can instrument your systems and send telemetry data to New Relic. Our guided install creates a customized CLI command for your environment that downloads and installs the New Relic CLI and the infrastructure agent.

なるほど。New Relic CLIの導入ね。ふむふむ。じゃあ、とおもって、ドキュメントにあった。ボタンを押すとさっきと同じ画面に遷移。Installation plan画面。
image.png

どこに入れようかなとおもたけど、「取り合えず Cloud9が入っている、Amazon Linux 2の環境に入れてみるか」と試してみた。

ということで、Linux用のダウンロード&インストールコマンドを実行。引数には、API KeyとアカウントIDが含まれてる。うっかりBlogに掲載するところだった。。。


curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=NNNN-ABCDEFGHIJKLMN NEW_RELIC_ACCOUNT_ID=0000000 /usr/local/bin/newrelic install

Log integrationとGolden Signal Alertsを両方がデフォルトで選ばれてるな~と思いつつ、念のため、検索すると、清水さんの記事もある。

まあ、じゃあ、デフォルトで、という感じで進める。

image.png

image.png

image.png

あああ、数分で導入完了。
image.png

お、とりあえず、あっという間に導入で来たな。じゃあ、見せてもらおうか、New RelicのUIとやらを。。。ということで、インフラデータとログデータを覗き見。

おおお、ちゃんと計測されている。ログも、連携されている。楽ちんだね。とはいえ、こんな1台のEC2にAgentを入れただけで完全に理解したとは言わない。

7. 二台目を動かす。。そして、Tomcatへ

まあ、同じことの繰り返し。追加先は、別のリージョンにしてみようということで、シンガポール。すぐ、二台目も追加された。

image.png

ここまで、特に困ることもなく進んだので、TomcatをFargateで起動して試してみることに。
これも、なんとなく、UIを見ながらやってみた。

画面上部にある、Add More Dataをクリックする
image.png

画面上部にある検索バーにtomcatを入れたが出てこなかったのでJavaを入れて選択。

image.png

Begin Installationをクリック。

すると、こんな画面が出るも、。これ、JavaのAgentを環境に導入する感じだよね。このコマンドは違うよね~って思い画面下部にある。[Other Java installation options]をクリック。
image.png

すると、私のアカウント用に設定された設定ファイルをダウンロード可能な画面に遷移し親切にもtomcatのディレクトリに配置する指示や環境変数に追加する指示があるので、Dockerfileにそれらを書き、ビルド

image.png

ちなみにDocker Fileはこちら。こちらのImageをベースに作るとWebappsは空っぽなので、アプリは空状態で今回はしのぎました。

FROM public.ecr.aws/docker/library/tomcat:latest


WORKDIR /usr/local/tomcat/
RUN curl -O "http://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip"

RUN ["apt-get", "install", "unzip"]

RUN ["unzip", "newrelic-java.zip", "-d", "/usr/local/tomcat"]
ENV JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/tomcat/newrelic/newrelic.jar"
COPY newrelic.yml /usr/local/tomcat/newrelic/

# run the Tomcat Server
CMD ["/usr/local/tomcat/bin/startup.sh", "run"]

Docker Imageをビルド後にECRにPush後起動したら・・・・なんか連携されたっポイ。完全に理解した!!

image.png

image.png

姉さん、、、

大変です。Lambdaと連携したいです。Lambda-SNS-SQS-Lambdaがどう可視化されるかみてみたいとです。

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
0