カテゴリー
サイト構築

マジかよ!サーバー監視も楽勝 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とかいろいろ入れなくても済むのはかなりうれしいですね。

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

この記事を書いた人: A-tak

A-tak.com(えいたっく どっとこむ)の管理人。
Apple野郎なおっさんでしたが、ちょっと最近のAppleには飽き気味。
A-tak.comは2002年2月から運営(前身のサイトは1999年3月から)。今年で18年目!

Twitter
Mastodon
Facebook

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください