LoginSignup
10
5

More than 5 years have passed since last update.

GoogleCloudPlatformにおける運用監視(StackDriverとMackerel)

Last updated at Posted at 2018-12-16

diffeasy Advent Calendar 2018 の16日目の記事です。

「世界中の“むずかしい”を簡単に」を経営理念に活動している株式会社diffeasyの宮原(@tomoyoshi_de) です。

私たちは普段GoogleCloudPlatformを利用してサーバーサイドのシステムを構築しています。

以下、構築例です。

  • バックエンド
    • GoogleComputeEngine
      • nginx
      • Ruby on Rails
      • puma
    • CloudSQL
    • CloudStorage
    • 負荷分散
  • フロントエンド
    • FirebaseHosting
      • Vue.js

システムを運用していく中で適応する監視ツールが「StackDriver」、「Mackerel」の2つがあるので比較検討しました。
最初はCloudSQLはStackDriverでしか見れないと思い、使い分けよう!ぐらいの気持ちでした。
が、まとめていくうちにMackerelでも設定できることに気付きました。すみません。。

外形監視が無料で設定できることぐらいがStackDriverに優位性があるぐらいで、、
結論は、完全にMackerelの勝利です!

評価基準

  1. 設定の容易さ
  2. 監視種類
  3. 通知の種類
  4. 価格

①設定の容易さ

StackDriver

初期設定

GCEに対してのStackDriverは特にGCE上でコマンドを打たなくてもOKです。
https://cloud.google.com/monitoring/quickstart-lamp

Stackdriver エージェントのインストールをすることでLogをGCPの管理画面で監視可能です。
どのAPIがいつ実行されたかのログはバッチリに見ることができそうです。

Mackerel

初期設定

curlコマンドで完了するため、大変容易ですね。
image.png

[結果]

導入設定の容易さはあまり変わらないと感じます。
が、英語か日本語かということで日本人はMackerel優位に立ちそうな気がします。

②監視の種類

どちらも基本的な監視はあるので、pluginを比較します。

StackDriver

pluginを使うことでメジャーどころには対応しています。
https://cloud.google.com/monitoring/agent/plugins/
image.png

設定画面です。新しいPolicyを追加するという感じ。
image.png

StackDriverのサービス群は、監視以外のログ参照、トレース、デバッカーがあります。
こちらにはMackerelにはない優位性がありそうですが、対応言語が限られており、私たちが主に使うRubyonRailsはβ版だったりと、私は設定を挫折しました。。

名前 サービス
Stackdriver Logging ログデータやイベントを格納、検索、分析、モニタリング、通知可能
Stackdriver Error Reporting クラウドサービスで発生したクラッシュをカウントして分析、集計可能
Stackdriver Trace アプリケーションから収集したデータをほぼリアルタイムでアプリケーションのパフォーマンスを自動的に分析されて、アプリケーションのパフォーマンス低下やパフォーマンス上のボトルネックを確認可能。
Stackdriver Debugger 本番環境のアプリケーションの状況を分析し、コードの任意の位置でのアプリケーションの状態を停止せずに調べることが可能。

Mackerel

監視項目

基本的な項目
image.png
- ホストメトリック監視:CPUメモリなどのしきい値監視
- ホスト死活監視:ホストが生きてるかを監視
- サービスメトリック監視:
- 外形監視:URLによる監視(有料)

mackerel-agentが便利

以下のgithubを見ていただくと早いのですが、キャプチャを貼るのを諦めるぐらい数多くに対応しています。
https://github.com/mackerelio/mackerel-agent-plugins

GoogleCloudPlatformを使用しており、GoogleComputeEngineだけではなく、CloudSQL等のSQLは無理かなーと思ったら、プラグインコマンドに以下のようにオプション項目追加することでいけました。
Mackerel凄い…

mackerel-plugin-mysql -host=127.0.0.1 -username=<username> -password=<password>

nginxも以下ブログに詳しく書かれており、あっさりできました。
https://soudai.hatenablog.com/entry/mackerel-plugin-nginx

[結果]

圧倒的Mackerel勝利。

③通知の種類

StackDriver

海外のサービスなので、以下の通りです。SlackがあるからギリOKという感じ。
image.png

Mackerel

通知の種類が多い。日本以外もカバーしてる印象。
image.png
image.png

グループ設定により多彩に設定可能。
ちょっと読解難易度高めな印象。
https://mackerel.io/ja/docs/entry/howto/alerts

[結果]

圧倒的Mackerel勝利。

④価格

StackDriver

無料枠があり、ほぼ無料でいける。
https://cloud.google.com/stackdriver/pricing
image.png

Mackerel

Freeでも十分恩恵を受けることが出来る。
インフラエンジニア目線だと監視項目10個は少ないのだろう。サービス拡大時に有償化を検討したい。
https://mackerel.io/ja/pricing/
image.png

[結果]

ほぼ無料でいけるため、引き分け。

まとめ

国産を贔屓目に見ることなく、Mackerel凄いです。
日本の運用監視の未来は明るいと思います。

少し玄人向けと思われるpluginがあるので、ある程度チェック機能をパッケージ化してもいいかもと思います。まず私たちの理想の組み合わせは整理します。

ただ、GAEやHerokuを利用することでそもそも監視を気にしなくて良い日が来るのか…?と考えつつ、そちらはProductionで試したいと思います。

10
5
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
5