システム監視ツール munin のインストール
munin(マスタ)と munin-node(データ収集)をインストールする。バージョンは 2.0.75 である。データは RRDtool 形式で 5 分間隔に収集され、/var/lib/munin に保存される。生成された HTML とグラフは /var/cache/munin/www に置かれ、Apache で表示する。munin-node は TCP 4949 番ポートを使い、接続元は allow ディレクティブで制限する。
前準備
事前にインストールが必要なソフトウェア
- Web サーバ Apache のインストールが済んでいる必要がある。
Munin のインストール
Ubuntu でのインストール手順
端末で次のコマンドを実行する。sudo apt update でパッケージリストを更新し、sudo apt -y install munin munin-node で munin(マスタ機能)と munin-node(データ収集機能)をインストールする。
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install munin munin-node
設定
- munin.conf の設定
マスタ側の設定ファイルは
/etc/munin/munin.confである。このファイルで監視対象ホスト(ノード)の定義やグラフの表示方法を設定する。監視対象を追加する場合は、[hostname.domain]の形式でセクションを作り、addressでアドレスを指定する。portを省略した場合は 4949 番ポートが使われる。[node1.example.com] address 192.168.1.101 use_node_name yesデータの保存先は
dbdir(既定値/var/lib/munin)、HTML とグラフの出力先はhtmldir(Ubuntu のパッケージでは/var/cache/munin/www)で指定する。グラフと HTML の生成方法はgraph_strategyとhtml_strategyで選ぶ。cronを指定すると 5 分間隔でまとめて生成し、cgiを指定すると Web サーバがアクセス時に生成する。RRD ファイルの解像度と保存期間はgraph_data_sizeで指定する。 - munin-node の設定
ノード側の設定ファイルは
/etc/munin/munin-node.confである。allowディレクティブは正規表現で接続元を指定し、cidr_allowディレクティブは CIDR 表記で接続元を指定する。マスタの IP アドレスからのアクセスだけを許可する設定は次の通りである。allow ^192\.168\.1\.100$リモートホストを監視対象とする場合は、そのホストのファイアウォールで TCP 4949 番ポートへのアクセスを許可する。
ufwを使う場合、端末で次のコマンドを実行する。sudo ufw allow from 192.168.1.100 to any port 4949 proto tcpサービスの稼働状態は、端末で次のコマンドを実行して確認する。
sudo systemctl status munin-node.service - プラグインの管理
Munin はプラグインで監視項目を追加する。標準プラグインは
/usr/share/munin/pluginsに置かれ、有効化されたプラグインのシンボリックリンクが/etc/munin/pluginsに置かれる。CPU、メモリ、ディスク、ネットワークなどのシステムリソースのプラグインに加え、Apache や MySQL などのサービス用のプラグインも用意されている。利用可能なプラグインの判定結果を確認するには、端末で次のコマンドを実行する。
sudo munin-node-configure --suggest判定結果をまとめて反映するには、端末で次のコマンドを実行する。
sudo munin-node-configure --shell | sudo sh -x sudo systemctl restart munin-node.service - Apache 連携設定の有効化
Munin の Apache 用設定ファイルは
/etc/munin/apache24.confで、/etc/apache2/conf-available/munin.confからシンボリックリンクされている。既定ではローカルからのアクセスだけを許可するRequire localが記述されている。他のホストからアクセスする場合は、次のように接続元を追加する。Require local Require ip 192.168.1.0/24設定ファイルを編集した後、端末で次のコマンドを実行し、設定を有効化して Apache に読み込ませる。
sudo a2enconf munin sudo systemctl reload apache2アクセスにパスワードを要求する場合は、Apache の Basic 認証を設定する。
muninはユーザ名に読み替える。端末で次のコマンドを実行する。sudo htpasswd -c /etc/munin/munin-htpasswd muninそして、
/etc/munin/apache24.confの該当する<Directory>セクションに次を記述し、端末でsudo systemctl reload apache2を実行する。AuthType Basic AuthName "Munin" AuthUserFile /etc/munin/munin-htpasswd Require valid-user - munin-cron の実行
munin-cronは、マスタ側でデータの収集とグラフの生成を行う。/etc/cron.d/muninによりmuninユーザで 5 分間隔に実行される。設定変更の結果をすぐに確認する場合は、端末で次のコマンドを実行する。sudo -u munin /usr/bin/munin-cron - Web ブラウザで次の URL を開き、munin の画面が表示されることを確認する。グラフは日次・週次・月次・年次の 4 種類の期間について生成される。
http://localhost/munin/