New Relicの基礎をProgateで学ぼう！（Infrastructure編）

Progateで、New Relic公認学習コンテンツが新規公開されました！インフラの導入だけでなくCloudWatch 連携も試すことができ、ログ転送設定も含め複数の設定をまとめて簡単に出来るようになっています！

どんなコンテンツか見てみましょう！！

https://app.path.progate.com/tasks/FTsRvzT1YfdppUkWY_Gm_/preview

# 学習コンテンツについて
## 内容について
第3弾コンテンツでは、サンプルのSNSアプリケーションをAWSのEC2上にデプロイ後、New RelicのInfrastructure エージェントやAWS CloudWatch 連携を設定して、インフラ監視を体験できるコンテンツになっています。

セットアップはCloudFormationを利用して簡単に出来るようになっています。

## AWS CloudWatch 連携について
New RelicとCloudwatchの連携は、CloudWatch Metric Streams もしくは API Polling の 2 種類の連携方法を選択できますが、今回はデータ取り込みの遅延が少ないのと、すべてのAWSリソースのCloudWatchのメトリクスを取り込むことができ、New Relicが推奨する連携方式であるCloudWatch Metric Streams 連携の設定を体験いただくコンテンツになっています。

また、1つのCloudFormationテンプレートを使用して、CloudWatchだけでなくS3やCloudWatch Logsの転送設定を同時に数分でセットアップできます。 詳細は以下のドキュメントをご確認ください。

https://qiita.com/nr-mito/items/c4e528840294ef9e3a6b

## コンテンツ受講の前提条件
コンテンツを受講するための前提条件について紹介です。

### Progateのアカウント
Progateのアカウントを無料作成する必要があります。
GoogleやApple IDなどソーシャルログインにも対応しています。

https://prog-8.com/account/sign_up

### New Relicのアカウント
New Relicのアカウントの作成も必要です。
New Relicは利用ユーザー数と転送データ量がライセンスの構成要素ですが、なんと全機能使い放題のユーザー1名と100GBのデータ転送が無料で利用できます。登録フォームへの入力だけですぐに使えるのですぐに登録できますよ。

https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa

### AWSアカウント
コンテンツ内でAWSのEC2の作成やCloudWatch Metric Streamsのセットアップがあるため、AWSアカウントの作成も必要になります。

https://aws.amazon.com/jp/free/?gclid=EAIaIQobChMItPmzluriigMVqQ57Bx0lAicaEAAYASAAEgIDa_D_BwE&trk=58ef6015-6519-450b-96ea-258378c321895&sc_channel=ps&ef_id=EAIaIQobChMItPmzluriigMVqQ57Bx0lAicaEAAYASAAEgIDa_D_BwE:G:s&s_kwcid=AL!4422!3!618145042463!p!!g!!amazon%20web%20services!18137558856!140477907517&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all

### その他利用するツール
コンテンツを受講する端末に以下のツールのセットアップが必要になります。
各ツールのセットアップ方法はProgateのタスク内でご確認いただけます。

- Progate CLI
- Node.js 22.12.0 以降
- Puppeteer

# どんなコンテンツか見てみよう！
学習コンテンツを通して体験して欲しいため、本記事では概要レベルでコンテンツの内容を紹介します。

## 環境セットアップ
最初にProgate CLIを使って、Progateが用意している学習用のコード一式を端末にダウンロードする形になっています。

```bash:コマンド実行例
progate download ***** --project-dir infrastructure_monitoring --name new_relic_app
```

infrastructure_monitoringというディレクトリが作成され、ディレクトリ内にセットアップで使用するコード一式がダウンロードされます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/3de976b9-ad31-46a7-87a6-5f0d856d8a1a.png" width="50%">

EC2とSNSアプリケーションはCloudFormationで簡単にセットアップできるようになっています。
```bash:コマンド実行例
aws cloudformation deploy --stack-name new-relic-app --template-file ./cloudformation/new_relic_app.yml --profile <AWSプロファイル名>
```
EC2起動後、「http:// EC2 の IPアドレス :3000」にブラウザでアクセスし、SNSアプリケーションにアクセスできることを確認します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/a35736fa-91a0-f1b6-4903-09f97333946f.png" width="50%">

## Infrastructure エージェントをセットアップ
続いて、起動したEC2にNew Relic Infrastracture  エージェントをインストールする流れを体験します。

New Relic Infrastructureは、Goで作られた軽量の実行ファイルであるInfrastructure エージェントをサーバサイドで稼働させることで、定期的にOS、ミドルウェア、ネットワークなどのパフォーマンス情報ログや OSのパッケージ情報を収集する機能です。主要なLinux ディストリビューション、Windows、MacOSなどのメジャーなOSに対応しており、DockerコンテナやAWS FargateやAmazon EKSなどコンテナ環境にも対応しています。

セットアップは大変簡単で、New Relic UI上でセットアップのガイドを受けながら数分でインストールして、すぐにインフラ監視を開始することができます。

今回の環境はAmazon Linux 2023のため、Linuxのエージェントをインストールします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/92eab42c-0180-41a6-8339-a7cddee40ede.png" width="60%">

エージェントをインストールするためのコマンドがNew Relic UI上で生成されますので、コピーしてAWSのコンソールから「EC2 Instance Connect」を使ってEC2にログインして、実行してインストールします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/2afbd82e-766b-4b50-a2e7-21144ee3dae2.png" width="90%">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/93ba75a4-15e2-4ccd-86c0-9f658e9125ab.png" width="70%">
インストール後に、エージェントが収集した各種データをNew Relic UI上で確認していく流れになっています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/e1e8d7e7-aba4-455b-862e-7a363edb19f6.png" width="90%">

## AWS CloudWatch 連携のセットアップ
続いて、AWS CloudWatch 連携のセットアップ方法をコンテンツ内でガイドを受けながら体験していく流れになっています。ここから先は実際にコンテンツで体験いただきたいため、詳細の説明は割愛させていただきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3485441/a770a6a6-146c-43d0-aa0a-77ed1e7414c6.png)


# まとめ
本記事では、オンライン学習サービスのProgateで公開されているNew Relic公認の学習コンテンツ [New Relic でインフラを監視してみよう](https://app.path.progate.com/tasks/FTsRvzT1YfdppUkWY_Gm_/preview)の学習を通して、New Relic Infrastructure とAWS CloudWatch 連携の設定方法を学ぶことができることを紹介しました。是非、お試しください！！

# その他のProgate New Relic タスク
https://qiita.com/nr-mito/items/6ec377dc32eb9487f563

https://qiita.com/nr-mito/items/868fd66746b28007095c

# その他
New Relicでは、**新しい機能やその活用方法**について、QiitaやXで発信しています！
**無料でアカウント作成**も可能なのでぜひお試しください！

:::note info
New Relic株式会社の[X(旧Twitter)](https://x.com/NewRelicJapan) や [Qiita OrganizationOrganization](https://qiita.com/organizations/newrelic)では、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
:::

:::note info
無料のアカウントで試してみよう！
[New Relic フリープランで始めるオブザーバビリティ！](https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa)
:::