監視の話
はじめまして。kyontan こと田中京介と申します。
ICTSC に携わるのは初めてで、今回が初参加かつ初運営委員です。
インフラには以前から興味があり、ICTSC5を通して様々なことを吸収していきたいと思っています。
どうかお手柔らかによろしくお願いします。
今回は インフラ の 監視周り構築担当 ということで、監視に関するふわっとした話をします。
そもそもなんで監視をする必要があるのか? という疑問がまず存在するのですが、僕は以下の様な理由で監視が必要だと考えています。
- サービスを継続して提供するため (死活監視)
多くのサービスが監視を導入する理由がこれだと思います。
サービスに一定間隔で ping を飛ばしたり、 特定ポート (80, 443 など) へのリクエストを行ったりすることで、サービスがダウンしていないか確認するものです。
実際に僕も自宅のサーバーでは Pingdom を使って死活監視を行っています。 - サービスを提供するインフラを改善するため
これは、サービスの継続提供の先にあるものです。
例えば、提供しているサービスの一部に負荷が掛かりサービス全体が重くなっている、なんてことがあったとします。
こういった時に、どのサーバーに負荷がかかっているのか? ということを知ることで、そこから改善の糸口をつかむことができるのではないかと考えています。
そこで今回は上記の目標を達成するため、以下のとおり監視ツールの選定を行いました。
- Mackerel
株式会社はてなが提供している監視サービス (SaaS) です。
まだ新しいサービスですが、各所で使われているのをブログなんかで目にします。
ホストに紐付いた通常のメトリック(監視項目)とは別に、サービスメトリックというホストに依存しないメトリックも設定できます。
SaaS なので設定が最小限で済むことが大きいです。UI が格好いいというのも個人的には好きなところです。 - Zabbix
オープンソースの監視ツールとしては Nagios や MRTG, Munin と並んで有名なものです。
豊富なテンプレートにより、監視対象を容易に設定できることや、多彩な設定ができることが強みです。
こちらは直接サーバにインストールして使う形になります。WebUI もあるようです。
ICTSC5 では、これら2つを併用してみる形となりました。
Mackerel は SaaS であるため、外部へ疏通ができるサーバーしか監視することができません。また、内部のネットワークに負荷が掛かっていたり、外部への接続に問題があるというときには、当たり前ですが監視ができません。
こういった事情も踏まえ、外部に出せるところは Mackerel に頼りつつ、Zabbix で不足している部分を補うというユースケースを考えており、現在検証を進めているところです。
さて、ここまで書いておきながら、私は今までこういったツールをほとんど使ったことがありません。(お恥ずかしながら……)
まだまだ検証途中であり、サービスの中身に踏み込んだ内容が書けていないのはこういった事情があります。
またそのうち、検証も進んできたところで再度記事を書きたいなと思います。
ところで今回の大会、募集要項が去年と少しだけ変わっているのには気付かれたでしょうか?
私としては、そんなところにも目を向けて頂けたらと思っています。
そんな ICTSC 5 は皆さんの参加応募をお待ちしております。募集要項はこちらです!
以上で私の記事は終わりです。