最近はやりのMackerelを使って、自分のMacを監視してみます。(特にディスクの使用率は役立つかも・・・)
そして、監視設定を入れてMacに問題が発生すると、slackに通知させます。
その前に簡単にMackerelの説明をします。
Mackerelとは
エージェント常駐型のサーバ監視ツールです。
ホストのリソース状況などをグラフに可視化し、障害発生時には自動でアラートが記録されます。
作成されたアラートは、
などと言った外部ツールと連携させ、通知することができます(連携も超かんたん!)
APIも用意されており、chat opsが捗りそうです。
また、オリジナルのプラグインも自身で作成することができます。
料金は無料!
以下のプラン体系が用意されています。
Macを監視するなら、**無料枠(Trial, Free)**で十分!

監視するまでにやること(目安: 3分)
- Mackerelにアクセスして、アカウント登録をしましょう。

- 次にオーガニゼーションの登録します

- 最後にプラン選択をします(ここでは、Trialプランを選びましょう!)

- この画面が表示されたら一旦終わりです。

MacにMackerelの導入!(目安: 5分)
brewからMackerelをインストールする
$ brew tap mackerelio/mackerel-agent
$ brew install mackerel-agent
API KEYの設定をします。
自分のオーガニゼーションのAPI KEYを確認しましょう。
- 画面右上から[アカウント設定]をクリック

- メニューからオーガニゼーションを選び、[設定]をクリックします

- タブから[APIキー]を選び、矢印で指しているボタンをクリックします
- 自動でクリップボードにコピーされます。

-
<API-KEY>
を、先ほどコピーしたAPI KEYに書き換えてコマンドを実行しましょう。
$ echo 'apikey="<API-KEY>"' >> /usr/local/etc/mackerel-agent.conf
LaunchAgentsに登録・起動する
- LaunchAgents とはログインしたユーザの権限で起動時にプログラムを実行するための機能です。
-
launchctl
コマンドは、daemonやagentを管理することができます。
-
# LaunchAgentsにシンボリックリンクを張る
$ ln -sfv /usr/local/opt/mackerel-agent/*.plist ~/Library/LaunchAgents
# 設定ファイルを読み込む
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mackerel-agent.plist
# jobを開始
$ launchctl start homebrew.mxcl.mackerel-agent
これでmacを起動するたびに、mackerel-agent
が自動で起動します。
導入後の確認
- [Hosts]をクリックします。そして、ホストが追加されていることがわかります。

- 次に、ホスト名をクリックして、データが取れているか確認します(反映までに10分くらいかかります)
- 正常にグラフが取れるとこんな感じにグラフが描画されます。

監視ルールを入れる(目安: 3分)
- [Monitors]をクリックします
- 監視ルールには、
connectivity
がデフォルトで入っています。
では、新しく監視ルールを追加してみましょう。右上の[監視ルールを追加]をクリックします。
手始めに、CPUに関する監視ルールを作成してみます。
- 監視対象のメトリックから「CPU %」を選択します。
- アラートの発生条件を入力します。
- 最後に[作成]を押して完了です!

slackに通知させてみよう(目安: 5分)
設定
- [Monitors]をクリックします
- [チャンネル設定]をクリックします

次に、[通知グループ/通知チャンネルを追加]をクリックします。
一覧からSlackを選択し、必要な情報を入力します
- URLの取得方法は下記を参考に!
- https://mackerel.io/ja/docs/entry/howto/alerts/slack
- アラート通知に使えるテキストは、slackの絵文字も利用できます(例えば、
:email:
など)

- 最後に、[作成]をクリックして完了です!
アラートが起きると・・・slackに通知がきます。
まとめ
最近はやりのMackerelをMacに入れて監視する設定を入れました。
無料で試せるので、ぜひ皆さんも遊んでみましょう〜