Munin とは
Munin は Perl で書かれたリソースを監視ツールのことです。RRDtool を利用してグラフを作成してくれます。リソースの状態変化をグラフで確認できるとても便利なツールです。
Muninは、監視するサーバーと、監視されるエージェント(ノード)で構成されます。監視サーバーが、定期的にエージェントと情報のやり取りを行いリソース監視を実施します。
同様の機能を持ったツールにCactiなどがあります。MuninとCactiは、どちらもグラフでリソース管理ができるので私はどちらも利用しています。
Munin(監視サーバー) のインストール
CentOS 8は、最小パッケージでインストールを実施しています。
epel リポジトリ
Muninはepelリポジトリに登録されていますので、リポジトリが利用できる環境を準備してください。
# dnf install epel-release
PowerToolsリポジトリ
CentOS 8 は、Muninを利用するにはPowerToolsリポジトリを利用する必要があります。
PowerToolsリポジトリの有効化は、こちらの記事を確認してください。
Munin のインストール
Muninを動作させるにはWebサービスを実施する必要があります。Apacheのインストールは事前に済ませてください。
Muninの監視サーバーをインストールします。
# dnf -y install munin Last metadata expiration check: 0:58:02 ago on Sat 26 Sep 2020 01:44:48 PM JST. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: munin noarch 2.0.63-1.el8 epel 172 k Transaction Summary ================================================================================ Total download size: 9.6 M Installed size: 45 M Complete!
これでサーバーのインストールは完了です。
後は、5分程度待ってからブラウザで画面を確認してください。
http://xxx.xxx.xxx.xxx/munin/
こんな感じで表示されます。
Munin サーバーは Cron で5分毎に実行されます。
コマンドから実行すればスグにデータが反映されます。
# su - munin --shell=/usr/bin/munin-cron
Munin のグラフが更新されない(Cron設定)
私が利用した環境のCentOS 8 は、何故かMuninのグラフが更新されません。あれ!と思いながら時間の経過させましたが改善されません。
CentOS 8 は、Cronの設定ファイルがインストールされていない
CentOS 7 の場合は、cron の設定ファイルが自動でインストールされていましたが、何故かCentOS 8 はインストールされないようです。
さっそく、CentOS7の設定ファイルを流用しCronの設定ファイルを作成します。
# vi /etc/cron.d/munin
# # cron-jobs for munin # MAILTO=root */5 * * * * munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron
これで5分待ったら、Muninのグラフが更新されます。
Munin の文字化け対策(日本語フォント)
環境によって表示されたグラフが文字化けし、正しく表示されない場合があります。私が利用しているクラウドでは、提供されるCentOS 8 は最小パッケージに近いもです。
日本語フォント不足が原因ですのでインストールします。
RPMパッケージで日本語フォントが存在しているか確認してみます。
# dnf search japanese | grep TrueType vlgothic-fonts.noarch : Japanese TrueType font vlgothic-p-fonts.noarch : Proportional Japanese TrueType font
「vlgothic-fonts」「vlgothic-p-fonts」この2つが日本語に対応しているようなのでインストールします。
# dnf install vlgothic-fonts vlgothic-p-fonts
インストール後に5分程度待ってからブラウザで再アクセスします。
無事に表示されるようになりました。
あれ!英語表示だ。まあ、いいや!
Munin (監視サーバー)の設定
CentOS 8 は、色々と設定ファイルを確認する必要があります。CentOS 7 は、デフォルト設定だったものが無効化されていました。
設定は3つです。とても簡単です。
- 監視サーバー動作環境
- 監視サーバーへのアクセス設定
- 監視対象のエージェント追加
監視サーバー動作環境
設定ファイルを編集します。
# vi /etc/munin/munin.conf
########################################################################### # # # Please don't edit this example config file. Create and edit # # file /etc/munin/conf.d/local.conf instead. # # # # You must also install munin-nginx or munin-apache sub-package. See # # /usr/share/doc/munin-*/*.conf for example nginx/apache config files # # and installation instructions. # # # ########################################################################### # The next three variables specifies where the location of the RRD # databases, the HTML output, logs and the lock/pid files. They all # must be writable by the user running munin-cron. They are all # defaulted to the values you see here. # dbdir /var/lib/munin ← #を外し有効化させる htmldir /var/www/munin ← #を外し有効化させる logdir /var/log/munin ← #を外し有効化させる rundir /var/run/munin ← #を外し有効化させる # Where to look for the HTML templates # #tmpldir /etc/munin/templates
これで、Muninが動作するための準備が整いました。「htmldir」パラメーターのデフォルト値は「/var/www/html/munin」でした。ApacheのDocumentRootにMuninの情報が出力されるのは避けたかったので、出力先を変更しました。
後でApacheのAliasディレクティブを利用し表示されるように変更します。
Munin(監視サーバー)へのアクセス設定
CentOS 7 は、Munin をインストールすると Apache の設定ファイルが登録されます。デフォルトはベーシック認証が有効となります。CentOS 8 も必要であれば設定を追加してください。
私の環境では不要なので作成しません。
Muninの出力先(/var/www/munin)を変更したのでApacheの設定を変更します。
# vi /etc/httpd/conf.d
Alias と Directory ディレクティブの設定を追加します。
Alias /munin /var/www/munin <directory /var/www/munin> AllowOverride All Options FollowSymLinks </directory>
Apacheの設定を反映させます。
# systemctl restart httpd
後はブラウザで画面を確認してください。
http://xxx.xxx.xxx.xxx/munin/
監視対象のエージェント追加
監視サーバーに、監視するエージェント情報(ノード)を追加します。
Munin サーバーに監視対象のノードを追加します。
# cd /etc/munin # cp munin.conf munin.conf.org # vi munin.conf
基本の登録方法は、対象エージェント(ノード)を追加するだけです。
# ノードの追加 # [Host-A] address xxx.xxx.xxx.xxx [Host-B] address xxx.xxx.xxx.xxx [Host-C] address xxx.xxx.xxx.xxx
ただ、この方法だと、ブラウザから画面を確認すると見づらくなります。監視対象が少なければ問題はありませんが、多い場合は、見やすくするためにグループ化させます。
# ノードの追加 # [groupA;] [groupA;Host-A] address xxx.xxx.xxx.xxx [groupA;Host-B] address xxx.xxx.xxx.xxx [groupB;] [groupB;Host-C] address xxx.xxx.xxx.xxx [groupB;Host-D] address xxx.xxx.xxx.xxx
これで見やすくグループ化されます。
use_node_name パラメーターは不要です。デフォルト値は「no」なので記述しなくても問題ありません。
Munin ノード(監視エージェント)の設定
Muninノードとは、監視対象にインストールするエージェントのことです。Muninノードに対して各種の設定を行います。
- Munin監視サーバーからのアクセス権
- リソース監視するプラグインの設定
Munin ノードのインストール
監視端末にMuninノード(エージェント)をインストールします。
# dnf install munin-node
Munin ノードの設定
Munin サーバーからの接続許可設定を行います。
# cd /etc/munin # cp munin-node.conf munin-node.conf.org # vi munin-node.conf
# Munin サーバのIPを指定 cidr_allow xxx.xxx.xxx.xxx/32
サービスの自動起動設定を行います。
# systemctl start munin-node # systemctl enable munin-node
この設定だけで沢山の情報が取得できます。少し時間が経ったらブラウザでアクセスして確認してください。
Munin ノードのプラグイン追加
さらに必要な情報があれば設定を追加してください。
まとめ
以上、「CentOS 8 + Munin(インストール)」という記事でした。