CloudWatchへのメモリ利用メトリクスを送信する
4129 ワード
EC 2インスタンスから余分なメトリックを収集し、CloudWatchに送信する2つの方法をレビューします.最初の手順は、迅速なN汚い方法です.つ目はCloudWatchエージェントとエージェントの設定を使用したAWS優先の方法です.
このアドバイスは、準備ができていないだけであなたの足を濡らすために.
クイック'ダーティ
これはUbuntuのセットアップですが、ほとんどすべてRHelベースに転送する必要があります.cronジョブはフリーメモリをチェックするスクリプトを実行するスクリプトを実行することです.追加の変数を生成することで拡張できます. CloudWatchのパーミッションを使用してロールを設定し、インスタンスにアタッチします. をインストール
スクリプトは、
cronジョブを作成する
好ましい方法
AWSは、デーモンとして実行し、あなたのためのメトリクスを発行するCloudWatchエージェント、ツールを発行します.これは、構成ファイルだけでなく、システムの足場を必要とします.あなたがSSMを通してインストールするならば、systemdファイルは自由に来て、わずかな調整を必要とするだけです. IAMインスタンスロール ウォッチウォッチ許可 EC 2 :記述 Install Cloudwatch Agent (prefer SSM) 集合をインストールする CloudWatchエージェントの設定ファイルを設定します.example . 私のファイルを サービス開始 手動で 別の場合は、ユニットファイルを更新することができます ありがとう
私を助けるために
このアドバイスは、準備ができていないだけであなたの足を濡らすために.
クイック'ダーティ
これはUbuntuのセットアップですが、ほとんどすべてRHelベースに転送する必要があります.cronジョブはフリーメモリをチェックするスクリプトを実行するスクリプトを実行することです.追加の変数を生成することで拡張できます.
put-metric-data
呼び出し.スクリプトは、
~/mem.sh
テストのために.使用しているので、トークンを取得し、注入するIMDSv2 to protect against SSRF .#!/usr/bin/env bash
readonly TOKEN=$(curl -X PUT -H "X-aws-ec2-metadata-token-ttl-seconds: 30" "http://169.254.169.254/latest/api/token")
USEDMEMORY=$(free -m | awk 'NR==2{printf "%.2f\t", ($3/$2)*100 }')
INSTANCE_ID=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-id)
REGION=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/dynamic/instance-identity/document | grep '\"region\"' | cut -d\" -f4)
aws cloudwatch put-metric-data --metric-name memory-usage --dimensions Instance=$INSTANCE_ID --namespace "Custom" --value $USEDMEMORY --region $REGION
echo '*/5 * * * * ubuntu /home/ubuntu/mem.sh' | sudo tee /etc/cron.d/cw_mem
好ましい方法
AWSは、デーモンとして実行し、あなたのためのメトリクスを発行するCloudWatchエージェント、ツールを発行します.これは、構成ファイルだけでなく、システムの足場を必要とします.あなたがSSMを通してインストールするならば、systemdファイルは自由に来て、わずかな調整を必要とするだけです.
sudo apt-get update && sudo apt-get install collectd
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a start -c /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
/etc/systemd/system/amazon-cloudwatch-agent.service
私を助けるために
curl
私が強制することができて、IMDSV 2に従うように、呼び出しますReference
この問題について(CloudWatchへのメモリ利用メトリクスを送信する), 我々は、より多くの情報をここで見つけました https://dev.to/drewmullen/send-memory-utilization-metrics-to-cloudwatch-5g28テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol