備忘録

備忘録

Muninを利用してサーバをモニタリングする方法

Ⅰ. はじめに

タイトルの通り「Muninを利用してサーバをモニタリングする方法」です。

Ⅱ. 環境

Ⅲ. やり方

(1) Webサーバ側

1. Munin をインストールする
apt install munin
2. Muninの設定を行う
$ vim /etc/munin/munin.conf
htmldir /var/www/html/munin

[server001]
  address 192.168.0.2
  use_node_name yes

[server002]
  address 192.168.0.3
  use_node_name yes
3. Nginxをインストールする
apt install nginx
4. Nginxの設定を行う
mkdir -p /var/www/html/munin
chown -R munin:munin /var/www/html/munin
$ htpasswd -c /etc/nginx/conf.d/.htpasswd_munin admin
$ rm /etc/nginx/sites-enabled/default
$ vim /etc/nginx/conf.d/munin.conf
server {
  listen 80;
  server_name _;
  root /var/www/html/munin;
  index index.html;

  location / {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/conf.d/.htpasswd_munin;
  }
}
5. nginxを起動する
systemctl enable nginx
systemctl restart nginx

(2) 監視される側

1. Munin nodeをインストールする
apt install munin-node
2. Munin nodeの設定を行う
$ vim /etc/munin/munin-node.conf
port 4949
host *
allow ^192\.168\.0\.1$
# ディスクログを取らない
mv /etc/munin/plugins/diskstats /etc/munin/plugins/diskstats.bak
# inodeのログを取らない
mv /etc/munin/plugins/df_inode /etc/munin/plugins/df_inode.bak
# muninのログを取らない
mv /etc/munin/plugins/munin_stats /etc/munin/plugins/munin_stats.bak
# entropyのログを取らない
mv /etc/munin/plugins/entropy /etc/munin/plugins/entropy.bak
# forkのログを取らない
mv /etc/munin/plugins/forks /etc/munin/plugins/forks.bak
# fw_packetsのログを取らない
mv /etc/munin/plugins/fw_packets /etc/munin/plugins/fw_packets.bak
# if_err_eth0のログを取らない
mv /etc/munin/plugins/if_err_eth0 /etc/munin/plugins/if_err_eth0.bak
# irqstatsのログを取らない
mv /etc/munin/plugins/irqstats /etc/munin/plugins/irqstats.bak
# loadのログを取らない
mv /etc/munin/plugins/load /etc/munin/plugins/load.bak
# open_filesのログを取らない
mv /etc/munin/plugins/open_files /etc/munin/plugins/open_files.bak
# open_inodesのログを取らない
mv /etc/munin/plugins/open_inodes /etc/munin/plugins/open_inodes.bak
# processesのログを取らない
mv /etc/munin/plugins/processes /etc/munin/plugins/processes.bak
# proc_priのログを取らない
mv /etc/munin/plugins/proc_pri /etc/munin/plugins/proc_pri.bak
# usersのログを取らない
mv /etc/munin/plugins/users /etc/munin/plugins/users.bak
# vmstatのログを取らない
mv /etc/munin/plugins/vmstat /etc/munin/plugins/vmstat.bak
3. Munin nodeを起動する
systemctl enable munin-node
systemctl restart munin-node

実行結果

f:id:kagasu:20200924105622p:plain

FAQ

Q. モニタリングの間隔は?

A. デフォルト設定で5分ごとです。

Q. Muninの起動設定は?

A. Muninインストール時にmuninユーザのcronに自動登録される為不要です。

Q. 今すぐデータを取得したい

A. 以下コマンドで可能です。

su - munin --shell=/usr/bin/munin-cron