harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

超久々にmuninをインストール

   


新規システムを作ったので、それに合わせてかれこれ5~6年ぶり位にmuninのインストールを。
サーバーはCentOS6.*。

1)rrdtoolのアップデート

デフォルトリポジトリ(base)のrrdtoolは1.3.8、対してmuninで要求されるバージョンは1.4.5。
これはrpmforgeのextraで取得できるが、アップデートの際はbaseを見に行ってしまうため
オプションを追加してrpmforge-extrasのリポジトリを有効、baseを一時的に無効にしてあげ必要がある。

  • 新規インストールの場合
    # yum --enablerepo=rpmforge-extras --disablerepo=base install rrdtool
  • アップデートの場合
    # yum --enablerepo=rpmforge-extras --disablerepo=base update rrdtool

2)muninインストール

例によって関連パッケージがうじゃうじゃ。

# yum install munin munin-node

Dependencies Resolved

==============================================================================================================================================================
 Package                                             Arch                          Version                              Repository                       Size
==============================================================================================================================================================
Installing:
 munin                                               noarch                        1.4.6-4.el6.2                        epel                            122 k
 munin-node                                          noarch                        1.4.6-4.el6.2                        epel                            372 k
Installing for dependencies:
 munin-common                                        noarch                        1.4.6-4.el6.2                        epel                             68 k
 perl-Email-Date-Format                              noarch                        1.002-5.el6                          base                             16 k
 perl-HTML-Template                                  noarch                        2.9-10.el6                           epel                             70 k
 perl-Log-Dispatch                                   noarch                        2.27-1.el6                           epel                             71 k
 perl-Log-Dispatch-FileRotate                        noarch                        1.19-4.el6                           epel                             24 k
 perl-Log-Log4perl                                   noarch                        1.30-1.el6                           epel                            392 k
 perl-MIME-Lite                                      noarch                        3.027-2.el6                          base                             82 k
 perl-MIME-Types                                     noarch                        1.28-2.el6                           base                             32 k
 perl-Mail-Sender                                    noarch                        0.8.16-3.el6                         epel                             54 k
 perl-Mail-Sendmail                                  noarch                        0.79-12.el6                          epel                             28 k
 perl-Net-Server                                     noarch                        0.99-1.el6.rf                        rpmforge                        171 k
 perl-Params-Validate                                i686                          0.92-3.el6                           base                             75 k
 perl-XML-DOM                                        noarch                        1.44-7.el6                           base                            136 k
 perl-XML-RegExp                                     noarch                        0.03-7.el6                           base                            9.8 k

Transaction Summary
==============================================================================================================================================================
Install      16 Package(s)

Total download size: 1.7 M
Installed size: 4.1 M
Is this ok [y/N]:

3)SNMP経由でWindowsサーバーの監視を設定

munin-node-configureを実行して、設定可能かどうかをチェックし、つづけてプラグインに対するシンボリックリンクを作成する。

1)/etc/hosts

→ホスト名と対応するIPを設定。

  • 設定例
      192.168.100.254 HOGEHOGE

2)/etc/munin/munin.conf

 →対象ホストの設定を記述。

  • 設定例
     [HOGEHOGE]

       address 127.0.0.1	←監視サーバーのIPを設定(監視対象サーバーのIPではないので注意)
       use_node_name no

3)取得可能リソースのチェック

コマンド"munin-node-configure"を使って、取得可能リソースと対応するプラグインを確認

  • 書式例
    # munin-node-configure --snmp <ホスト名> --snmpversion snmpv<バージョン> --snmpcommunity <コミュニティ名> --suggest
  • 実行例
    # munin-node-configure --snmp HOGEHOGE --snmpversion snmpv1 --snmpcommunity public --suggest
    
    
    Plugin                     | Used | Suggestions
    ------                     | ---- | -----------
    snmp__cpuload              | no   | yes (+192.168.100.254)
    snmp__df                   | no   | yes (+192.168.100.254)
    snmp__df_ram               | no   | yes (+192.168.100.254)
    snmp__fc_if_               | no   | no
    snmp__fc_if_err_           | no   | no
    snmp__if_                  | no   | yes (+192.168.100.254/1 +192.168.100.254/2 +192.168.100.254/3)
    snmp__if_err_              | no   | yes (+192.168.100.254/1 +192.168.100.254/2 +192.168.100.254/3)
    snmp__if_multi             | no   | yes (+192.168.100.254)
    snmp__load                 | no   | no
    snmp__memory               | no   | yes (+192.168.100.254)
    snmp__netapp_diskusage_    | no   | no
    snmp__netapp_inodeusage_   | no   | no
    snmp__netstat              | no   | yes (+192.168.100.254)
    snmp__print_pages          | no   | no
    snmp__print_supplies       | no   | no
    snmp__processes            | no   | yes (+192.168.100.254)
    snmp__rdp_users            | no   | yes (+192.168.100.254)
    snmp__sensors_fsc_bx_fan   | no   | no
    snmp__sensors_fsc_bx_temp  | no   | no
    snmp__sensors_fsc_fan      | no   | no
    snmp__sensors_fsc_temp     | no   | no
    snmp__sensors_mbm_fan      | no   | no
    snmp__sensors_mbm_temp     | no   | no
    snmp__sensors_mbm_volt     | no   | no
    snmp__swap                 | no   | yes (+192.168.100.254)
    snmp__uptime               | no   | yes (+192.168.100.254)
    snmp__users                | no   | yes (+192.168.100.254)
    snmp__winload              | no   | yes (+192.168.100.254)
    snmp__winmem               | no   | yes (+192.168.100.254)

上記の出力結果のうち、"Suggestions"でyesのものはステータス取得が可能。

)シンボリックリンク作成

プラグインへのリンクを作成する場合は、munin-node-configureにオプション"–shell"をつけると作成可能なリンクコマンドが出力される。

# munin-node-configure --shell --snmp HOGEHOGE --snmpversion snmpv1 --snmpcommunity public --suggest
ln -s '/usr/share/munin/plugins/snmp__cpuload' '/etc/munin/plugins/snmp_HOGEHOGE_cpuload'
ln -s '/usr/share/munin/plugins/snmp__df' '/etc/munin/plugins/snmp_HOGEHOGE_df'
ln -s '/usr/share/munin/plugins/snmp__df_ram' '/etc/munin/plugins/snmp_HOGEHOGE_df_ram'
ln -s '/usr/share/munin/plugins/snmp__if_' '/etc/munin/plugins/snmp_HOGEHOGE_if_1'
ln -s '/usr/share/munin/plugins/snmp__if_' '/etc/munin/plugins/snmp_HOGEHOGE_if_2'
ln -s '/usr/share/munin/plugins/snmp__if_' '/etc/munin/plugins/snmp_HOGEHOGE_if_3'
ln -s '/usr/share/munin/plugins/snmp__if_err_' '/etc/munin/plugins/snmp_HOGEHOGE_if_err_1'
ln -s '/usr/share/munin/plugins/snmp__if_err_' '/etc/munin/plugins/snmp_HOGEHOGE_if_err_2'
ln -s '/usr/share/munin/plugins/snmp__if_err_' '/etc/munin/plugins/snmp_HOGEHOGE_if_err_3'
ln -s '/usr/share/munin/plugins/snmp__if_multi' '/etc/munin/plugins/snmp_HOGEHOGE_if_multi'
ln -s '/usr/share/munin/plugins/snmp__memory' '/etc/munin/plugins/snmp_HOGEHOGE_memory'
ln -s '/usr/share/munin/plugins/snmp__netstat' '/etc/munin/plugins/snmp_HOGEHOGE_netstat'
ln -s '/usr/share/munin/plugins/snmp__processes' '/etc/munin/plugins/snmp_HOGEHOGE_processes'
ln -s '/usr/share/munin/plugins/snmp__rdp_users' '/etc/munin/plugins/snmp_HOGEHOGE_rdp_users'
ln -s '/usr/share/munin/plugins/snmp__swap' '/etc/munin/plugins/snmp_HOGEHOGE_swap'
ln -s '/usr/share/munin/plugins/snmp__uptime' '/etc/munin/plugins/snmp_HOGEHOGE_uptime'
ln -s '/usr/share/munin/plugins/snmp__users' '/etc/munin/plugins/snmp_HOGEHOGE_users'
ln -s '/usr/share/munin/plugins/snmp__winload' '/etc/munin/plugins/snmp_HOGEHOGE_winload'
ln -s '/usr/share/munin/plugins/snmp__winmem' '/etc/munin/plugins/snmp_HOGEHOGE_winmem'

上記のコマンドを実行して監視を開始する。

  • [手抜き技]
    作成するシンボリックリンクが多い場合はテキストに落として、read LINEするなどで。

    # munin-node-configure --shell --snmp HOGEHOGE --snmpversion snmpv1 --snmpcommunity public --suggest > /var/tmp/slink.txt
    # while read line; do $line ; done < /var/tmp/slink.txt

    →実行後、/etc/munin/plugins/以下にシンボリックリンクが作成されていることを確認する。

5)munin-node登録

設定ファイル:/etc/munin/plugin-conf.d/munin-node

  • 設定内容
    上記で登録したシンボリックリンク先のプラグインを実行する設定。
    シンボリックリンクの"snmp_HOGEHOGE_"以下をアスタリスクで指定してすべて対象にしておく。
    そのほか実行時に使用するSNMPのバージョンとコミュニティを指定。
  • 設定例
    	[snmp_HOGEHOGE_*]
    	env.version 1
    	env.community public

6)munin-nodeの再起動

 # /etc/init.d/munin-node restart

tip:munin-updateのデバッグモード

munin-updateの動作チェック用に。
muninユーザーにsu – してから実施する。

# su - munin --shell=/bin/bash
-bash-4.1$ /usr/share/munin/munin-update --nofork --debug

 - infra, サーバー, サーバー監視, メモ ,