muninを使ってサーバ運用状況をラクラク可視化

こんにちは、mi2yo4です。

しばらくここに書き込んでいない間に、梅雨になってしまいました。
名古屋は暑さが厳しいと言われている土地柄なので、これからの季節は体調管理に気をつけなくてはいけません。

スクリーンショット 2016-06-20 11.21.27

さて、あぐりログサービスも2014/10の試験運用開始から時間も経ち、ユーザー数も増えてきました。

こういったWebサービスで利用者にストレス無く使用して頂くためには、通信回線はもちろんの事、サーバの負荷状況も把握しておかなくてはいけないですよね。

弊社ではsysstatを使用してサーバ運用状況を取得していましたが、以下の様な問題点がありました。

  • 取得したログを読んで理解するのに時間がかかる(それなりの学習コストを払わないと内容が判らない)
  • ログを可視化するのに手間がかかる
  • 上記の結果、社内の限られた人でないと把握出来ない
  • 問題が起こってからの対応は出来るが、「起こりそう」という予知は出来ない

ベンチャー企業ですので、コスト上の理由で専任のサーバ管理者を置けません。

サーバ運用管理をもっと簡便に見える化し、運用を楽にしよう!という事でmuninというツールの導入を図ってみました。

muninとは

muninの説明についてはMunin User Group Japanの説明を引用します。

Munin はネットワーク化に対応したリソース・モニタリングツールです。Munin はリソースの推移を解析する手助けとなり、「何が性能に悪影響を与えているのか」をただちに知ることができます。プログラムは直ぐに使えるようにも (plug & play)設計されているので、初期状態のままでも多くのグラフを表示することができます。

サーバ上のリソースを監視することで、どこがボトルネックとなるかを即座に知ることが出来ます。

こういった四六時中動作しておいて欲しいものは便利なツールを使うに限りますね。

muninのインストール

muninのインストールについては、以下の二つのサイトを参考にしました(google検索で「munin インストール」で上位に出てきます)。

muninは状態を知りたい対象のサーバ(muninクライアント)と閲覧するためのサーバ(muninサーバ)のどちらにもツールをインストールする必要があります。

今回は、弊社のサーバ群にmuninクライアントであるmunin-nodeをインストールしました。

$ sudo yum -y install munin-node --enablerepo=epel
$ sudo vi /etc/munin/munin-node.conf
allow ^aaa\.bbb\.ccc\.ddd$

allowの行にはmuninサーバのIPアドレスを記述します。

muninサーバにはmuninとmunin-nodeをインストールします(munin-nodeはmuninサーバ自体の負荷も見たいためインストール)。

$ sudo yum -y install munin --enablerepo=epel
$ sudo vi /etc/munin/munin.conf
dbdir   /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir  /var/run/munin

dbdir,htmldir,logdir,rundirのコメントを外します。

後、私の環境ではrpmforgeリポジトリが有効になっているとmunin関連ツールの依存関係の解決に失敗してインストール出来ませんでした。
この場合はrpmforgeリポジトリを無効にします。
(/etc/yum.repos.d/rpmforge.repo内のenabledを0にする)

Munstrapのインストール

Munin標準の画面はあまりイケていない、という事だったので最初からMunstrapをインストールしてみました。
Bootstrap調になってモダンな感じになるそうです^^)

以下の情報を参考にインストールしました。
munin の webUI をレスポンシブなものにする

そして、冒頭のスクリーンショットのようになれば一応の完成です!
画像ではローカルサーバの負荷を出してみました。さすがに負荷も少なく余裕一杯ですね!

まとめ

今日はサーバリソース監視ツールであるmuninのインストールについて紹介してみました。

弊社では、muninインストール後にサーバリソースを連続的に可視化出来るようになったため、何処に問題があるのかをメンバー全員で把握できるようになりました。

その事により、リソース負荷削減についてもメンバー全員の関心事となり、冒頭で挙げた「社内の限られた人でないと把握出来ない」状態から脱しつつあります。

サーバリソース管理についても今後は継続的に改善していきたいですね!

それではまた!