facebook twitter hatena line email

「Linux/muninインストール」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(参考)
 
(同じ利用者による、間の56版が非表示)
行1: 行1:
 +
=監視する側のmunin設定=
  
 
==muninインストール準備==
 
==muninインストール準備==
 +
redhut系
 
  # yum install munin --enablerepo=epel
 
  # yum install munin --enablerepo=epel
 +
debian系
 +
# apt-get install munin
  
==apacheのmunin設定==
+
==munin設定変更==
 +
# vi /etc/munin/munin.conf
 +
 
 +
コメントアウトを削除して以下追加
 +
dbdir  /var/lib/munin
 +
htmldir /var/www/munin
 +
logdir /var/log/munin
 +
rundir  /var/run/munin
 +
 
 +
==muninの管理画面のpath変更==
 +
例えば、/var/www/html/muninを/var/www/muninに変更したい場合は、
 +
/var/www/htmlにmuninに追加されてるので、muninを/var/www直下に変更して、以下ファイルも変更
 +
 
 +
# vi /etc/munin/munin.conf
 +
-htmldir /var/www/html/munin
 +
+htmldir /var/www/munin
 +
 
 +
==munin管理画面を表示==
 +
apacheの場合
 
  # vi /etc/httpd/conf.d/munin.conf
 
  # vi /etc/httpd/conf.d/munin.conf
 +
<VirtualHost *:80>
 +
  ServerName munin.kagoya
 +
  DocumentRoot "/var/www/munin"
 +
  HostNameLookups off
 +
  UseCanonicalName on
 +
  <Directory "/var/www/munin">
 +
    Options Indexes FollowSymLinks Includes ExecCGI
 +
    AllowOverride All
 +
    Allow from All
 +
  </Directory>
 +
</VirtualHost>
 +
 +
ngxinの場合
 +
# vi /etc/nginx/conf.d/munin.localhost.conf
 +
server {
 +
    listen      80;
 +
    server_name  munin.localhost;
 +
    location / {
 +
        alias /var/www/munin/;
 +
    }
 +
    location /nginx_status {
 +
        stub_status on;
 +
        access_log off;
 +
    }
 +
    location = /50x.html {
 +
        root  /usr/share/nginx/html;
 +
    }
 +
}
  
 
==muninの設定==
 
==muninの設定==
 +
監視する側
 +
# vi /etc/munin/munin.conf
 +
監視される側
 
  # vi /etc/munin/munin-node.conf
 
  # vi /etc/munin/munin-node.conf
  
監視されるサーバの場合は監視元サーバのIPを追加
+
==監視する側のmunin起動==
  allow ^192\.168\.0\.2$
+
  service munin start
 +
 
 +
5分すると/var/www/muninにhtmlファイルが追加され、munin.localhostが表示できるようになる
 +
 
 +
5分待てなければ以下を実行
 +
sudo -u munin munin-cron
 +
 
 +
==監視するサーバをmunin管理画面に追加==
 +
監視されるipを許可するために以下を監視するサーバに設定する
 +
 
 +
vi /etc/munin/munin.conf
 +
[localhost]
 +
    address 127.0.0.1
 +
    use_node_name yes
 +
[test1.example.com]
 +
    address 192.168.xxx.xxx
 +
    use_node_name yes
 +
 
 +
ここの[]に囲まれたものが管理画面に出てくる。
 +
 
 +
設定変更直後じゃなくて、5分ごとにcronが走るので、そのタイミングで変更される。
 +
 
 +
==munin自動起動==
 +
chkconfigの場合
 +
$ sudo /sbin/chkconfig munin on
 +
$ /sbin/chkconfig --list | grep  munin
 +
munin    0:off 1:off 2:on 3:on 4:on 5:on 6:off
 +
 
 +
systemctlの場合
 +
$ systemctl enable munin
 +
$ systemctl is-enabled munin
  
==監視されるmuninのcron設定==
+
==muninのcron設定==
 
  # vi /etc/cron.d/munin
 
  # vi /etc/cron.d/munin
  
==nginxの場合==
+
==port解放==
 +
$ vi /etc/sysconfig/iptables
 +
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT
 +
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT # サーバによってはこちら
 +
$ /etc/rc.d/init.d/iptables restart
 +
 
 +
=監視される側のmunin設定=
 +
 
 +
==muninインストール準備==
 +
redhut系
 +
# yum install munin-node --enablerepo=epel
 +
debian系
 +
# apt-get install munin-node
 +
 
 +
監視する側でなければmuninは不要でmunin-nodeのみで良い
 +
 
 +
==munin-node起動==
 +
service munin-node start
 +
 
 +
==munin自動起動==
 +
chkconfigの場合
 +
$ sudo /sbin/chkconfig munin-node on
 +
$ /sbin/chkconfig --list | grep  munin-node
 +
munin-node    0:off 1:off 2:on 3:on 4:on 5:on 6:off
 +
 
 +
systemctlの場合
 +
$ systemctl enable munin-node
 +
$ systemctl is-enabled munin-node
 +
 
 +
==監視されるサーバの場合は監視元サーバのIPを追加==
 +
# vi /etc/munin/munin-node.conf
 +
allow ^192\.168\.0\.2$
 +
 
 +
==監視されるサーバのhost名を変更==
 +
# vi /etc/munin/munin-node.conf
 +
 
 +
hogedomainに変更する場合は以下のように変更
 +
-host_name localhost.localdomain
 +
+host_name hogedomain
 +
 
 +
==nginx監視==
 
php-fpmで使えるように
 
php-fpmで使えるように
 
  cd /usr/share/munin/plugins
 
  cd /usr/share/munin/plugins
行27: 行150:
 
  ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_status phpfpm_status
 
  ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_status phpfpm_status
  
==nginxのstatusにアクセスできいるように==
+
===nginxのstatusにアクセスできるように===
 
  # vi /etc/php-fpm.d/www.conf
 
  # vi /etc/php-fpm.d/www.conf
 
  ;pm.status_path = /status
 
  ;pm.status_path = /status
 
  pm.status_path = /phpfpm_status
 
  pm.status_path = /phpfpm_status
  
vi etc/nginx/conf.d/default.conf
+
vi /etc/nginx/conf.d/default.conf
 
  server {
 
  server {
 
     listen      80;
 
     listen      80;
行62: 行185:
  
 
==監視稼働確認==
 
==監視稼働確認==
  /usr/sbin/munin-run phpfpm_average
+
  $ /usr/sbin/munin-run phpfpm_average #phpfpmの場合
 +
php_average.value 86642102
 +
$ /usr/sbin/munin-run load  #loadaverageの場合
 +
load.value 0.86
  
==監視サーバ追加==
+
==port解放==
vi /etc/munin/munin.conf
+
$ vi /etc/sysconfig/iptables
  [localhost]
+
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT
    address 127.0.0.1
+
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT # サーバによってはこちら
    use_node_name yes
+
$ /etc/rc.d/init.d/iptables restart
  [test1.example.com]
+
 
    address 192.168.xxx.xxx
+
=接続テスト=
    use_node_name yes
+
==telnet==
 +
監視する側から監視されるip接続を行う
 +
  telnet [ipアドレス] 4949
 +
 
 +
成功の場合
 +
Trying [ipアドレス]...
 +
Connected to [ipアドレス].
 +
  Escape character is '^]'.
 +
# munin node at [ipアドレス]
 +
 
 +
失敗の場合
 +
Trying [ipアドレス]...
 +
Connected to [ipアドレス].
 +
Escape character is '^]'.
 +
Connection closed by foreign host
 +
 
 +
ファイアウォール(iptables)やmunin-nodeが起動してない場合は失敗するので確認する。
 +
service munin-node start
 +
 
 +
==munin-node startでmunin-node line 36.が発生する場合==
 +
エラーメッセージ
 +
BEGIN failed--compilation aborted at /opt/munin/sbin/munin-node line 36.
 +
 
 +
$ sudo perl -MCPAN -e shell
 +
cpan[1]> install Net::Server::Fork
 +
 
 +
参考:https://www.atage.jp/archives/1644/
  
 
==参考==
 
==参考==
 
https://tech.basicinc.jp/articles/8
 
https://tech.basicinc.jp/articles/8
 
nginx + PHP-FPMをmuninでリソース監視する
 
nginx + PHP-FPMをmuninでリソース監視する
 +
 +
https://www.server-memo.net/server-setting/munin/munin-install.html
 +
Munin インストール
 +
 +
http://blog.katty.in/1598
 +
Muninの監視対象を追加する。

2022年9月16日 (金) 00:54時点における最新版

監視する側のmunin設定

muninインストール準備

redhut系

# yum install munin --enablerepo=epel

debian系

# apt-get install munin

munin設定変更

# vi /etc/munin/munin.conf

コメントアウトを削除して以下追加

dbdir   /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir  /var/run/munin

muninの管理画面のpath変更

例えば、/var/www/html/muninを/var/www/muninに変更したい場合は、 /var/www/htmlにmuninに追加されてるので、muninを/var/www直下に変更して、以下ファイルも変更

# vi /etc/munin/munin.conf
-htmldir /var/www/html/munin
+htmldir /var/www/munin

munin管理画面を表示

apacheの場合

# vi /etc/httpd/conf.d/munin.conf
<VirtualHost *:80>
  ServerName munin.kagoya
  DocumentRoot "/var/www/munin"
  HostNameLookups off
  UseCanonicalName on
  <Directory "/var/www/munin">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

ngxinの場合

# vi /etc/nginx/conf.d/munin.localhost.conf
server {
    listen       80;
    server_name  munin.localhost;
    location / {
        alias /var/www/munin/;
    }
    location /nginx_status {
        stub_status on;
        access_log off;
    }
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

muninの設定

監視する側

# vi /etc/munin/munin.conf

監視される側

# vi /etc/munin/munin-node.conf

監視する側のmunin起動

service munin start

5分すると/var/www/muninにhtmlファイルが追加され、munin.localhostが表示できるようになる

5分待てなければ以下を実行

sudo -u munin munin-cron

監視するサーバをmunin管理画面に追加

監視されるipを許可するために以下を監視するサーバに設定する

vi /etc/munin/munin.conf

[localhost]
   address 127.0.0.1
   use_node_name yes
[test1.example.com]
   address 192.168.xxx.xxx
   use_node_name yes

ここの[]に囲まれたものが管理画面に出てくる。

設定変更直後じゃなくて、5分ごとにcronが走るので、そのタイミングで変更される。

munin自動起動

chkconfigの場合

$ sudo /sbin/chkconfig munin on
$ /sbin/chkconfig --list | grep  munin
munin     	0:off	1:off	2:on	3:on	4:on	5:on	6:off

systemctlの場合

$ systemctl enable munin
$ systemctl is-enabled munin

muninのcron設定

# vi /etc/cron.d/munin

port解放

$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT # サーバによってはこちら
$ /etc/rc.d/init.d/iptables restart

監視される側のmunin設定

muninインストール準備

redhut系

# yum install munin-node --enablerepo=epel

debian系

# apt-get install munin-node

監視する側でなければmuninは不要でmunin-nodeのみで良い

munin-node起動

service munin-node start

munin自動起動

chkconfigの場合

$ sudo /sbin/chkconfig munin-node on
$ /sbin/chkconfig --list | grep  munin-node
munin-node     	0:off	1:off	2:on	3:on	4:on	5:on	6:off

systemctlの場合

$ systemctl enable munin-node
$ systemctl is-enabled munin-node

監視されるサーバの場合は監視元サーバのIPを追加

# vi /etc/munin/munin-node.conf
allow ^192\.168\.0\.2$

監視されるサーバのhost名を変更

# vi /etc/munin/munin-node.conf

hogedomainに変更する場合は以下のように変更

-host_name localhost.localdomain
+host_name hogedomain

nginx監視

php-fpmで使えるように

cd /usr/share/munin/plugins
sudo git clone git://github.com/tjstein/php5-fpm-munin-plugins.git
sudo chmod +x php5-fpm-munin-plugins/phpfpm_*
cd /etc/munin/plugins/
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_average phpfpm_average
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_connections phpfpm_connections
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_memory phpfpm_memory
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_processes phpfpm_processes
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_status phpfpm_status

nginxのstatusにアクセスできるように

# vi /etc/php-fpm.d/www.conf
;pm.status_path = /status
pm.status_path = /phpfpm_status

vi /etc/nginx/conf.d/default.conf

server {
   listen       80;
   server_name  localhost;
   location /nginx_status {
       stub_status on;
       access_log off;
       allow 127.0.0.1;
       deny all;
   }
   location /phpfpm_status {
       include fastcgi_params;
       fastcgi_pass localhost:9000;
       fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
       allow 127.0.0.1;
       deny all;
   }
 }

以下で動作確認

 wget http://localhost/phpfpm_status

監視対象サービス追加

vi /etc/munin/plugin-conf.d/munin-node
[nginx*]
env.url http://localhost/nginx_status
[phpfpm*]
env.url http://localhost/phpfpm_status
env.phpbin php-fpm

監視稼働確認

$ /usr/sbin/munin-run phpfpm_average #phpfpmの場合
php_average.value 86642102
$ /usr/sbin/munin-run load  #loadaverageの場合
load.value 0.86

port解放

$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT # サーバによってはこちら
$ /etc/rc.d/init.d/iptables restart

接続テスト

telnet

監視する側から監視されるip接続を行う

telnet [ipアドレス] 4949

成功の場合

Trying [ipアドレス]...
Connected to [ipアドレス].
Escape character is '^]'.
# munin node at [ipアドレス]

失敗の場合

Trying [ipアドレス]...
Connected to [ipアドレス].
Escape character is '^]'.
Connection closed by foreign host

ファイアウォール(iptables)やmunin-nodeが起動してない場合は失敗するので確認する。

service munin-node start

munin-node startでmunin-node line 36.が発生する場合

エラーメッセージ

BEGIN failed--compilation aborted at /opt/munin/sbin/munin-node line 36.
$ sudo perl -MCPAN -e shell
cpan[1]> install Net::Server::Fork

参考:https://www.atage.jp/archives/1644/

参考

https://tech.basicinc.jp/articles/8 nginx + PHP-FPMをmuninでリソース監視する

https://www.server-memo.net/server-setting/munin/munin-install.html Munin インストール

http://blog.katty.in/1598 Muninの監視対象を追加する。