サーバ管理・監視サービスMackerelでHerokuを監視する
はじめに
Mackerel Helpを見るとHerokuの監視もできるようだったので導入してみました。
Mackerel側の設定
■ そもそもMackerelとは?
- 株式会社はてなが提供するSaaS型監視サービス
■ Mackerel側の設定
- Mackerel Sign Upにアクセスして登録する
- Mackerelにログイン
- [APIキー]画面で
APIキー
をメモ - [Services]→[サービスを追加]で任意名のサービス(hogehoge)を追加
- [Services]→[サービス名(hogehoge)]→[ロールを追加]で任意名のロール(test)を追加
Heroku側設定
-
1: Procfileの編集
- web: bin/hubot -a slack + web: ./start.sh
-
2: start.shの新規作成
#!/bin/sh set -x # install mackerel-agent mackerel_agent=/app/mackerel-agent/mackerel-agent mackerel_agent_conf=/app/mackerel-agent/mackerel-agent.conf cd /app/ && \ curl -O http://file.mackerel.io/agent/tgz/mackerel-agent-latest.tar.gz && \ tar xvfz mackerel-agent-latest.tar.gz sh << SCRIPT cat > $mackerel_agent_conf <<'EOF'; pidfile = "/app/mackerel-agent/mackerel-agent.pid" root = "/app/mackerel-agent" apikey = "${MACKEREL_API_KEY}" roles = [ "${MACKEREL_ROLES}" ] EOF SCRIPT trap "$mackerel_agent retire -conf $mackerel_agent_conf -force" TERM $mackerel_agent -conf $mackerel_agent_conf -v & bin/hubot -a slack
最終行はProcfileで削除した起動コマンドを記入。
※ただしweb:
は削除 -
3: Herokuにソースコードをデプロイ
-
4: 環境変数をHerokuに追加
-
Web経由でHerokuにログイン
-
[app name]→[Setting]→[Config Vars]で環境変数を設定
MACKEREL_API_KEY
: MackerelのAPIキーMACKEREL_ROLES
: Service名:ロール名
-
動作確認
上記設定が正常の場合、Mackerel側で監視データが取得できるようになっている
