MetricFireを利用して、AWSサーバーの監視を簡単に開始する方法

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/92c340ef-b0a0-5569-c1c1-bd2a660a2edc.png)

#はじめに
この記事では、[MetricFire](https://www.metricfire.com/japan/?GAID=2038175526.1567400116&GAID=2038175526.1567400116&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire)の提供する[HostedGraphiteのエージェント](https://www.metricfire.com/docs/the-hosted-graphite-agent/?GAID=GA1.2.1766989850.1596605788&GAID=2038175526.1567400116)とHostedGraphiteの[AWSアドオン](https://www.metricfire.com/docs/aws-cloudwatch/?GAID=2038175526.1567400116)を利用して、メトリクスを[Grafana](https://www.metricfire.com/hosted-grafana/?GAID=2038175526.1567400116)に伝達することにより、Amazon Web Services（AWS）の監視が出来るようにする基本的な設定について説明します。 これにより、AWSでホストされているアプリケーションとサーバーからのメトリックを明確かつ詳細に監視できるようになります。

この記事は、HostedGraphiteアカウントを所持していることを前提としています。 アカウントをまだ作成していない場合は、[MetricFire](https://www.metricfire.com/japan/?GAID=2038175526.1567400116&GAID=2038175526.1567400116&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire)は[無料トライアル](https://www.hostedgraphite.com/signup?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire)も提供していますので、まずはサインアップをしてみてください。

# Amazon Web Servicesとは？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/840121e3-c855-e2bf-193f-ccc466ea2f84.png)

Amazon Web ServicesまたはAWSとは何なのか？ 2002年にリリースされたAWSは、クラウドベースのアプリケーションを構築およびデプロイするための世界で最も人気のあるプラットフォームの1つであり、コンピューティング、ストレージ、分析、管理、ガバナンスなどの無数のサービスを提供します。 [こちら](https://aws.amazon.com/products/)が全てのサービスの完全なリストが紹介されています。 [Canalysによる](https://www.canalys.com/static/press_release/2018/270418-cloud-infrastructure-market-grows-47-q1-2018-despite-underuse.pdf)と、AWSは2018年に世界最大のクラウドインフラストラクチャプロバイダーであり、マーケットシェアの38％を占めており、数年後でもマーケットリーダーであり続けるでしょう。

事実、世界で知られている多くの企業がAWSを利用しています。 そのような会社の1つがNetflixで、Amazonによれば、計算とストレージのニーズのほとんどすべてにAWSを利用しています。 あなたが見ている動画も、ビデオファイルはAWSサーバーでホストされているはずです。

#入門
まず、[Amazon Web Services](https://aws.amazon.com/)にアクセスして、アカウントを作成します。 2020年6月の時点で、AWSはAmazon EC2、Amazon S3、AmazonDynamoDBなどの人気のあるサービスを提供する12か月間の無料利用枠アクセスを提供しています。

ログインすると、このダッシュボードが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/725542eb-776c-0953-cd9f-c2474e7684ff.png)

これは、Amazonが提供するサービスを作成して使用できる管理コンソールです。

#仮想Linuxマシンを作成し、MetricFireのHosted Graphiteで監視する

無料利用枠へのアクセスのために、AmazonはElastic Cloud Computing（EC2）とLightsailの2つの仮想マシンサービスを提供しています。

EC2は、インスタンスと呼ばれる仮想コンピューティング環境を提供することにより、スケーラブルなコンピューティング機能を提供します。インスタンスは、オペレーティングシステム、サーバーの場所、CPU、ストレージ、ネットワーク容量など、さまざまな方法でカスタマイズできます。堅牢なコンピューティング環境を作成したいチームにとっては強力な柔軟性を誇りますが、多くの初心者ユーザーにとっても非常に複雑です。ここで一般的な製品とドキュメントを確認できます。

最適な計算と機能の正確な仕様がわからないユーザーのために、Amazonはよりシンプルな仮想環境であるAmazonLightsailを提供しています。

Amazon Lightsailは、ユーザーにEC2のバージョンを提供しますが、設定とオプションは事前に構成されています。現在、Amazonは、最小の機能を使用している場合、最初の1か月間はインスタンスを無料で使用できるため、この記事ではLightsailを使用します。

まず、AWSのLightsailコンソールに移動し、「Create instance」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/8a3c5321-d7b6-aa4f-a2ec-855811bc9ea4.png)

適切なインスタンスの場所を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/b36b4747-4ffb-d56b-ee4d-4495839d826c.png)

Linuxインスタンスを選択します。 こちらは、個人の選択ですが、今回はUbuntuを使用します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/cd6975d1-f056-ee18-dc86-ca64e8259e67.png)

インスタンスプランを選択します。 この記事ではあまり多くのことをしないので、最も安いオプションである月額$ 3.5を使用して、最初の月は無料にします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/81384802-f408-e586-89d8-36cf62505a22.png)

わかりやすい名前を付けてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/e65d47be-00ad-bf1c-c53f-a254a35f74df.png)

それでは、インスタンスを作成していきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/7601a158-a50c-6798-25df-27a5b30b2158.png)

インスタンスが作成されたら、「Connect」タブをクリックしてサーバーに接続します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/daf81f3f-85f9-dfb7-77fc-e20d10639c8a.png)

インスタンスが起動すると、次のようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/9575b26f-0691-af4a-779c-1137400464a0.png)

インスタンスが接続されたら、Hosted Graphiteエージェントをダウンロードして、このサーバーのメトリックの監視を開始できます。 ご覧のとおり、現在のIPアドレスは172.26.5.67で、HostedGraphiteを介して取得されるメトリックのラベルになります。

Hosted Graphiteドキュメントが示唆しているように、次のように入力します。

```
curl -s https://YOUR-API-KEY@www.hostedgraphite.com/agent/installer/deb/ | sudo sh
```

エージェントをダウンロードすると、メトリックがHostedGraphiteページに流れ始めます。
次に、Hosted Graphiteページに移動し、メトリックツリーをチェックして、メトリックが到着したことを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/02be4b6e-b00e-c0de-d430-3404fda6d85b.png)

ご覧のとおり、新しいubuntuインスタンス（172.26.5.67）のIPアドレスからのメトリックが到着しました。

これで、ダッシュボードに移動して、新しいubuntuインスタンスを監視するためのメトリックを作成できます。 このように見えるはずです：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/e2e9fc11-d132-6df0-ede8-319022253d99.png)

これで、独自のAmazonサーバーの作成を開始し、HostedGraphiteでそれらを監視できます。

#Amazon Cloudwatch vs [MetricFire]([MetricFire](https://www.metricfire.com/japan/?GAID=2038175526.1567400116&GAID=2038175526.1567400116&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire))のHosted Graphite

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/daabcdf1-603f-fe40-6bad-749091db7612.png)

ここで重要なのは、Amazon自体が、Amazonサーバーやその他のAWS製品を監視するために使用できるCloudWatchと呼ばれる独自の監視サービスを提供していることです。

Cloudwatchは、Hosted Graphiteの独自のエージェントが提供するものと同様のシステム診断を提供するため、前述のNetflixなどのAWS製品のみを専門とする企業にとって、CloudWatchを使用する方が簡単で効率的なオプションになる可能性はあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/fc2bbd82-85c4-9148-e939-65bce4a093db.png)

#では、なぜHosted Graphiteを使用する必要があるのか？

あなたが考えていることは推測できます。Amazonが独自のサービスを提供しているのなら、なぜ別のサービスにもっとお金を払う必要があるのでしょうか。

それは、Hosted Graphiteは、さまざまなソースからのメトリックを必要とするユーザーに統合された柔軟な診断を提供するためです。 AWSに部分的に依存している企業や、他の場所でホストされているアプリケーションを所有している企業の場合、Hosted Graphiteはさまざまなアプリケーションメトリックを提供し、ユーザーがWebトラフィック、ユーザーあたりのCPU使用率、インフラストラクチャの負荷など、さまざまなタイプのメトリック間の相関関係を見つけることができるようにします。 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/f412ccbe-c35a-bcae-d25b-a4bbc6f9ef6b.png)

さらに、カスタマイズ可能なダッシュボード、アラート、タグを介して、急速に成長するオペレーションは、増加するメトリックを管理し、システム全体を追跡できます。一方、他の監視サービスは、多くのエンジニアがこれまで経験したように、ますますスケーリングが難しく、煩雑になり、扱いにくくなる可能性があります。

最後に、そして最も重要なこととして、多くの企業にとって、AmazonのCloudwatchは非常に高価になる可能性があります。 メトリックスごとの請求、Cloudwatchの課金は以下を参考にしてください：


- 最初の10,000メトリクスで月額US$0.30
- 次の240,000メトリクスで月額US$0.10
- 次の750,000メトリクスで月額US$0.05
- 1,000,000を超える場合は月額US$0.02

- APIリクエスト：通常、リクエストごとに0.01USドル
- ダッシュボード：各月額US$3.00
- 標準アラート：月額US$0.10

これがどれほど高価かを示すために、例として、約150,000のメトリック、100の標準アラート、および200のダッシュボードを使用する大企業の場合を仮定して、料金を出してみます。毎月、メトリックに約17,000ドル、アラートに10ドル、ダッシュボードに600ドル、合計で毎月17,610USドルかかります。年換算にすると**US$223,320**になります！これは、ログストレージ、APIリクエスト、イベント、高解像度のアラームも考慮していません。 [CloudWatchの詳細な価格はこちら]((https://aws.amazon.com/cloudwatch/pricing/))で確認で、チェックしてみてください。

比較のために、MetricFireのHosted Graphiteは、上記と同じ例で**月額US$3,849**しか請求しません。数学のスキルが高い人は、Hosted Graphiteがそのような例のCloudWatchとは対照的に、ほぼ**80％の節約**を提供することがお分かりいただけたと思います。 HostedGraphiteの価格は[こちら](https://www.metricfire.com/pricing)で確認できます。

全体として、AWSはEC2、Lightsail、その他のサービスを通じて優れた柔軟性とスケーラビリティを提供しますが、それらのモニタリングサービスには多くの要望が残されている可能性があります。コスト効率を最大化するために企業を相乗効果させるための実行可能なソリューションは、実際のモニタリングをHosted Graphiteやその他のサービスに任せながら、AWSの多くのサービスとサーバーを利用することです。

[MetricFire]([MetricFire](https://www.metricfire.com/japan/?GAID=2038175526.1567400116&GAID=2038175526.1567400116&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire))のHostedGraphiteの機能に興味がある場合は、ここをクリックして2週間の[無料トライアル](https://www.hostedgraphite.com/signup?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire)を利用してみてください。また、[無料のデモを予約](https://www.metricfire.com/demo-japan/?GAID=2038175526.1567400116&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=How%20to%20monitor%20your%20AWS%20servers%20via%20MetricFire)して、このサービスの使用が適切かどうかを判断してください。