LoginSignup
1
1

More than 5 years have passed since last update.

IDCFのテンプレートから作成した仮想マシンがmackerelで二重Hostsされた話

Last updated at Posted at 2015-12-11

諸々のインストールを済ませ、テンプレートを作成した後に起こったお話。

テンプレートをベースに仮想マシンを2台立ち上げました。
それぞれ、追加の設定などを終わらせて、agentを起動させたのです。

sh
$ chkconfig mackerel-agent on
$ service mackerel-agent start
$ Starting mackerel-agent:                                   [  OK  ]

うん、正常に起動しました!

mackerelの管理画面からHostsを確認すると、確かにリストされています。
同様の手順で2台目以降も設定し、mackerel-agentを起動します。

が、しかし working 状態のホストが1台しか見当たりません。

これはどうしたことだと調査を始めて、まず設定ファイルを見なおしてみます。

/etc/mackerel-agent/mackerel-agent.conf
# root = "/var/lib/mackerel-agent"

なにかありました。

mackerelでは基本的にapikey以外接続情報を書くことがないので、ホストの判定をここでやってるんだろうなとアタリをつけて ls してみるとなにやら怪しいファイルが。

sh
$ ls /var/lib/mackerel-agent
id

$ cat /var/lib/mackerel-agent/id
(英数字の文字列)

そこで該当ファイルをググってみたところ、 mackerel-agent仕様 で見つけた以下の記述です。

エージェントはどうやってホストを判別していますか?
/var/lib/mackerel-agent/id にホストIDが保存されており、このIDでどのホストか判別します。ホスト名は判別に利用されません。(設定ファイルは起動オプションでrootを変更している場合、そのroot以下にidファイルが作成されます。)

エージェントが起動しません
/var/lib/mackerel-agent/id に正しくないIDが保存されている場合、正しく起動しません。/var/lib/mackerel-agent/id を削除してから起動してみてください。(新規ホストとして認識されます)(設定ファイルは起動オプションでrootを変更している場合、そのroot以下にidファイルが作成されます。)

試しに削除してみました。

sh
$ service mackerel-agent stop
mackerel-agent を停止中:                                   [  OK  ]

$ rm /var/lib/mackerel-agent/id

$ service mackerel-agent start
$ Starting mackerel-agent:                                   [  OK  ]

$ ls /var/lib/mackerel-agent
id

# 自動的に新規作成されている!!

この状態でmackerelの監視を確認すると、2台目のホストが登録されており、正常にデータ取得できるようになっていました。
テンプレートを作成する際はmackerel-agentを含めないか、このあたりの情報を予め削除してから作成するのがベストですね。

めでたしめでたし。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1