ディレクターも覚えておきたいWebサービスを支えるアプリとツール
こんにちはディレクターのぐっさんです。
今回は弊社のサービスを支えるツールやアプリケーションを紹介します。
これらのツールやアプリケーションはサービスを縁の下で支えています。
1.グラフでサーバーを監視できるMunin
サーバーの負荷状況やリソースを監視するアプリケーションで、様々な情報をグラフ化してくれ、これらのグラフはサーバーの負荷状況を監視するのに大変重宝します。
ちなみに、ムニンと読むようです。
常に状態を監視することで、急なアクセス負荷やリソースの増加などをメールで通知させることができます。
また、各状況のしきい値を設定できますので、未然に危険な状況が発生しないように対処することができます。
ネットワークを介するWebサービスは「24時間365日」常に稼働しているサービスでなくてはなりません。
Muninの存在は不可欠です
2.様々なプラグインで監視し、通知を受け取れるNagios
Nagios(ナギオス)は、サーバーの死活状況を監視するオープンソースアプリケーションです。
サービスの停止やエラーの内容をメールで通知させることができます。
様々なプラグインがあり、より多くの監視する対象を設定できるので、エラーの内容を把握してサービスの向上に役立てることができます。
MuninとNagiosはいずれもサーバーの状況を監視するアプリケーションですが、Muminは「グラフ」、Nagiosは様々な「プラグイン」を使ってより多くの機能を監視して通知を受取る、というイメージでしょうか。
いずれにしてもMuninと合わせて重要なアプリケーションです。
3.高速なレスポンスを実現するメモリキャッシュシステムmemcached
memcached(メムキャッシュディー)は、大量のデータを扱う際に有効なメモリキャッシュシステムで、YouTue、Wikipedia、Facebookなどの様々な著名サイトで使われています。
数千万件のデータをデータベースを利用して処理を行うと非常に負荷がデータベースにかかります。
これを回避するために、memcachedはデータとオブジェクトをメモリ内にキャッシュしてデータベースへのアクセスを減らすことで、速いレスポンスで処理を行うことができます。
参照
実際にディレクターが関わることは無いのですが、Webサービスを運用する上でシステムエンジニアの人たちととの会話で出てくるキーワードなので、覚えておきたいです。
4.ログをヴィジュアル化してくれるKibana
Kibanaはログを可視化して解析を行うことができるオープンソースのツールになります。
通常であれば、ログを見るのにはエンジニアの手が必要になるのですがこれを導入することで管理画面から見ることができます。
KibanaにElasticSearchとfluentdを使用することで↓のような画面をみることができます
また、検索結果を、結果を円グラフや棒グラフなどにすることができ、様々な分析・調査に使用することができます。
想像以上に多くのグラフが作成できます!
それだけ、操作が難しいのですが。。
使い方をマスターして、サービスに活用しようと思います。
5.まとめ
サービスを運用するにあたって様々なツールやアプリケーションを使用していますが常に新しいものがでてきています。
サービスの向上のために使い方等を学んでサービスの向上を行っていこうと思います。
最後に、エンジニアのかたへ誤っている箇所があったら、こっそり教えてください。。。