CentOS 8 + Munin(インストール)

ソフトウエア

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

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の監視
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 は最小パッケージに近いもです。

日本語フォント不足が原因ですのでインストールします。

Muninの文字化け(日本語フォント不足)
Muninの文字化け(日本語フォント不足)

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の画像
Muninの画像

無事に表示されるようになりました。

あれ!英語表示だ。まあ、いいや!

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(インストール)」という記事でした。