IDCFクラウドを使うようになり、Mackerelが無料で使えるということだったので、インストール・設定してみました。
サインアップ
IDCFクラウドのクラウドコンソールのメニューから、Mackerelを選択し、
現在のアカウントでサインアップしておきます。
サインアップが終わったら、適当なオーガニゼーションを作成しておきましょう。
mackerel-agentインストール
仮想マシンを立ち上げて、手順を参考にインストールします。
今回はrpmでやってみました。
rpm -ivh http://file.mackerel.io/agent/rpm/mackerel-agent-latest.noarch.rpm
/etc/mackerel-agent/mackerel-agent.conf
を編集し、api-keyを設定する必要があります。
ここで登録するapi-keyは MackerelのAPIキー なので間違えないように。(IDCFクラウドのAPI Keyではない)
api-keyはMackerel画面のオーガニゼーションのページから確認できます。
設定が終わったら起動。
[root@enokido-instance-1 ~]# sudo /etc/init.d/mackerel-agent start
Starting mackerel-agent: [失敗]
[root@enokido-instance-1 ~]#
あれ、失敗?
/var/log/mackerel-agent.logがmackerel-agentが吐いているログ
2014/11/12 17:45:30 INFO main Starting mackerel-agent version:0.12.3, rev:ed2ae57
2014/11/12 17:45:30 CRITICAL main Apikey must be specified in the command-line flag or in the config file
2014/11/12 17:45:30 ERROR main Failed to remove the pidfile: /var/run/mackerel-agent.pid: remove /var/run/mackerel-agent.pid: no such file or directory
あぁすいません、confファイルのapikeyの行がコメントアウトされたままでした。。。
コメントアウト外して再度起動コマンド実行、で起動成功しました。
# pidfile = "/var/run/mackerel-agent.pid"
# root = "/var/lib/mackerel-agent"
# verbose = false
apikey = "xxxxxxxxx"
Mackerelにメトリクス送信されることも確認できました。
mackerel-agent-plugins
ミドルウェア毎のメトリクスが取れるプラグイン群があるので、こちらもインストールしておきます。
root@enokido-instance-1 mackerel-agent]# curl -fsSL https://mackerel.io/assets/files/scripts/setup-yum.sh | sh
This script requires superuser authority to configure Mackerel yum repository:
++ mktemp
+ gpgkey_path=/tmp/tmp.2TxfkfgY6q
+ curl -fsS -o /tmp/tmp.2TxfkfgY6q https://mackerel.io/assets/files/GPG-KEY-mackerel
+ rpm --import /tmp/tmp.2TxfkfgY6q
+ rm /tmp/tmp.2TxfkfgY6q
+ cat
done
To install mackerel-agent type: sudo yum install mackerel-agent
[root@enokido-instance-1 mackerel-agent]# yum install mackerel-agent-plugins
試しに、Apacheのメトリクスを取得してみます。
Apache向けの設定
Apache向けの設定を/etc/mackerel-agent/mackerel-agent.conf
に追加します。
元々記述はあるので、コメントアウトを外すだけです。
# Plugin for Apache2 mod_status
# By default, the plugin accesses to http://127.0.0.1/server-status?auto
[plugin.metrics.apache2]
command = "/usr/local/bin/mackerel-plugin-apache2"
ApacheのServerStatusを有効にしないといけないようなので、こちらを
設定しましょう。
httpd.confにはServerStatus用のLocation設定がコメントアウトされた状態で記述されているので、これを外します。
Allowはlocalhostだけ入れておけばよいか、と思うので追加しておきましょう。
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
mackerel-agentを再起動します。
/etc/init.d/mackerel-agent restart
これだけで、対象となった仮想マシンをMackerel画面で見ると
「Custom Metrics」
という項ができていて、そこにApacheの各種メトリクスが計上されるようになりました。
簡単で、素晴らしいですね。