2018年7月29日日曜日

Mackerel で snap のループデバイス /dev/loop の filesystem Usage 100% を 無視する

TL;DR

mackerel-agent.conf に以下を追記

[filesystems]
ignore = "/dev/loop.*"

何か起きたか

新しいAMIからEC2を起動したらsnap でインストールされたサービスを起動すると、
空き容量には余裕があるにもかかわらず、 disk Usage 100% のアラートが発報される。

何が問題だったか

謎のデバイス /dev/loop0/dev/loop1 が増えており、かつ、それらのディスク使用率が 100% になっていた。

何ものかと調べたところ、どうやら Snappy のものらしい。

snap がデーモンを起こす際 /dev/loop[0-9]+ な命名の ループデバイスを Read Only でマウントするようで、
このデバイスの見かけ上の Usage が 100% なためdisk full アラートが発報されているようだ

解決策

mackerel-agent.conf に以下を追記。

[filesystems]
ignore = "/dev/loop.*"

これで snap がマウントするループデバイスの監視を無視することができる。

備考

なお今回の事の発端は、突然 Ubuntu 16.04 ( と Ubuntu 18.04 ) の
最新 AMI に ssm-agent がプリインストールされるようになった
こと。
この ssm-agent が snap でインストールされている。