【AWS】CloudWatchでカスタムメトリクスを取得する手順。CloudWatch Agentインストール方法

こんにちは。AWS歴3ヶ月の初心者エンジニアです。

 

あっという間に4月・・・早いですね。

みなさま、お花見は行かれましたか?

 

弊社ギークフィードの裏手にある小さな小さな公園では、1本の大きな桜がきれいに咲いていました。

 

20190403_sakura_Shinokachimachi

ギークフィード本社裏にある公園

 

 

AWSドキュメントは専門用語が多く、初心者が読むのは大変ですね。

 

さて、現在AWSのCloudWatchで、CPU UtilizationやStatusCheckFailedなどのアラームを設定し、

対象のEC2インスタンスなどの状態が変化したときにメール通知(AutoScalingもできるようですね)が来るようにしています。

 

さらに詳細なメトリクスを取得するには、CloudWatchエージェントのインストールが必要とのことでしたので、この記事では

 

  • AWS CloudWatchでメトリクスを取得する手順

 

を、解説していきます。
特に、CloudWatch エージェントのインストール方法を詳しく説明しようと思います。

(参考: CloudWatch エージェントを最初のインスタンスにインストール

 

1.バージョン、インストール確認

まずはサポートされているOSを確認。

 

CloudWatch エージェントは、以下のオペレーティングシステムでサポートされています。

 

  • Amazon Linuxバージョン 2014.03.02 以降
  • Amazon Linux 2
  • Ubuntu Server バージョン 18.04、16.04 および 14.04
  • CentOS バージョン 7.0 および 6.5
  • Red Hat Enterprise Linux (RHEL) バージョン 7.5、7.4、7.0、6.5
  • Debian 8.0
  • SUSE Linux Enterprise Server (SLES) 12 以降
  • 64 ビットバージョンの Windows Server 2016、Windows Server 2012、Windows Server 2008

(→AWSドキュメントで確認)

 

この条件を満たしているか、以下コマンドで確認しました。

 

 

結果は
NAME=”Amazon Linux”
VERSION=”2.0 (以下省略)

 

大丈夫そうですね。

そして、SSM Agentはデフォルトでインストールされているはず( AWSドキュメントへ )ですが、念のため確認。

 

amazon-ssm-agent (以下省略)

 

があったらOK。

 

稼働しているかどうかの確認。

 

 

amazon-ssm-agent.serviceがありました。

 

これで条件はOKだったので次の手順へ。

2.インスタンスにIAMを割り当て

対象のインスタンスにIAMを割り当てたいので、まずはIAM作成から行います。

IAMの画面に移動し、左側メニューからロールを選択後、青いボタン「ロールの作成」をクリック。

 

AWS_IAM_create_image1

 

 

以下2つのポリシーをアタッチしてIAMロール作成。

・AmazonSSMFullAccess
・AmazonEC2ReadOnlyAccess

 

AWS_IAM_policy_for_CloudWachAgent

 

IAMロールが作成出来たら、EC2メニューに移動し、左側メニューから「インスタンス」をクリック。

 

対象のEC2インスタンスを選択し、アクションプルダウンメニューからインスタンスの設定→IAMロールの割り当て/置換を選択。

 

先ほど作成したIAMロールをプルダウンメニューから選択して、適用をクリックします。

 

AWS_EC2_add_IAMroll

 

IAMロールで権限を割り当てたので、次の手順へ。

 

3.AWS System ManagerでAWS-ConfigureAWSPackageをインストール

System Managerメニューに移動し、左側メニューからランコマンドをクリック。右側のオレンジボタン「コマンドを実行」をクリックします。

 

AWS_SystemManager_1_runcommand

 

 

  1. コマンドのドキュメント→ AWS-ConfigureAWSPackageを選択
  2. コマンドのパラメータ↓
    Action:Install
    Name:AmazonCloudWatchAgent
    Version:latest
  3. ターゲット→対象のインスタンスを選択する(IAMロールが正しく割り当てられているインスタンスが表示されているはずです)
  4. 画面下の方までいって、「実行」ボタンをクリック

 

 

AWS_SystemManager_setting_for_cloudwatchagent

AWS_SystemManager_runcommand_for_cloudwatchagent

 

しばらくすると「成功」と表示されます。

 

これでインストールは完了!次はセッティングです。

4.インストールされたエージェントの設定

コマンドで、クラウドウォッチエージェントの設定ウィザードを立ち上げます。

 

 

cloudwatch_agent_commandline

 

上記のようなイメージで、画面に質問と選択肢が表示されていきますので、どんどん答えていきます。

 

※今回のカスタムメトリクスを取る為の質問はこれです。

Which default metrics config do you want?


1.Basic
2.Standard
3.Advanced
4.None

ここで3. Advancedを選びましょう。

 

Which AWS credential should be used to send json config to parameter store?

 

ここでは1を指定して表示されている、既にある「credential」を選んでもよかったのですが、今回は「AWS上のユーザーを追加」から新規作成しました。

2.Other を選択した後、AWS Access KeyとSecret Keyを聞かれたので、設定時の該当テキストを入力します。

 

こちらで設定も完了しました。

 

5.CloudWatchエージェント起動と確認。AWSの画面でもカスタムメトリクスがとれる事を確認!

開始用コマンドを入力(AWSドキュメントに書いてあったコマンドです)

 

 

ssm:の後のテキストは、ステップ4の設定時に

What paramater store name do you want to use to store your config?

と聞かれたときに設定したテキスト名を入力します。

 

後ほどページ下部にキャプチャ貼って説明加えますが、こちらはAWS上のパラメータストアに保存されているのが確認できます。

 

ステータス確認

 

自動起動の設定

 

こちらのステップで起動を確認したので、AWS上でカスタムメトリックスがとれるか確認します。

 

AWS画面でCloudWatchメニューに移動し、左側メニューからアラームを選択します。

 

青いボタン「アラームの作成」をクリック。

 

AWS_CloudWatch_1_create_alarm

 

メトリックスの選択」をクリック。

 

AWS_CloudWatch_2_metrics_choice

 

CWAgentが選べるようになっています

 

AWS_CloudWatch_3_CWAgent_can_choose

 

mem_used_percentなど、カスタムな値でもアラームが設置可能になりました。

 

AWS_CloudWatch_4_CWAgent_chice

※ステップ4で設定したCloudWatch Agent の設定は、パラメータストアに保存されています。

 

他のインスタンスにこのパラメータ設定を適用すれば、ステップ4がいらなくなりますね。

 

System Managerに入り、左側メニュの一番下に行くと、パラメータストアがあり、クリックする保存した設定が確認できます。

 

SystemManager_paramater_store

 

6:カスタムメトリクス取得手順・CloudWatch Agentインストール方法まとめ

以上でAWSのCloudWatchでカスタムメトリクスを取る事が出来ました!

 

まとめると、アドバンスのメトリクス値を取るには

 

  1. バージョン確認
  2. IAMロールで権限付与
  3. CloudWatch Agentをインストール・起動

 

という手順で行いましょう。

 

社内の方にアドバイスを頂きながら、エンジニア初心者でも何とかカスタムメトリクスを取得できました。

 

 

私はまだまだ勉強中ですが、ギークフィードにはAWSに詳しい者がおりますので何なりとご相談くださいませ!

 

ギークフィードはアマゾン ウェブ サービス(以下AWS)が提供するパートナー制度、

AWS Partner Network(以下APN)のスタンダードテクノロジーパートナーに認定されております。

 

APN スタンダードテクノロジーパートナーに認定されました

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
サイト管理者
サイト管理者
株式会社ギークフィードのサイト編集担当者です。 弊社へのお問い合わせ・質問は、お問い合わせページからお願いいたします。
サイト管理者
サイト管理者 (全て見る)

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ