実現したいこと
- CloudWatchのダッシュボード画面で、現在稼働中のEC2インスタンスのディスク使用率(
disk_used_percent
)のグラフを表示したい
前提
複数のEC2インスタンスを同時に稼働させています。
全てのインスタンスにcloudwatch-agentをインストールしています。全て、amazon-cloudwatch-agent-config-wizard
を用いて、ログ設定以外すべての設定をデフォルトのまま設定しました(念のためconfig.json
の内容も追記します)
しかしCloudWatchのダッシュポートで実際に表示されるグラフは、見た目が明らかにおかしく、また数値も実際のディスク使用率と大きくかけ離れているようです。
発生している問題・エラーメッセージ
御存知の通り、サーバーはjournalctl
などでログが蓄積していくはずなのですが、グラフではディスク使用量の漸増は見られません。一定のグラフに鳴るだけです。
サンプル数も確認しましたが、他のメトリクスでは5
が標準になっているのに対し、こちらは75
が標準になっています。
また、mem_used_percent
も同時にグラフとして表示していますが、そちらの値はfree
コマンドの結果とほぼ似ており正常であると考えます。
これは1台分のデータですが、これも含めて3台分のEC2インスタンスで同様の症状が発生しています。それぞれdisk_used_percent
の値は微妙に異なりますが、いずれも55
~59
の範囲内におさまり続けています。
(追記)グラフでは50%を越えた程度になっていますが、実際の使用率は以下のとおりです。
ubuntu@ip-******:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 2.9G 4.8G 38% / tmpfs 926M 0 926M 0% /dev/shm tmpfs 371M 992K 370M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/nvme0n1p15 98M 6.3M 92M 7% /boot/efi tmpfs 186M 4.0K 186M 1% /run/user/1000
該当のソースコード
{ "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "", "log_group_name": ".", "log_stream_name": "{instance_id}", "retention_in_days": -1 } ] } } }, "metrics": { "aggregation_dimensions": [ [ "InstanceId" ] ], "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}", "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}" }, "metrics_collected": { "collectd": { "metrics_aggregation_interval": 60 }, "disk": { "measurement": [ "used_percent" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "mem": { "measurement": [ "mem_used_percent" ], "metrics_collection_interval": 60 }, "statsd": { "metrics_aggregation_interval": 60, "metrics_collection_interval": 10, "service_address": ":8125" } } } }
以下にtoml
ファイルを示しますが、i-**********
となっている部分は、当該インスタンスのIDと一致していることを確認済です。
[agent] collection_jitter = "0s" debug = false flush_interval = "1s" flush_jitter = "0s" hostname = "" interval = "60s" logfile = "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" logtarget = "lumberjack" metric_batch_size = 1000 metric_buffer_limit = 10000 omit_hostname = false precision = "" quiet = false round_interval = false [inputs] [[inputs.disk]] fieldpass = ["used_percent"] interval = "60s" tagexclude = ["mode"] [inputs.disk.tags] metricPath = "metrics" [[inputs.logfile]] destination = "cloudwatchlogs" file_state_folder = "/opt/aws/amazon-cloudwatch-agent/logs/state" [[inputs.logfile.file_config]] file_path = "" from_beginning = true log_group_name = "." log_stream_name = "i-**********" pipe = false retention_in_days = -1 [inputs.logfile.tags] metricPath = "logs" [[inputs.mem]] fieldpass = ["used_percent"] interval = "60s" [inputs.mem.tags] metricPath = "metrics" [[inputs.socket_listener]] collectd_auth_file = "/etc/collectd/auth_file" collectd_security_level = "encrypt" collectd_typesdb = ["/usr/share/collectd/types.db"] data_format = "collectd" name_prefix = "collectd_" service_address = "udp://127.0.0.1:25826" [inputs.socket_listener.tags] "aws:AggregationInterval" = "60s" metricPath = "metrics" [[inputs.statsd]] interval = "10s" parse_data_dog_tags = true service_address = ":8125" [inputs.statsd.tags] "aws:AggregationInterval" = "60s" metricPath = "metrics" [outputs] [[outputs.cloudwatch]] force_flush_interval = "60s" namespace = "CWAgent" region = "ap-northeast-1" rollup_dimensions = [["InstanceId"]] tagexclude = ["host", "metricPath"] [outputs.cloudwatch.tagpass] metricPath = ["metrics"] [[outputs.cloudwatchlogs]] force_flush_interval = "5s" log_stream_name = "i-**********" region = "ap-northeast-1" tagexclude = ["metricPath"] [outputs.cloudwatchlogs.tagpass] metricPath = ["logs"] [processors] [[processors.ec2tagger]] ec2_instance_tag_keys = ["aws:autoscaling:groupName"] ec2_metadata_tags = ["ImageId", "InstanceId", "InstanceType"] refresh_interval_seconds = "0s" [processors.ec2tagger.tagpass] metricPath = ["metrics"]
試したこと
3台あるうちの1台において、amazon-cloudwatch-agent
の再起動、ウィザード設定の再実施を行いましたが、状況は改善されませんでした。
補足情報(FW/ツールのバージョンなど)
インスタンスタイプはARM版のものを使用しています。2台はt4g
系(t4g.mediun
、t4g.small
)、1台はc6g
系(c6g.medium
)になります。
インスタンスのOSはすべてUbuntu 22.04です。amazon-cloudwatch-agent
のインストールは、以下のサイトを読んで行いました。
ダウンロードリンクはhttps://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
を使用しています。

回答1件
あなたの回答
tips
プレビュー