4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【AWS+Rails5+mackerel】AMIを使って複製したサーバがmackerelのダッシュボードに表示されない時の対処方法

Last updated at Posted at 2017-12-26

やりたいこと

  • ALBに紐づけているWEB-APPサーバ1号機のAMIを取得して、2号機を立てたい
    • 1号機はmackerelエージェントをインストール済み
  • 2号機にもmackerelエージェントをインストールしたい

環境

  • AWS
  • Ubuntu 16.04
  • Rails5.1
  • Nginx
  • Unicorn

発生した事象

AMIから複製したサーバ2号機に、mackerelエージェントをインストールしてもダッシュボードに表示されない。
公式ページの手順に従い、以下のコマンドを実施。

wget -q -O - https://mackerel.io/file/script/setup-all-apt-v2.sh | MACKEREL_APIKEY='YOUR_APIKEY' sh

詳細

サーバ2号機のmackerelエージェントの起動ログを確認。

$ sudo journalctl -u mackerel-agent.service

以下のエラーが発生しており、mackerelエージェントが起動していない。

Dec 26 15:02:29 ip-10-100-4-182 systemd[1]: Starting mackerel.io agent...
Dec 26 15:02:29 ip-10-100-4-182 systemd[1]: Started mackerel.io agent.
Dec 26 15:02:29 ip-10-100-4-182 mackerel-agent[31438]: 2017/12/26 15:02:29 INFO <main> Starting mackerel-agent version:0.48.2, rev:549962c, apibase:https://api.mackerelio.com
Dec 26 15:02:29 ip-10-100-4-182 mackerel-agent[31438]: command.Prepare failed: failed to prepare host: custom identifiers mismatch: this host = "hogehoge.ec2.amazonaws.com", the host whose id is "hogehoge" on mackerel.io =
Dec 26 15:02:29 ip-10-100-4-182 mackerel-agent[31438]: exit status 1
Dec 26 15:02:29 ip-10-100-4-182 systemd[1]: mackerel-agent.service: Main process exited, code=exited, status=1/FAILURE
Dec 26 15:02:29 ip-10-100-4-182 systemd[1]: mackerel-agent.service: Unit entered failed state.
Dec 26 15:02:29 ip-10-100-4-182 systemd[1]: mackerel-agent.service: Failed with result 'exit-code'.

原因

AMIを使用して複製したため。

公式ページFAQにも記載があった。
FAQ・エージェントが起動しない

Docker ImageやAMIなどによりOSイメージ化した際に/var/lib/mackerel-agent/idもコピーしている場合、このファイルを削除する必要があります。
mackerel-agentは初回起動時にサーバーが発行したIDを/var/lib/mackerel-agent/idに保存します。以後はこのファイルに記載されたIDによりホストの識別を行います。
そのため、/var/lib/mackerel-agent/idがコピーされると実際は複数のホストがMackerel上では同一のホストと認識され、メトリックの投稿や監視が正しく動作しなくなります。

対策

  • サーバ2号機の/var/lib/mackerel-agent/idを削除する。
$ sudo rm /var/lib/mackerel-agent/id
  • 設定確認
$ sudo mackerel-agent configtest
sudo: unable to resolve host ip-10-xxx-xxx-xxx
/etc/mackerel-agent/mackerel-agent.conf Syntax OK
  • mackerelエージェント再起動
$ sudo service mackerel-agent restart

確認

mackerelダッシュボードに表示されれば成功です。
AMIでEC2を複製する際にはご注意ください。

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?