mackerel-agentのARM版バイナリーはRaspberry PI 2でもさくっと動く

  • 24
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

まえがき

結論はタイトルのとおりです。

先日故あってはてなランチをご馳走になりつつ、Mackerelについていろいろ話を伺いに行く機会があり、
@stanaka さんに「mackerel-agentのARM版バイナリー欲しいです」といってみたところ、「GitHubのリリースページにはARM版もありますよ」とのことでした。

知らない(または調べずに突っ走る)ということは恐ろしいもので、以前mackerel-agentをRaspberry PI上でビルドするというような記事も書いてしまったのですが、Raspberry PI 2も買ったことですし、せっかくなのでGitHub上でリリースされているものをそのまま使うのも試してみようと思います。

準備

前提条件

OSはRaspbianを使います。

試していませんがmackerel-agentはGoで書かれているので、おそらくPIDORAでもSnappy Ubuntu Coreでも動くような気がします。

ARM版バイナリを手にいれる

GitHubのリリースページに行くと、ARM版のバイナリーがあるので、それをwgetなどでダウンロードします。

mackerel-agentをGitHubからダウンロード
# 0.14.2-alphaの場合です
wget https://github.com/mackerelio/mackerel-agent/releases/download/v0.14.2-alpha%2Bmsi2/mackerel-agent_linux_arm.tar.gz

導入

インストール

ダウンロードしたらtarで展開して適当なディレクトリーにおきます。

人によってポリシーがあると思いますが、私は/optに置きたがるタイプなので、展開したものを/optに移動します。
大抵の場合/optには一般ユーザーが書き込みできないので、sudoを使いましょう。

ディレクトリー名もついでにmackerel-agentに変えておきます。

tarを展開して/optに移動
tar xzf mackerel-agent_linux_arm.tar.gz
sudo mv mackerel-agent_linux_arm /opt/mackerel-agent

設定

ここではプラグインの設定などは端折って、APIキー設定の説明のみとします。

Mackerelで以下のURLにアクセスすると、APIキーがわかるのでそれをmackerel-agent.confに追記します。

手作業でやるのは少し面倒なので、RPMやdebのインストール手順を参考にシェルで済ませてしまいましょう。

APIキーをmackerel-agent.confに追記する
# MACKEREL_API_KEYの箇所は環境にあわせて変更してください
sudo sh << SCRIPT
cat >>/opt/mackerel-agent/mackerel-agent.conf <<'EOF';
apikey = "MACKEREL_API_KEY"
EOF
SCRIPT

起動

あとはmackerel-agentを起動するだけです。

Mackerelのヘルプには、実行形式ファイルを使った場合のエージェント起動方法として、nohup,screen,daemontoolなどを使うと紹介されています。

個人的にnohupで済ませてしまうことが多いので、nohupを使用して起動してみましょう。

mackerel-agentをnohupで起動する
cd /opt/mackerel-agent/; nohup ./mackerel-agent --conf=./mackerel-agent.conf &

しばらくすると、Mackerelでメトリクス収集がはじまるはずです。

スクリーンショット 2015-02-14 18.55.41.png

まとめ

Raspberry PI 2でmackerel-agentはさくっと起動できます。

Raspberry PI で温度を取得して可視化ができたりするのもRaspberry PIの面白いところだと思いますが、
Mackerelのサービスメトリックを使っても実現できそうですね。

余談

@stanakaさんはちょっと頑張るとQNAPでも動かすことができると仰ってました。私が使っているASUSTORのAS-202TEははCPUがAtomなので、公式の実行形式ファイルがそのまま動きました。

スクリーンショット 2015-02-14 20.13.29.png