Posted at

これだけは覚えておきたいMackerelの基礎概念

More than 1 year has passed since last update.

チュートリアルを経てない同僚へMackerelの説明をするために、個人的に必要最低限と思う概念だけまとめました。


Mackerelとは

Mackerelはサーバリソースの可視化(グラフ化)および監視サービスです。

mackerel-agentを監視したいホストにインストールすれば、Mackerel上でリソースの確認を行うことができます。

zabbixサーバの管理をMackerelがやってくれているイメージです。


Mackrelの概念図

覚えておいたほうが良い概念は以下の通りです。

赤字がMackerelが定義している部分です。

mackerel1.png

赤字だけ抜き出した部分が下記の通りになります。


  • Hosts

  • Role

  • Services

  • HostMetrics

  • ServiceMetrics

  • Monitors

  • Alerts


Hosts

mackerel-agentをインストールし、起動すると、Mackerel上でHostとして認識されます。

そのため、実際の監視対象と1対1の関係にあります。

mackerel2.png


Services

監視するシステムのサービスを表します。

例えば、ストアサービスを展開しているシステムはStoreサービスなど命名することになります。

サービスを作成してから、ロールを作成します。

mackerel3.png

上記の画像の例では、AWSのEC2なのか、RDSなのか、区別するためにAWS_SERVICEというサービスを作成しています。


Role

監視するホストの役割を表します。

例えばWebサーバが10台あったとしたら、10台のホストそれぞれにWebロールをつけて役割をまとめます。

ロールはServicesに紐づくため、ロールを割り当てる前にServicesを作成する必要があります。

mackerel4.png

上記の画像の例では、AWSのサービスの中のRDSであることを示すために、AWS_SERVICEに紐づけてRDSロールを作成しています。


HostMetrics

ホストに紐づくメトリクスをグラフにします。

例えば、CPU使用率やファイルシステムなどがホストに紐づきます。

mackerel5.png

確認したいホストを選択すると、可視化しているグラフが現れます。


ServiceMetrics

サービスに紐づくメトリクスをグラフにします。

例えば、ストアのレスポンスタイムなどがサービスに紐づきます。

mackerel6.png

サービスを選択し、サービスメトリクスのタブを選択するとグラフが現れます。


Monitors

メトリクスに対して、閾値による監視を設定することができます。

例えば、ロードアベレージが10以上であればslackに通知するなどです。

通知先は、slack/webhook/email ... など様々なものが設定できます。

mackerel7.png

モニターを選択し、メトリクスに対して閾値を設定して監視を行います。


Alerts

Monitorsで監視しているリソースが閾値を超えるとアラートが発生します。

いつ、何に対するアラートなのか、それが継続中なのか終了した状態なのか、などを見ることができます。


まとめ

他にもアノテーションやダッシュボードなど機能がありますが、最低限必要な要素はこの辺りかと思います。

めでたく、これらの概念を覚えてもらったら、基本的な話は理解してもらえるようになりました。