マジかよ!サーバー監視も楽勝 Google Cloud Monitoring ベータを設定した

監視も簡単

最近、趣味がGoogle Compute Engineでサーバー構築になりつつあるA-takです。こんにちは。

今回Google Cloud Monitoringでサーバー監視の仕組みを入れてみました。かなりお手軽に構築できてしまいます。これやばいな。

Nagiosとか監視システム構築不要

サーバー運用するとなると、各サーバーの状況をモニタしたり、異常が起きたらメールで通知するような仕組みが必要になってきます。NagiosやZabbixなどがそれです。

Google Compute Engineの場合、ベータ版ではありますが、簡単に使える監視システムが用意されています。こいつが、設定も簡単でグラフなんかも見やすくて、かなりいいです。

まずはどんなことができるか

監視も簡単

Google Developer Consoleから「監視」にアクセスすると、このような画面が表示されます。見ていただくとちゃんとサイトが稼働しているかのUptime CheckやCPUの使用率やメモリや、今インスタンスがいくつオートスケールで立ち上がっているかなどがグラフで表示されます。

さらにグラフはドラッグすると「画面遷移なし」で「スムーズ」に拡大表示が出来きて、上の虫眼鏡マークを押すと、すぐに元の倍率に戻せます。すげー楽。

Nginxの各種状況も取得OK
Nginxの各種状況も取得OK

メニューのServicesからNginxを選ぶとNginxサーバーの各種状況が表示できます。オートスケールで起動しているサーバーの一覧や、下にスクロールしていくとメモリやスワップ、ディスクI/O、コネクション数も表示。サーバーの状態が一目瞭然。

URL監視も
URL監視も

こんな感じでURL監視もできます。指定したURLにアクセスしてOK返ってくればサーバー生きてる、という監視ですね。世界各国からのアクセス状況を表示してくれるのが、無駄にすごい。

もちろん監視にひっかかったらメール通知してくれて、回復したらそれも「どの分のエラー」が回復したかちゃんとわかるように、元のエラーのメールを引用に含めて知らせてくれます。わかりやすい。

エラーの履歴も
エラーの履歴も

エラーの履歴も出てくる。

発生中のものと解決したものをわけて表示しくれます。すげー便利。

設定方法

設定方法はこちら見ていただくと、そんなに難しくないでしょう。英語ですが内容は短いです。

Installing the Agent

だいたい、ざっくりした流れは…

  1. Google Cloud MonitoringでAPI Keyを取得
  2. CentOS7にさっきのAPI Keyを含めてコマンド貼り付けてエージェントをインストール
  3. Nginxのconfを設定
  4. エージェントのプラグイン設定を記載

という流れです。

API Key取得とエージェントのインストールは上記ページのままなので、NginxとMariaDB(MySQL)の設定について紹介します。

Nginxの設定

こちらを見ていけばたぶん設定できると思いますが、一応軽く紹介します。

Nginx Plugin

Nginxの設定を追加します。suになっている前提です。

vi /etc/nginx/nginx.conf
    server {
        listen 80;
        server_name local-stackdriver-agent.stackdriver.com;
        location /nginx_status {
          stub_status on;
          access_log   off;
          allow 127.0.0.1;
          deny all;
        }
        location / {
          root /dev/null;
        }
    }

Nginx再起動。

systemctl restart nginx.service

次にエージェントのプラグイン設定をします。

vi /opt/stackdriver/collectd/etc/collectd.d/nginx.conf
LoadPlugin "nginx"
<Plugin "nginx">
  URL "http://local-stackdriver-agent.stackdriver.com/nginx_status"
</Plugin>

もしviで保存時にエラーが出るようであれば、エージェントのインストールが出来ていなくてディレクトリがないと思われます。

エージェント再起動。

systemctl restart stackdriver-agent

これでNginxの細かい情報が監視画面に出てくるようになります。

MariaDB(MySQL)設定

MySQL Plugin

これはプラグインの設定だけですね。

vi /opt/stackdriver/collectd/etc/collectd.d/mysql.conf
LoadPlugin "mysql"
<Plugin "mysql">
 <Database "データーベース名">
   Host "localhost"
   User "ユーザー名"
   Password "パスワード"
   Port 3306
 </Database>
</Plugin>

複数のデータベースを監視したい場合は、Databaseのタグのセットをもう一つ作れば複数のデータベースの状況が表示できます。

systemctl restart stackdriver-agent

これでOK。

超お手軽

インストールも設定も簡単だし、グラフも見やすい。MuninとかNagiosとかいろいろ入れなくても済むのはかなりうれしいですね。

今はベータだから無料だけど、正式版は有償になるのかな−、無料のままだとうれしいけどなぁ。

関連記事はCMの下をご覧ください

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA