「Linux/muninインストール」の版間の差分
(→参考) |
|||
(同じ利用者による、間の56版が非表示) | |||
行1: | 行1: | ||
+ | =監視する側のmunin設定= | ||
==muninインストール準備== | ==muninインストール準備== | ||
+ | redhut系 | ||
# yum install munin --enablerepo=epel | # 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 | # 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 | ||
− | + | ==監視する側の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 | # 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で使えるように | 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にアクセスできるように=== |
# 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/ | + | $ 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 | 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の監視対象を追加する。