この記事で監視サーバーが監視対象サーバーと接続して、サーバー自体のリソースを監視する方法を紹介しました。今回の記事では監視サーバーが監視対象サーバーのミドルウェア(Apache2.4とMySQL5.6)を監視するための設定方法をご紹介します。
監視項目の追加(Apache2.4)
監視対象サーバーが動作しているかどうか確認した上で、Apacheを監視項目として追加します。
監視対象サーバーの動作確認
# munin-run load load.value 0.03
まず監視対象サーバーにおいてMuninが動作しているか確認しましょう。試しにmunin-runコマンドを使いロードアベレージを取得します。コマンドを実行して何らかの数値が表示されていれば、監視対象サーバーの中でMuninが正常に動作していることになります。
シンボリックリンクの作成
# ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses # ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes # ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume
/usr/share以下から利用したApache監視用のプラグインをMuninのプラグインディレクトリにおいて、シンボリックリンクを貼ります。
設定ファイルの作成と記述
# cd /etc/httpd/conf.d/ # vi status.conf <IfModule mod_status.c> ExtendedStatus On <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location> </IfModule>
Apacheの中にある設定用ディレクトリの中で、新たにstatus.confを作成しmunin用の設定を書き込みます。
監視対象サーバーにおける監視動作の確認
# munin-run apache_accesses accesses80.value 0 # munin-run apache_processes busy80.value 1 idle80.value 4 free80.value 251 # munin-run apache_volume volume80.value 1024
munin-runコマンドを使って、監視対象サーバーにおいてApacheが監視項目として設定されているかどうか確認します。それぞれコマンドを実行し、何らかの数字が表示されれば設定が成功していることになります。
ブラウザ上で監視サーバーの確認
最後にブラウザで設定が反映されているかどう確認します。設定後に5分ほど経過すると、監視サーバーのホーム画面で監視対象サーバーのApacheが監視項目として追加されていることが分かります。
監視項目の追加(MySQL5.6)
MySQLの監視についてもApacheを監視項目として追加するときと似ています。ですがMySQLを監視項目として追加するときは、がボトルネックとなっているときのログを別途作成する必要があります
Munin専用の作業用ユーザーの作成
# mysql -uroot -pYOURROOTPASSWORD mysql> create user yourusername@localhost identified by 'YOURUSERPASSWORD'; mysql> grant all on *.* to yourusername@localhost;
監視サーバーが監視対象サーバーのMySQLにインストールできるように、MySQLにrootでログインしてMunin専用の作業用ユーザーを作成します。
シンボリックリンクの作成
# ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/ # ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/ # ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/ # ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/
/usr/share以下から利用したMySQL監視用のプラグインをMuninのプラグインディレクトリにおいて、シンボリックリンクを貼ります。
Muninにおける設定ファイルの追記
# vi /etc/munin/plugin-conf.d/munin-node [mysql*] env.mysqlopts -uyourusername -pYOURUSERPASSWORD -h localhost --port=3306
MuninがMySQLにアクセスするための情報を、Muninの設定ファイルに追加します。
my.cnfにスロークエリログ出力の設定
# vi /etc/my.cnf slow_query_log=1 slow_query_log_file=/var/log/mysql-slow.log long_query_time=10
スロークエリを監視するためにmy.cnf(MySQLの設定ファイル)にログ出力の設定をします。スロークエリログ (Slow query log) は、MySQLで出力できるログの種類の1つです。 任意で指定した時間よりもかかってしまったクエリ文を全て出力することができます。
ログファイルのユーザー名とグループ名を編集
# touch /var/log/mysql-slow.log # chown mysql:mysql /var/log/mysql-slow.log
MySQLがスロークエリのログファイルを書き込みができるように、ユーザー名とグリープ名を”mysql”とします
各サービスの再起動
# systemctl restart mysqld.service # systemctl restart munin-node.service
これまでの作業で行ったMuninとMySQLの設定変更を反映させるために、各サービスの再起動を行います。
監視対象サーバーにおける監視動作の確認
# munin-run mysql_bytes recv.value 424 sent.value 256 # munin-run mysql_queries Warning: Using a password on the command line interface can be insecure. delete.value 0 insert.value 0 replace.value 0 select.value 0 update.value 0 cache_hits.value 0 # munin-run mysql_slowqueries queries.value 0 # munin-run mysql_threads threads.value 1
munin-runコマンドを使って、監視対象サーバーにおいてMySQLが監視項目として設定されているかどうか確認します。それぞれコマンドを実行し、何らかの数字が表示されれば設定が成功していることになります。
ブラウザ上で監視サーバーの確認
最後にブラウザで設定が反映されているかどう確認します。設定後に5分ほど経過すると、監視サーバーのホーム画面で監視対象サーバーのApacheが監視項目として追加されていることが分かります。