前談
自分でテストサイトとかを立てる用途で持っているVPSが、大したことしてないはずなのに、けっこうカジュアルに落ちがちだったので、監視を付けないとやべーぜということになった。
サーバーの監視ツールについてはぜんぜん知識がなかったので、周りのひとに聞いたりいろいろした末に、Mackerelさんに目をつけました。
導入方法
基本的にchefに乗っけて管理しているサーバーなので、chefおよびBerksfileの作業で導入を片付けたいですね。
その際の手引は、公式が用意してくれてます。
ので本記事も、基本的にはこの手引をなぞっているだけです。
アカウント登録
- https://mackerel.io/ からサインアップして、host登録して、API Key追加して、という感じで。
- github連携があるサービスはよいですね。
- host名登録するので、ここまででなんとなくできた感してしまいますが、まだMackerel側で受け皿を作ってくれただけなので、サーバー側に mackerel-agentをインストールしないと何も始まりません。
インストール
自分の場合、3つほどファイルを編集すれば完了でした。
Berksfile
以下を追記して、公式が用意してくれているcookbookへの依存を追加します。
cookbook 'mackerel-agent', tag: 'v1.1.0'
recipe
サービス周りのセットアップに使っているrecipeに1行だけ追加。
include_recipe 'mackerel-agent'
include_recipe 'mackerel-agent::plugins'
も追加してくれーと書いてありましたが、いきなりpluginもなにもないと思うのでいったん放置。
attribute
お行儀良いかはあんまりわかってないですが、nodeの設定に追加。
{
"mackerel-agent": {
"package-action": "upgrade",
"conf": {
"apiKey": "xxxxxxxxxxxxx"
}
}
}
package-actionは、デフォルトでupgrade入れてくれてるっぽい気配がしたんですが、どうもその部分がうまく動かなかったので、手動追加。
API Keyは、先ほどのアカウント登録時につくったものをコピペです。
cook
以上の記述を完了して、お好みの手段でcookすれば、インストールが走るはず。
起動
インストールしただけでは、監視は開始されません。mackerel-agentを実際に起動するとこまでやらねばです。
こちらも好みあると思いますが、自分は手動でinit.d実行。(chefのserviceでいいんじゃないかと書きながら気づいた)
sudo /etc/init.d/mackerel-agent start
まとめ
監視を始めたら、いきなりMemoryが80%を越えてたことに気づいたりして、がたがたふるえています。