TL;DR
stackdriver-agent
の collectd
が
write_gcm: can not take infinite value
write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing.
とか言ってたら、以下のように編集して、
vim /etc/stackdriver/collectd.conf
-LoadPlugin swap
-<Plugin "swap">
- ValuesPercentage true
-</Plugin>
+#LoadPlugin swap
+#<Plugin "swap">
+# ValuesPercentage true
+#</Plugin>
stackdriver-agent
を再起動しましょう。
service stackdriver-agent restart
何か起きたか
GCE 仮想マシンに Stackdriver Agent をインストールして動かし始めたら、以下なエラーが出ていた。
$ journalctl -u stackdriver-agent.service
...略...
May 29 05:34:55 myhost collectd[10338]: write_gcm: can not take infinite value
May 29 05:34:55 myhost collectd[10338]: write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing.
May 29 05:34:55 myhost collectd[10338]: write_gcm: can not take infinite value
May 29 05:34:55 myhost collectd[10338]: write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing.
May 29 05:34:55 myhost collectd[10338]: write_gcm: can not take infinite value
May 29 05:34:55 myhost collectd[10338]: write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing.
何が問題だったか
ログを見る限り、 OS に Swap 領域が存在しないにもかかわらず、
$ free
total used free shared buff/cache available
Mem: 7493724 3432032 1684776 360984 2376916 3396824
Swap: 0 0 0
Swap 領域の使用率のメトリクスを計算しようとして、ゼロ除算してるっぽい。
解決策 or 回避策
Swap 領域のモニタリングをしないようにした。
stackdriver-agent
が利用する collectd
の設定ファイルは以下にある。
vim /etc/stackdriver/collectd.conf
これを、以下のように編集し、
-LoadPlugin swap
-<Plugin "swap">
- ValuesPercentage true
-</Plugin>
+#LoadPlugin swap
+#<Plugin "swap">
+# ValuesPercentage true
+#</Plugin>
stackdriver-agent
を再起動した。
service stackdriver-agent restart
出なくなった。
完。