監視サーバーmakareruに登録されたのに監視が始まらない場合の対処方法
インフラの監視サーバーって、いろいろとありますよね?
オンプレだとZabbixが有名ですが、AWSだとCloud watchですかねー。クラウド上で導入がとてもかんたんな監視サーバーにmackerelがあります。
こちらは、はてなが運営しているサービスです。
メリットとして
・OSにagentを導入すれば監視がすぐに始められる
・不具合があった場合、mackerelからslackに通知が行きます。
と思って、導入してもなかなか監視が始まらないです。
設定を確認してみましょう
- APIキーが間違っているかどうか?
sudo vim /etc/mackerel-agent/mackerel-agent.conf
apikey=XXXXXX 特に間違っていない。
- mackerel-agent configtest
12 | # mackerel-agent configtest/etc/mackerel-agent/mackerel-agent.conf Syntax OK |
シンタックスは問題なし。
- systemctlで起動状況を確認
# systemctl restart mackerel-agent.service # systemctl status mackerel-agent.service● mackerel-agent.service – mackerel.io agent Loaded: loaded (/usr/lib/systemd/system/mackerel-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-05-04 21:01:35 JST; 1s ago Docs: https://mackerel.io/ Process: 20860 ExecStopPost=/bin/sh -c [ “$AUTO_RETIREMENT” == “” ] || [ “$AUTO_RETIREMENT” == “0” ] && true || /usr/bin/mackerel-agent retire -force –root $ROOT $OTHER_OPTS (code=exited, status=0/SUCCESS) Process: 20862 ExecStartPre=/usr/bin/mkdir -m 777 -p $MACKEREL_PLUGIN_WORKDIR (code=exited, status=0/SUCCESS) Main PID: 20865 (mackerel-agent) CGroup: /system.slice/mackerel-agent.service ├─20865 /usr/bin/mackerel-agent supervise –root /var/lib/mackerel-agent └─20875 /usr/bin/mackerel-agent –root /var/lib/mackerel-agent -child May 04 21:01:35 xxxxxxxx-server01 systemd[1]: mackerel-agent.service failed.May 04 21:01:35 xxxxxxxx-server01 systemd[1]: Starting mackerel.io agent…May 04 21:01:35 xxxxxxxx-server01 systemd[1]: Started mackerel.io agent.May 04 21:01:35 xxxxxxxx-server01 mackerel-agent[20865]: 2019/05/04 21:01:35 INFO <main> Starti…omHint: Some lines were ellipsized, use -l to show in full. |
しばらく待つと….
# systemctl status mackerel-agent.service● mackerel-agent.service – mackerel.io agent Loaded: loaded (/usr/lib/systemd/system/mackerel-agent.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sat 2019-05-04 21:01:43 JST; 12min ago Docs: https://mackerel.io/ Process: 20894 ExecStopPost=/bin/sh -c [ “$AUTO_RETIREMENT” == “” ] || [ “$AUTO_RETIREMENT” == “0” ] && true || /usr/bin/mackerel-agent retire -force –root $ROOT $OTHER_OPTS (code=exited, status=0/SUCCESS) Process: 20865 ExecStart=/usr/bin/mackerel-agent supervise –root $ROOT $OTHER_OPTS (code=exited, status=1/FAILURE) Process: 20862 ExecStartPre=/usr/bin/mkdir -m 777 -p $MACKEREL_PLUGIN_WORKDIR (code=exited, status=0/SUCCESS) Main PID: 20865 (code=exited, status=1/FAILURE) May 04 21:01:35 xxxxxxxx-server01 systemd[1]: mackerel-agent.service failed.May 04 21:01:35 xxxxxxxx-server01 systemd[1]: Starting mackerel.io agent…May 04 21:01:35 xxxxxxxx-server01 systemd[1]: Started mackerel.io agent.May 04 21:01:35 xxxxxxxx-server01 mackerel-agent[20865]: 2019/05/04 21:01:35 INFO <main> Starting mackerel-agent version:0.59.2, rev:b15b1c0, apibase:https://api.mackerelio.comMay 04 21:01:43 xxxxxxxx-server01 mackerel-agent[20865]: 2019/05/04 21:01:43 WARNING <command> API error. status: 404, msg: status code is not 200May 04 21:01:43 xxxxxxxx-server01 mackerel-agent[20865]: command.Prepare failed: failed to prepare host: failed to find this host on mackerel (You may want to delete file “/var/lib/mack…e is not 200May 04 21:01:43 xxxxxxxx-server01 mackerel-agent[20865]: exit status 1May 04 21:01:43 xxxxxxxx-server01 systemd[1]: mackerel-agent.service: main process exited, code=exited, status=1/FAILUREMay 04 21:01:43 xxxxxxxx-server01 systemd[1]: Unit mackerel-agent.service entered failed state.May 04 21:01:43 xxxxxxxx-server01 systemd[1]: mackerel-agent.service failed.Hint: Some lines were ellipsized, use -l to show in full. |
You may want to delete file “/var/lib/mack…e is not 200
起動するときにIDを見るらしく、これがあったため昔のIDを見ていたようです。
なので、mackeral-agentフォルダーにあるIDを削除して
rm /var/lib/mackerel-agent/id
再起動
sudo reboot
無事に監視が始まったー。よかったー