1年前あたりから書き始め、1秒間のリクエスト数がそこそこになったWebサービスがある。
今までは使用者が身内で二人だったので特に気にしていなかったのですが、
そろそろ利用者も増えてきそうな兆しが見えてきたので、
増える前にサーバの監視を行うことにした。
サーバの監視をするためにMuninを採用することにした。
Muninをインストールした時のメモとして記事を投稿する。
サーバの環境はUbuntu 16.04です。
インストール前にMuninの簡単な説明を書いておく。
監視対象のサーバに定期的にリクエストを送信し、
監視対象のサーバから返ってきたレスポンスを元に、
こんな感じのグラフを作成したり、
監視対象のサーバに異常があった場合はアラートのメールを送信出来たりする。
Ubuntu 16.04にさっそくインストールしてみる。
※emacsはすでに入っているものとします
#sysv-rc-confのインストール。sysv-rc-confはサーバ起動時に立ち上げるアプリを指定する sudo apt-get install sysv-rc-conf #apacheのインストール sudo apt-get install apache2 #OSの再起動時にapache2を自動起動 sudo sysv-rc-conf apache2 on #muninのインストール sudo apt-get install munin munin-node
muninはApache上で動作するので、Muninよりも前にApacheをインストールしておきます。
Muninのインストール時にmuninとmunin-nodeをインストールしているが、
munin-nodeで収集したデータをmuninで表示するため、
監視用のサーバ自体の監視が必要なければ、munin-nodeをインストールする必要はありません。
muninはインストールすればすぐに動くということで、ブラウザで確認してみる。
※muninの画面はhttp://ドメイン/muninになります。
あれ?
アクセスが禁止されている。
どうやらサーバにMuninを設置する場合はApache側でアクセス制限を外さなければならないらしい。
というわけでアクセス制限を外す設定をしてみる。
sudo emacs /etc/apache2/conf-enabled/munin.conf
munin.confを開き、下記のように変更
Require local → Require all granted
ファイルの変更後、
sudo /etc/init.d/apache2 restart
でApacheの再起動を行い、改めてブラウザを開いてみると、
無事に開けた!
しばらくすると上記の画像の様に収集結果も表示される。
現時点では、Apache側ですべてのアクセスを許可しているので、
Basic認証をつけて対応してみる。
sudo emacs /etc/apache2/conf-enabled/munin.conf
再び、Apache側にあるMuninの設定ファイルを開き、下記のように修正する。
Require all granted Options Noneを AllowOverride All AuthUserfile /var/cache/munin/www/.htpasswd AuthName "Please enter your ID and password" AuthType Basic Require valid-user に変更
AuthUserfileで指定したディレクトリにBasic認証のパスワード用のファイルを準備して、
sudo /etc/init.d/apache2 restart
Apache2を再起動して、改めてMuninのページを表示してみる。
最後に念の為にファイアーウォールも設定をしておく。
sudo ufw default deny #Apacheでサイトを開いているので念の為 sudo ufw allow 80 sudo ufw allow 443 #munin-node用のポート sudo ufw allow 4949 sudo ufw enable #ファイアウォールの設定に間違いないか確認 sudo ufw status
これで終了。
次回は監視対象のサーバの設定方法について
-続く-