親子丼の備忘録

親子丼が技術的なことや個人的なことを忘れないように書き綴ります。

早く寝ないでMuninセットアップ、ですけど。

おやこどぅぉーーん。
どうも、親子丼です。

2016/5/30 (Mon.)

早く寝、なかった。

「早く寝る!」とか書いておきながら実際、日付が変わって1時まで起きていて
今日は月曜日だというのに眠くて仕方がありませんでしたorz
しかも、暑いし。
朝:雨降りそうだな
電車から出ると:暑っ。
なんだこれ、予報も何もなかった。

「Munin」のインストール

昨日夜遅くまでやっていた作業と言うのは、サーバの状態を監視できる
「Munin」というツールのインストールです。
前々からやっていましたが、うまく表示されず挫折しておりました。
が、なんかアンインストールしてまたやったらうまくいったので、ここに記しておきます。

0. 前提

OSは、Ubuntu 16.04 Server。
Webサーバはnginxで「/var/www/html」にHTMLが置いてあることにします。

1. apt-get

必要なものは全てapt-getで手に入ります。超便利、大好き、スーパー牛さんパワー!

$ sudo apt-get update  
$ sudo apt-get install -y munin munin-node libwww-perl  

「libwww-perl」で地味に詰まってたりする。

2. 設定

インストールが終わったら、nginxの設定ファイル(既定では、/etc/nginx/sites-avaliable/default)を編集します。
設定したものを載せます。

$ cat /etc/nginx/sites-avaliable/default  
server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm;

        server_name localhost;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # ここからMunin設定
        location /nginx_status {
                stub_status on;
                access_log off;
                allow 127.0.0.1;
                deny  all;
        }
        # ここまで
}

次にMuninプラグインの設定(/etc/munin/plugin-conf.d/munin-node)。

$ cat /etc/munin/plugin-conf.d/munin-node
(・・・前略・・・)

[nginx*]
env.url http://localhost/nginx_status

最後にMuninの設定ファイル(/etc/munin/munin.conf)です。

$ cat /etc/munin/munin.conf
# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files.  They all
# must be writable by the user running munin-cron.  They are all
# defaulted to the values you see here.
#
dbdir   /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir  /var/run/munin

# Where to look for the HTML templates
#
tmpldir /etc/munin/templates

# Where to look for the static www files
#
#staticdir /etc/munin/static
(・・・後略・・・)

こんなもん。vimとかemacsとかnanoとか使って編集してください(suで)

3. コマンドォー!

あとはコマンド叩くだけよ。
プラグイン設定

$ sudo ln -s /usr/share/munin/plugins/nginx_request /etc/munin/plugins/nginx_request
$ sudo ln -s /usr/share/munin/plugins/nginx_status /etc/munin/plugins/nginx_status

・フォルダ作り

$ sudo mkdir -p /var/www/html/munin
$ sudo chown munin:munin /var/www/html/munin

・最後にサーバとMunin-nodeを再起動

$ sudo service nginx restart
$ sudo service munin-node restart

これで上のツイートの画像のようなグラフィカルなグラフで状況が見えるよ、やったね!

番外:認証

今の設定だと、サーバを公開している場合、状況にどこからでもアクセスできちゃうので
認証かけます。
(/etc/nginx/sites-avaliable/default)

        location /munin {
                auth_basic "Restricted";
                auth_basic_user_file /var/www/html/munin/.htpasswd;
        }

で、.htpasswdファイルを/var/www/html/munin/下に作ってください。
(sudo htpasswd -c -b .htpasswd [username] [password]で作れるって書いてあることが多いけど、
Apacheインストールしてないのでこのコマンドは使えません。なので、Webで作れるサービスがあるので
それの内容をコピペすると良い)
後は再起動(上記)。
これでBasic認証が出来ました。

ということで今日は「早く寝ないでMuninセットアップ」のお話でした、では今日はこの辺で。
それでは、また。
親子丼でした。


※今日の一言
 やったねたえちゃん!技術的備忘録が増えるよ!(やめろ)

Copyright © 2015-2017 Oyakodon All Rights Reserved.