ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

「Mackerel サーバ監視[実践]入門」を買ってみた - カスタムメトリックプラグイン開発手順メモ

Mackerel サーバ監視[実践]入門:書籍案内|技術評論社を買い、読み始めました。
Mackerelの魅力の一つとして、プラグインを自作して独自の監視項目を追加することがあります。

本書を参考に、カスタムメトリックプラグインを作り、Mackerelの画面に表示させてみました。
以下、その時の手順のメモです。詳細は方法は本書を参考にしてください。

前提条件

今回はMac上でプラグインを開発し、Amazon EC2 Linuxに配置して監視を行います。
予めMackerelのアカウントを用意し、EC2インスタンスにはmackerel-agentをインストールしておきます。
開発言語はGolangになります。

※ mackerel-agentのインスタンス手順は公式ヘルプを参考
エージェントをインストールする - Mackerel ヘルプ

開発手順

1. ソースを作成

本書の「5.2 カスタムメトリックプラグインを作る」を参考に、「mackerel-plugin-uptime」を写経します。
今回はバイナリの名前だけ「go-learning-mackerel-plugin-uptime」というように変更しました。

ソースについては本書や、以下のGithub上のソースを参考にできます。
mackerel-agent-plugins/mackerel-plugin-uptime at master · mackerelio/mackerel-agent-plugins · GitHub


2. EC2用にビルド

ソースをEC2用にビルドします。

$ GOOS=linux go build

3. mackerel-agent-pluginsをインストール

EC2にmackerel-agent-pluginsをインストールします。

$ sudo yum install mackerel-agent-plugins

4. mackerel-agent.confにプラグインを追加

/etc/mackerel-agent/mackerel-agent.confに以下を追加します。

[plugin.metrics.uptime]
command = "/home/ec2-user/golang/go-learning-mackerel-plugin-uptime" # 作成したプラグインのパス

5. mackerel-agentを再起動 or EC2を再起動

6. 作成したカステムメトリックを確認

Mackerelの監視画面のカスタムメトリックに、作成したメトリックが表示されていることを確認します。

f:id:UnderSourceCode:20180707190141p:plain