Mackerelを入れてみました!

こんにちはー!ニアですよ!

業務にて、サーバーの監視にMackerelを使うことがあるのですが、個人かつ無料で利用できるプランがあったので、インフラ周りのスキルアップも兼ねて自分のブログのサーバーにMackerelを入れてみました。

1. Mackerelに登録&mackerel-agentのインストール

Mackerelの導入はとてもシンプルで、以下の2つを行うだけで始められます。

  • Mackerelに登録(登録から14日間は、有料のStandardの機能が利用できるTrialプランが利用できます。)
  • 監視したいサーバーにmackerel-agentをインストール

mackerel-agentは

  • Amazon Linux / Amazon Linux 2
  • Cent OS / Red Hat(いずれも6、7)
  • Ubuntu 16.04、14.04 / Debian 8以降

などのLinuxディストリビュージョンやWindowsにインストールできます。
自分のブログのサーバーはCent OS 7だったので、Cent OS 7用のパッケージをインストールしました。

エージェントをインストールしてしばらくすると、Hostのところにサーバーのメトリクス情報が現れます。

Chronoir.netのサーバーメトリクス

2. 監視ルールを設定

Mackerelには、監視ルール機能があり、指定した条件を満たした時、メールやチャットなどでアラート通知してくれます。

Nia02.png
Freeプランでは最大10個まで登録できます

今設定しているのは、ロードアベレージ、CPU、メモリ、ファイルシステムの4つとホストの死活監視(ここでは、Mackerelとmackerel-agentが入ったホスト間での疎通できるかどうかを監視します)の計5つです。

また、サーバーにmackerel-agent-pluginsをインストールすると、nginxやPHP、MySQLなどのミドルウェア監視できるメトリクスが追加されます。

CPUやメモリなどの監視はホストメトリクス監視でルールを設定します。

名前概要監視設定のAPIで使用するJSONで
対応するキー
メトリクス監視するメトリクスを選択します。
例えば、
・「CPU %」: CPUの使用率
・「Memory %」: メモリの使用率
・「Filesystem %」: ディスクの使用率
・「loadavg5」: 直近5分間のサーバーの実行待ちのプロセスの平均
(参考: ロードアベレージとは – はてなキーワード
metric
Warning条件Warningアラートを通知する閾値を設定します。
比較演算子は「>」または「<」から選択します。
warning
Critical条件Criticalアラートを通知する閾値を設定します。critical
平均値監視直近で指定した間隔のメトリクスの平均値を監視します。
例えば10に設定した場合、直近10分の平均値を監視します。
duration
アラート発生までの最大試行回数アラートの閾値を連続で何回超えたらアラートを通知するかを設定します。
maxCheckAttempts
絞込監視対象のホストを指定します。あらかじめ、ホストにServiceとRoleを割り当てておきます。
上の画像の場合「Chronoir_net」のServiceの全てのRoleのホストが監視対象になります。
scopes / excludeScopes
監視ルール名 / メモ監視ルール名とメモを入力します。name /
memo
通知の再送間隔アラートが発生している間、指定した間隔で通知を再送し続けます。notificationInterval

3. おわりに

サーバー監視といえば、ZabbixやHinemosなどもありますが、MackerelだとSaaSなので、監視専用のサーバーを用意せずともWebサーバーなどをモニタリングができて便利です。

ただ、Freeプランだと監視ルールが10個までなので、WordPressで使用しているnginxやPHP、MySQLまで欲張ると、あっという間に上限をオーバーしてしまいます。
アプリケーションの監視はmonitなどを使って役割分担するのがよいですね。

[END]

コメント

タイトルとURLをコピーしました