サーバ監視ツールは世の中に色々あるけど国産(はてな作)ということもありMackerelが人気ですね。
ドキュメントもわかりやすいしサポートも親切だし、インフラエンジニアじゃなくても簡単に扱えるとあってこれは久々にヒットだなーと思います。
一昔前はNagios,Zabbixが主流だったかと(Amebaでも使ってたし)、今だとDataDogが対抗馬なんですかね?どっちも無料では5サーバまでOKでログも1日しか保存しないというところですがお好みの方を選択するといいのかなと。
ちなみに課金したときの金額はMackerelの方が安めです。
ということで、当方がGCPのサーバインスタンスにインストールしたときの手順等をまとめておきます。
ちなみにうまくいくとMackerelの画面がこんな風にわかりやすい感じになります。
ミッション
- WebサーバとDBサーバの死活監視を行う
- 何か発生都度Slackに投稿する
Mackerelにサインアップ
https://mackerel.io/
からサインアップしてダッシュボードを開く
MySQLサーバのホストIP、user、パスワードを取得
Mackerelエージェントのインストール
api keyはMackerelのDashboardのoverviewの詳細から取得可能。
当該サーバにsshでログインしてsudo権限で以下をコールする。
curl -fsSL https://mackerel.io/file/script/setup-all-yum.sh | MACKEREL_APIKEY='(api key)' sh
Mackerelプラグインのインストール
以下は当該サーバにログインしてsudo権限で実行する。
yumのアップデート
これしていないとMackerelプラグイン入れる時に見つかんなくてエラーになることがあるので必須です。
sudo yum clean all
sudo yum update
yumでプラグインインストール
sudo yum install mackerel-check-plugins
mackerel-agent.confの設定
/etc/mackerel-agent/mackerel-agent.conf を以下のように設定。
api keyはMackerelのDashboardのoverviewの詳細から取得可能。
ちなみにconfはエージェントを上げ直ししないと読み込まないので注意すること(起動と停止は以下から)。
apikey = "(api key)"
[plugin.checks.check_httpd]
command = "check-procs --pattern httpd"
[plugin.checks.mysql_connection]
command = "check-mysql connection --host=(db server ip) --port=3306 --user=(user) --password=(db password) --warning=250 -- critical=280"
mackerel-agentの起動と停止
サーバにログインしてsudo権限で以下を実行
起動
sudo /etc/init.d/mackerel-agent start
停止
sudo /etc/init.d/mackerel-agent stop
再起動
sudo /etc/init.d/mackerel-agent restart
Slack設定
SlackのManage appsからIncoming Webhookを選択。以下情報を取得。
投稿したいチャネルも設定すること。
チャンネルページのSlackフォーム( https://mackerel.io/my/channels?new=slack )から上記のwebhookのURLを設定。
以上です。
Mackerelのエージェントとプラグインで色々設定できそうです。
ちなみにMackerelは有償版にすると外形監視といってURLの監視とかもできるみたいだから課金してもいいかもです。ではでは。