皆さんの職場では外形監視ツールに何を導入しているでしょうか。
『CloudWatch』『Cacti』『New Relic』etc…世の中には様々な監視ツールがあります。
その中でも『Mackerel』は誰でも手頃に導入することができ、サマリー画面も見やすく、UIも分かりやすく直感的に操作することができます。
監視ツールとして導入率も高く、触れたことのある人も多いのではないでしょうか。
『Mackerel』のメイン機能は基本的には有償プランでないと利用できない為、無償プランをわざわざ利用するメリットはあまり無いのですが、それでも監視ツールとしては充分に機能してくれる為、個人利用を目的とした導入は全然オススメです。
本記事ではそんな『Mackerel』の基本情報をフリープランを利用しながらゆるい感じで紹介していきたいと思います。
Mackerelとは
Mackerelは、サーバを監視するサービスを提供します。
SaaSとして提供されており、『Zabbix』や『Nagios』のように監視システム用にサーバを立てる必要がありません。
サーバの監視は対象ホストへエージェントを導入するだけ設定できます。
また、SaaSの利点として、クラウドサービスとのシナジーが高いです。
簡単な設定でAWSサービスとのインテグレーション(連携)が可能です。
『Mackerel』はUIが非常にシンプルで直感的に分かるようになっていて、また操作性においても分かりやすいと好評です。
このように他の監視サービスと比べて、全体的にとてもシンプルに利用できる点が大きなメリットであり、差別化を図れるポイントとなります!
Mackerelの利用料金
『Mackerel』は料金体系も非常にシンプルです。
「スタンダードプラン」と「フリープラン」の二通りあり、利用できる機能から基本的には「スタンダードプラン」を使うのが一般的とされています。
もちろん、「フリープラン」でも監視サービスとしての機能を充分発揮できますので、利用用途に合わせてプランを選択するのが良いでしょう。
料金プラン
機能比較
機能 / 単価 | フリー | スタンダード |
スタンダードホストメトリック数 / ホスト | 200 | 200 |
マイクロホストメトリック数 / ホスト | 30 | 30 |
サービスメトリック数 / オーガニゼーション | 5 | 200 |
グラフ表示期間 | 1日 | 460日 |
監視項目 / オーガニゼーション | 10 | 100 |
チェック監視 | ○ | ○ |
外形監視数 / オーガニゼーション | ☓ | 20 |
カスタムダッシュボード数 / オーガニゼーション | ☓ | 100 |
ユーザー数 / オーガニゼーション | 無制限 | 無制限 |
プラグインの利用 | ○ | ○ |
APIの利用 | ○ | ○ |
機械学習による異常検知 | ☓ | 1~ |
AWS インテグレーション | ☓ | ○ |
Azure インテグレーション | ☓ | ○ |
Google Cloud インテグレーション | ☓ | ○ |
サービス・サポート
機能 / 単価 | フリー | スタンダード |
テクニカルサポート(メールのみ) | ○ | ○ |
オンラインドキュメント | ○ | ○ |
オンボーディング支援プログラム | ☓ | ○ |
参照
Mackerelを採用するメリット
数ある監視サービスの中から『Mackerel』を採用するメリットは多くあります。
今回はそのメリットについて説明していきます。
UIがシンプルで直感的に理解できる点
前項でもお話しましたが、『Mackerel』は他の監視製品に比べてUIが非常にシンプルで分かりやすいです。
一般的な監視製品ですと沢山の監視項目があり、UIが多機能すぎて逆に分かりづらいという欠点があります。
しかし、『Mackerel』は多機能であることに変わりはなく、その上でUIが非常に簡素なのです。
UIが見やすいというのは、サーバ監視システムとして非常に大事なポイントであり、障害が発生した際、いち早くサマリーを確認したい時にUIが複雑になり迷子になってしまい、対応が遅れてしまう等といった事象が発生してしまいます。
また、複雑だと操作単位でマニュアルを準備しておく必要があり、こちらも非常に手間となります。
このようにUIが複雑だと様々なデメリットがあります。
何度も言いますが『Mackerel』はUIがシンプルで非常に分かりやすいです。
これだけで『Mackerel』を採用するメリットといえるでしょう。
クラウドサービスとの連携
『Mackerel』はクラウドサービスと連携することができます。
具体的には、クラウドサービスのサーバレスなマネージドサービス(AWSだとELBやRDSとか..)を面倒な設定をすることなく簡単に監視設定を行うことができます。
通常サーバレスなサービスはエージェントを導入することができないので(サーバレスサービスはその実態を掴めない為)、監視設定を行うとなると非常に複雑な設定を行う必要があります。
しかし、『Mackerel』を利用すればものの数分でその設定を行うことができます。
スピーディーな導入が可能
『Mackerel』は監視設定までの流れが非常にスピーディです。
サインアップ、サーバへのエージェント導入、クラウドサービスとのインテグレーション、etc..どれも簡単に設定することができます。
業務利用だけでなく、これから監視を勉強しようという方向けにもオススメの監視製品です。
Mackerelの開始方法
本セクションでは、MackerelへのサインアップからAWS EC2インスタンスへのエージェント導入、サービスを作成してロールへホストを紐付けるところまで(Mackerelでのスタートアップ設定)の手順を記載します。
大まかな開始工程を下記に記載します。
- Mackerelへサインアップ
- 監視導入手順
- 監視サーバへエージェントをインストール
- Mackerel Serviceを作成
- Mackerel ロールを作成
- ホストをロールへ紐付ける
サインアップ手順
- 下記リンク(Mackerelのサインアップページ)を開きます。
https://mackerel.io/signup
- サインアップ方法を選択し、サインアップを行います。
- サインアップ方法
- メールアドレス
- SSO
- GitHub
- Yammer
- サインアップ方法
- 登録したメール宛に『Mackerel』から認証メールが届きますので、メールに記載のリンクをクリックします。
- メール件名:[Mackerel] Please verify your email
- メール件名:[Mackerel] Please verify your email
- 遷移先のページにて、パスワードを設定します。
- パスワードの設定後、下記ページに画面が遷移します。
各項目に従い、パラメータを入力し、ページ下部の「作成」をクリックします。- オーガニゼーション名:<任意の名前>
- 利用目的:<目的に応じて>
- 姓 / 名前:<項目の通り>
- 利用想定台数:<利用目的に応じて>
- 無料トライアルページへ遷移します。この時点ではまだ無料トライアルを設定する必要はないかなと思いますので、タブを一度閉じて、下記ログインページより再度『Mackerel』へログインしましょう。
https://mackerel.io/signin
- 『Mackerel』トップページへアクセスできることを確認します。
オーガニゼーションとは?
『Mackerel』に触れていると多々オーガニゼーションという単語を聞きますが、オーガニゼーションとは直訳通り”組織”という意味です。
会社や組織、個人という単位で設定することができます。例えばチーム単位でオーガニゼーションを作成して、それぞれで異なる設定をすることができます。
エージェント導入(Hostsへの登録)
- 『Mackerel』トップページ左ペイン「Hosts」をクリックします。
- 「Hosts」管理画面右上「ホストを新規登録する」をクリックします。
- 「新規ホストの登録」-「お使いのOSを選択してください」から監視対象サーバのOSを選択します。(本記事では「Amazon Linux2 LTS」を選択します)
- エージェントインストールコマンドが表示されるので、コピーして監視対象サーバで実行します。
# Amazon Linux2 LTSの場合
curl -fsSL https://mackerel.io/file/script/amznlinux/setup-all-yum-v2.sh | MACKEREL_APIKEY='hUPnT4U1Mrb3TXC4BZDL5PnnkYZ5K9MWT4L4MhZ2X8kq' sh
# エージェントの動作確認
sudo journalctl -u mackerel-agent.service
- 『Mackerel』管理画面「Hosts」に対象サーバが表示されいることを確認します。
Serviceの作成
- 『Mackerel』トップページ左ペイン「Service」をクリックします。
- 「Hosts」管理画面右上「サービスを新規登録する」をクリックします。
- 「新しいサービスを作成」画面にて、「サービス名」と「メモ」を入力し、ページ下部「作成」をクリックします。
- 再度「Service」画面へ遷移し、サービスが作成されていることを確認します。
ロールの作成
- 前項にて作成したサービス管理画面より、「新規ロールを作成」をクリックします。
- 「新しいロールを作成」画面にて、「ロール名」と「メモ」を入力し、ページ下部「作成」をクリックします。
ロールへHostsを登録する
- 『Mackerel』トップページ左ペイン「Hosts」をクリックします。
- 対象ホストの「サービス:ロールを設定」をクリックします。
- ポップアップが表示されるので、前項にて作成したロールを選択し、「更新」をクリックします。
- 対象ホストのサービスロール列からロールが登録されたことを確認します。
Mackerelの監視項目の見方
『Mackerel』ではサーバの下記項目のメトリクスを監視することができます。
- loadavg
- cpu
- memory
- disk
- interface
それぞれの項目の意味を説明していきます。
loadavg
負荷平均(ロードアベレージ)を監視することができます。
Linuxコマンドでいうところの、「top」や「w」で確認できる項目となります。
当たり前ですが、値が大きい程負荷が高く、値が小さい程負荷が低い状態となります。
Mackerelでは”5min”単位で1~15までの範囲でメトリクスをフィルタリングできます。
cpu
文字取り”CPU使用率”を取得します。
その中でも9種類の詳細データを取得することができます。
データ | 説明 |
user | カーネル以外の、ユーザー側で動作しているプロセスのCPU使用率 |
nice | nice値を設定しているプロセスのCPU使用率 |
system | カーネル側で動作しているプロセスのCPU使用率 |
irq | カーネルの割り込み処理のCPU使用率 |
softirq | カーネルのソフト割り込み処理のCPU使用率 |
iowait | I/O待ちによりアイドル状態になったCPUリソースの割合 |
steal | ゲストOS(他の仮想マシン)に盗られたCPUリソースの割合 |
guest | ゲストOS(他の仮想マシン)のCPU使用率 |
idle | アイドル状態(何も使われていない)の割合 |
memory
こちらも文字通り”メモリー使用率”を取得することができます。
“メモリ使用率”では、6種類の詳細データを取得することができます。
データ | 説明 |
used | メモリの使用量 |
available | 利用できるメモリ領域(available = total – used) |
total | ホストに積んである最大メモリの容量(total = used + available) |
swap chached | スワップキャッシュの量 |
swap used | スワップ領域の使用量 |
swap total | スワップ可能な量(total = swap chached + swap used) |
disk
“ディスク使用量”を取得することができます。
具体的には、ディスクの読み書きに関する、IOPS(1秒あたりのI/Oアクセス)をチェックします。
ディスクの読み書きはデータベースやストレージ用途のサーバーでは顕著に現れるため、そういったサーバーで注視すべきメトリクスです。
interface
ネットワーク帯域の使用状況を取得できます。
自宅サーバでは帯域使用量等はあまり気にされないかと思いますが、AWSではネットワークの通信料がかかるので、注意が必要です。
参照
まとめ
監視ツール『Mackerel』の基本情報について記載しました。
本記事で何度も説明しましたが、『Mackerel』は”シンプルで見やすい”といったところが最大のメリットです。
更にフリープランがありますので、誰でも気軽に個人利用で始めることが可能です。
是非この機会に『Mackerel』に触れてみるのはいかがでしょうか。
コメント