"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

サラッとわかるMackerel(マカレル)サービス・ロールの設計



スポンサーリンク

Makerelの監視設計について

最近はやりのクラウド型の監視サービスのMakerelですが、簡単に言うと今までは監視ソフトをサーバに入れて監視サーバを自前で用意しないといけなかったのですが、それが管理画面から提供されててすぐに使えるPaaS型の監視サーバサービスとった感じのものです。

富士通のSystemwalkerとか昔扱ってたのですが、こういうPaaS型にしたら、相当価格による導入障壁下げれると、向こうのSEに高すぎることを愚痴ってたのですが、ついに出てしまいましたね。

でも、インターネット経由の監視になるのでトラフィックが安定しないことは確かで、一分一秒を争うシステム運用の場合はPaaS型って難しいでしょうね。

さて、それはさておき、監視設計は従来のものと全く同じですが、ちょっと触りのところで、ピンとこない用語が出てきたので、備忘録的にちょっと解説します。

構成要素

f:id:azumami:20171208172919p:plain

構成要素として、管理画面からみるとサーバ(ホスト)、サービス、ロール、モニターというものが出てくるかと思います。

複数サーバ運用してて一気にしきい値変えたいとか、個別にサーバ単位で変えたいとか、いろいろでてくると思うので、それらの柔軟性とか、一括設定とかし易いように、要素をうまく組み合わせるよう考慮が必要です。

それでは一つ一つ見ていきます。

ホスト

いわる、OS単位のホストのことで、エージェントをインストールしたら勝手に管理画面にでてきます。まぁ説明不要な単なるホストです。

サービス

これは、アプリケーションの単位と言いますか、○○販売サイトとか、○○管理システムとか、アプリケーション全体のことを言います。

例えばAP/DBの二台構成のホストからなる○○販売サイトの場合、これらの総称としてサービス名をつけます。

ロール

ホストの役割のことです。APサーバ、DBサーバとかそんなふうにつけます。一台に複数のアプリやサイトが乗っちゃってる場合は、複数定義できます。
こんなイメージの構成です。
f:id:azumami:20171209093823p:plain

モニタ

いわゆるCPU監視とか、監視内容のことです。しきい値と監視内をセットにして一つのモニタとして定義します。

モニターには、複サービス名+ロール名の組み合わせを複数定義できます。

ですので、例えば

例:connectivity_general(疎通監視)というモニターを定義して、Mackerelないのすべてのホストに割り当てたい場合、connectivity_generalというモニターの設定画面で、すべての定義済みのサービス+ロールを割り当てて上げます。

そうすると、connectivility_generalの閾値設定を後で変えた場合、その、モニターに割り当たってるサービス+ロールのホストの監視内容が一括で変わります。

特定のホストだけ、特別な監視をしたい場合は(ファイルサーバ用のファイルシステムの空きなどの)、まずその監視内容を定義したモニターを一つ定義して、対象としたいサービス+ロール名を割当ます。

「all」を割り当てれば、すべてのホストに適用されるので、generalっていう形にしなくもいいのでそれはそれで使えるかと思います。

f:id:azumami:20171208172913p:plain


だいたいこんな感じで、設計ができるとおもいますのでzabbixめんどくせーという人はMackerelに挑戦していただければと思います。