リソース監視Muninインストール

AWS Amazon Linux上へセットアップを想定

サーバのリソースを確認できるmuninをインストールする。
CPU、メモリの仕様状況、DBへの接続状況などなどが視覚的に把握できます。

http://munin-monitoring.org/

監視される側セットアップ

munin-node インストール

$ sudo yum install munin-node

セットアップ

設定ファイルへ監視を行うサーバの情報追記

/etc/munin/munin-node.conf

allow ^172\.xx\.xx\.xx$

munin-nodeをデーモンに追加

$ sudo chkconfig munin-node start

これで基本的なリソースについては情報が送られるようになる。

MySQL監視の例

MySQLなど別途監視を行う場合にはプラグインの設定が必要になる。

必要そうなパッケージインストール

yum install --enablerepo=epel perl-IPC-ShareLite perl-Cache-Cache perl-Cache perl-DBD-MySQL

MySQL監視項目追加

vi /etc/munin/plugin-conf.d/munin-node

[mysql*]
env.mysqlopts -u maintenance -pmuninmaintenance
env.mysqladmin /usr/bin/mysqladmin
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
env.mysqluser maintenance
env.mysqlpassword xxxxxxxxxx

Muninのプラグインディレクトリからリンクを貼る

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_commands
ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_bpool
ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_io
ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_log
ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_tnx
ln -s /usr/share/munin/plugins/mysql_ mysql_select_types
ln -s /usr/share/munin/plugins/mysql_ mysql_table_locks
ln -s /usr/share/munin/plugins/mysql_ mysql_connections
ln -s /usr/share/munin/plugins/mysql_ mysql_slow
ln -s /usr/share/munin/plugins/mysql_ mysql_myisam_indexes
ln -s /usr/share/munin/plugins/mysql_ mysql_network_traffic
ln -s /usr/share/munin/plugins/mysql_ mysql_qcache
ln -s /usr/share/munin/plugins/mysql_ mysql_qcache_mem
/etc/init.d/munin-node restart

監視する側のセットアップ

  • 監視する側のmuninはデーモンとして起動せずcronで定期的にデータを取得する

インストール

$ sudo yum install munin

インストールを行うと /etc/httpd/conf.d/munin.conf が登録されている

セットアップ

設定ファイルへ監視するサーバの情報入力
/etc/munin/munin.conf

[グループ名;監視対象サーバ名]
      address IPADDRESS
      use_node_name yes

ex...
[WEB;Web01]
      address 172.xx.xx.xx
      use_node_name yes

# WEBグループのWeb01サーバとして表示されるようになる

リソース情報の閲覧

URL: http://xxx.xxx.com/munin/

こんな画面出てくればOK

いつまでたってもデータが生成されない場合

  • デーモンの再起動
  • cronが正しく動いているか確認
  • そもそもサーバがデータを取ってきているか確認(telnet)

Telnetによるデータ取得の確認方法

$ telnet xxx.xxx.xxx.xxx 4949

それらしい文字列でてくればOK

nmapによるポートが開いてるか確認

$ nmap xxx.xxx.xxx.xxx -p 4949

ここでアクセスができないとそもそもデータが取得できていない
アクセス出来ない場合FW等を調べてアクセスできるか確認する