「Munin」の版間の差分
細 (1版 をインポートしました) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(4人の利用者による、間の7版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:システムモニタ]] |
[[en:Munin]] |
[[en:Munin]] |
||
+ | [http://munin-monitoring.org/ プロジェクトウェブページ] より: |
||
− | '''''[http://munin-monitoring.org/ Munin]''' はそこら中のコンピュータに何があったのか調べる事ができるモニタリングツールです。調べた全ての情報をウェブインターフェースを介して表示する事ができます。インストールが完了した後は、沢山のモニタリングプラグインたちがあなたに代わって仕事をしてくれる事でしょう。'' |
||
+ | :''Munin'' はコンピュータに何があったのか調べる事ができるモニタリングツールです。調べた全ての情報をウェブインターフェースを介して表示する事ができます。インストールが完了した後は、沢山のモニタリングプラグインたちがあなたに代わって仕事をしてくれる事でしょう。 |
||
− | ''Munin を使えばネットワーク、SAN、アプリケーション、気象状況等による計算機の性能評価が簡単になります。性能の問題について「おや、この日は何が違ったのかな?」とか簡単に分かるようになります。リソース毎の過不足を簡単に判断できるようになるでしょう。'' |
||
+ | :Munin を使えばネットワーク、SAN、アプリケーション、気象状況等による計算機の性能評価が簡単になります。性能の問題について「おや、この日は何が違ったのかな?」とか簡単に分かるようになります。リソース毎の過不足を簡単に判断できるようになるでしょう。 |
||
− | ''Munin は優れた [http://oss.oetiker.ch/rrdtool/ RRDTool] (著 Tobi Oetiker) と Perl で書かれたフレームワーク、それと様々な言語で書かれたプラグインたちによって構成されています。Munin は マスター/ノード アーキテクチャー を採っていて、マスターが全てのノードに対し定期的にデータ収集を行います。データは RRDファイル に記録され、必要に応じてグラフを更新します。とりあえずの目標としてプラグイン(グラフ)を自在に扱える様になりましょう。'' [http://munin-monitoring.org/] |
||
+ | |||
+ | :Munin は優れた [http://oss.oetiker.ch/rrdtool/ RRDTool] (著 Tobi Oetiker) と Perl で書かれたフレームワーク、それと様々な言語で書かれたプラグインたちによって構成されています。Munin は マスター/ノード アーキテクチャー を採っていて、マスターが全てのノードに対し定期的にデータ収集を行います。データは RRDファイル に記録され、必要に応じてグラフを更新します。とりあえずの目標としてプラグイン(グラフ)を自在に扱える様になりましょう。 |
||
と、いうわけで、 Munin はシステムの統計を採りグラフに図示してくれるものです。詳しくはオスロ大学の [http://munin.ping.uio.no/ Munin install] など見ると良いでしょう。 |
と、いうわけで、 Munin はシステムの統計を採りグラフに図示してくれるものです。詳しくはオスロ大学の [http://munin.ping.uio.no/ Munin install] など見ると良いでしょう。 |
||
13行目: | 15行目: | ||
Munin はクライアント−サーバーモデルです。クライアントを munin-node 、サーバーを munin と称します(ドキュメントでは "munin-master"となっていたりもするけど)。 |
Munin はクライアント−サーバーモデルです。クライアントを munin-node 、サーバーを munin と称します(ドキュメントでは "munin-master"となっていたりもするけど)。 |
||
− | munin-master は1台のマシンにインストールし、 munin-node は監視した |
+ | munin-master は1台のマシンにインストールし、 munin-node は監視したい全てのマシンにインストールします。ここでは、とりあえず1台のマシンについてのみインストールする事を考えてみるとしましょう。より詳しく知りたいのならば [http://munin-monitoring.org/wiki/Documentation Munin documentation wiki] を見ましょうね。 |
=== munin と munin-node について === |
=== munin と munin-node について === |
||
34行目: | 36行目: | ||
=== ウェブサーバーの必要性について === |
=== ウェブサーバーの必要性について === |
||
− | このガイドでは Munin で静的な HTML とグラフ画像を設定されたディレクトリへ出力する様にセットアップを行います。生成されたファイルはローカルのブラウザからならそのまま見ることも |
+ | このガイドでは Munin で静的な HTML とグラフ画像を設定されたディレクトリへ出力する様にセットアップを行います。生成されたファイルはローカルのブラウザからならそのまま見ることもできるでしょう。しかし、もしリモートのマシンから見たいのならば適当なウェブサーバーを予めセットアップしておく必要があります。例えば、 |
*[[LAMP|Apache]] |
*[[LAMP|Apache]] |
||
− | *[[ |
+ | *[[Lighttpd]] |
− | *[[ |
+ | *[[Nginx]] |
− | などなど。他にサーバーについては詳しく知りたければ[[:Category: |
+ | などなど。他にサーバーについては詳しく知りたければ[[:Category:ウェブサーバー|ウェブサーバーカテゴリ]]も参考になるかもしれません。 |
=== IPv6 === |
=== IPv6 === |
||
− | munin-node で IPv6 をサポートするには (/etc/munin/munin-node.conf で |
+ | munin-node で IPv6 をサポートするには ({{ic|/etc/munin/munin-node.conf}} で {{ic|host :::1}} を使う) 以下のパッケージをインストールする必要があります: |
− | *perl-socket6 |
+ | *{{Pkg|perl-socket6}} |
− | *perl-io-socket-inet6 |
+ | *{{Pkg|perl-io-socket-inet6}} |
== 設定 == |
== 設定 == |
||
55行目: | 57行目: | ||
デーモンを追加して |
デーモンを追加して |
||
− | systemctl enable munin-node |
+ | # systemctl enable munin-node |
起動して置きましょう |
起動して置きましょう |
||
− | systemctl start munin-node |
+ | # systemctl start munin-node |
− | 詳しくは[[ |
+ | 詳しくは[[デーモン]]を見て下さい。 |
=== プラグイン === |
=== プラグイン === |
||
− | munin-node-configure を実行しましょう。 |
+ | {{ic|munin-node-configure}} を実行しましょう。{{ic|--suggest}} オプションを付けると、インストールしたマシンで使えそうなプラグインのお勧めリストが表示されます: |
# munin-node-configure --suggest |
# munin-node-configure --suggest |
||
− | 使用したいプラグインがあれば、もう一度コマンドを実行します。 |
+ | 使用したいプラグインがあれば、もう一度コマンドを実行します。{{ic|--shell}} オプションを付けると {{ic|munin-node-configure}} によってお勧めされたプラグインが設定されるでしょう: |
# munin-node-configure --shell | sh |
# munin-node-configure --shell | sh |
||
87行目: | 89行目: | ||
munin-master がHTMLやグラフ画像を生成する為のディレクトリを設定し、作成して於きましょう。 |
munin-master がHTMLやグラフ画像を生成する為のディレクトリを設定し、作成して於きましょう。 |
||
− | /etc/munin/munin.conf の以下の htmldir のコメントを外します: |
+ | {{ic|/etc/munin/munin.conf}} の以下の {{ic|htmldir}} のコメントを外します: |
htmldir /srv/http/munin |
htmldir /srv/http/munin |
||
− | これで /srv/http/munin へ出力が設定されます。 |
+ | これで {{ic|/srv/http/munin}} へ出力が設定されます。 |
ディレクトリについては作成するだけでなく、ユーザー munin がこのディレクトリへの書き込み権限を満たす様にするのも忘れないようにしましょう。 |
ディレクトリについては作成するだけでなく、ユーザー munin がこのディレクトリへの書き込み権限を満たす様にするのも忘れないようにしましょう。 |
||
98行目: | 100行目: | ||
# chown munin:munin /srv/http/munin |
# chown munin:munin /srv/http/munin |
||
− | 適当なウェブサーバーが標準設定のまま(ドキュメントルートが/srv/http)で稼働していれば、このディレクトリを [http://localhost/munin/ http://localhost/munin/] で表示する事が |
+ | 適当なウェブサーバーが標準設定のまま (ドキュメントルートが {{ic|/srv/http}})で稼働していれば、このディレクトリを [http://localhost/munin/ http://localhost/munin/] で表示する事ができるでしょう。 |
+ | |||
+ | nginx-1.18.0-1 の場合は、ドキュメントルートの初期値が /usr/share/nginx/html |
||
+ | となっているので以下のように変更します。 |
||
+ | |||
+ | location / { |
||
+ | root /srv/http; |
||
+ | index index.html index.htm; |
||
+ | } |
||
=== ホスト名 === |
=== ホスト名 === |
||
− | munin を実行する前に、システムのホスト名を設定しておくと良いでしょう。/etc/munin/munin.conf で標準では |
+ | munin を実行する前に、システムのホスト名を設定しておくと良いでしょう。{{ic|/etc/munin/munin.conf}} で標準では {{ic|myhostname}} となっている筈です。お好みの名前を付けてあげて下さいね。ホスト名は {{ic|/var/lib/munin}} の .rrdファイル、HTML やグラフ画像のグループ化に適用されます。 |
=== Cron === |
=== Cron === |
||
− | 次の設定で5分措きにmuninがデータを更新し、HTMLとグラフ画像を生成します: |
+ | 次の設定で5分措きに munin がデータを更新し、HTMLとグラフ画像を生成します: |
# crontab /etc/munin/munin-cron-entry -u munin |
# crontab /etc/munin/munin-cron-entry -u munin |
||
− | ユーザー munin へのメール配送のエイリアスも設定して措くと良いでしょう。もしも postfix を使っているのならば |
+ | ユーザー munin へのメール配送のエイリアスも設定して措くと良いでしょう。もしも postfix を使っているのならば {{ic|/etc/postfix/aliases}} に次のように設定し、 |
munin: root |
munin: root |
||
116行目: | 126行目: | ||
それから |
それから |
||
− | + | # newaliases |
|
とかコマンドを実行すると良いでしょう。 |
とかコマンドを実行すると良いでしょう。 |
||
126行目: | 136行目: | ||
タイマーにはサービスユニットの設定が必要です: |
タイマーにはサービスユニットの設定が必要です: |
||
− | + | {{hc|/etc/systemd/system/munin-cron.service|2= |
|
+ | [Unit] |
||
− | |||
+ | Description=Survey monitored computers |
||
− | [Unit] |
||
+ | After=network.target |
||
− | Description=Survey monitored computers |
||
+ | |||
− | After=network.target |
||
+ | [Service] |
||
− | |||
+ | User=munin |
||
− | [Service] |
||
− | + | ExecStart=/usr/bin/munin-cron |
|
+ | }} |
||
− | ExecStart=/usr/bin/munin-cron |
||
タイマーユニットの設定: |
タイマーユニットの設定: |
||
− | + | {{hc|/etc/systemd/system/munin-cron.timer|2= |
|
+ | [Unit] |
||
− | |||
+ | Description=Survey monitored computers every five minutes |
||
− | [Unit] |
||
+ | |||
− | Description=Survey monitored computers every five minutes |
||
+ | [Timer] |
||
− | |||
+ | OnCalendar=*-*-* *:00/5:00 |
||
− | [Timer] |
||
+ | |||
− | OnCalendar=*-*-* *:00/5:00 |
||
+ | [Install] |
||
− | |||
+ | WantedBy=multi-user.target |
||
− | [Install] |
||
+ | }} |
||
− | WantedBy=multi-user.target |
||
+ | |||
+ | systemd の設定を[[systemd#ユニットを使う|リロード]]して、{{ic|munin-cron.timer}} を[[起動]]し、問題が発生しないことを確認してください: |
||
+ | $ journalctl --unit munin-cron.service |
||
− | 全て問題なかったら、munin-cron.timer を有効にしてください: |
||
+ | $ less /var/log/munin/munin-update.log |
||
+ | 最後に、{{ic|munin-cron.timer}} を有効化してください。 |
||
− | # reload systemd configuration |
||
− | systemctl daemon-reload |
||
− | |||
− | systemctl start munin-cron.timer |
||
− | |||
− | # check logs |
||
− | journalctl --unit munin-cron.service |
||
− | less /var/log/munin/munin-update.log |
||
− | |||
− | systemctl enable munin-cron.timer |
||
=== ユーザー munin へのアクセス権の設定 === |
=== ユーザー munin へのアクセス権の設定 === |
||
170行目: | 174行目: | ||
== テスト == |
== テスト == |
||
− | Munin は既に使える状態になっています。さあ、 |
+ | Munin は既に使える状態になっています。さあ、{{ic|munin-node}} を稼働させましょう: |
# systemctl start munin-node |
# systemctl start munin-node |
||
− | もしも手作業でHTMLとグラフ画像を生成したいのならば、 |
+ | もしも手作業で HTML とグラフ画像を生成したいのならば、 |
− | # |
+ | # munin --shell=/bin/bash |
$ munin-cron |
$ munin-cron |
||
191行目: | 195行目: | ||
基本的には全てのプラグインはマナーに則って追加されるよ(いやまあ勿論、例外はあるからプラグイン毎によく確認してね!): |
基本的には全てのプラグインはマナーに則って追加されるよ(いやまあ勿論、例外はあるからプラグイン毎によく確認してね!): |
||
− | 先ずはプラグインをダウンロードするなどして、それを /usr/lib/munin/plugins に複製なり移動なりしよう。 |
+ | 先ずはプラグインをダウンロードするなどして、それを {{ic|/usr/lib/munin/plugins}} に複製なり移動なりしよう。 |
# cp <plugin> /usr/lib/munin/plugins/ |
# cp <plugin> /usr/lib/munin/plugins/ |
||
− | そして /etc/munin/plugins にシンボリックリンクを張るんだ: |
+ | そして {{ic|/etc/munin/plugins}} にシンボリックリンクを張るんだ: |
# ln -s /usr/lib/munin/plugins/<plugin> /etc/munin/plugins/<plugin> |
# ln -s /usr/lib/munin/plugins/<plugin> /etc/munin/plugins/<plugin> |
||
− | {{Note|ワイルドカードプラグインと云われる幾つかのプラグインについては… - 別々の名前でリンクを張る事で複数のデバイスを扱えたりもするよ。こんな様なプラグインたちはプラグインの末尾がアンダースコアで終わっていて、 |
+ | {{Note|ワイルドカードプラグインと云われる幾つかのプラグインについては… - 別々の名前でリンクを張る事で複数のデバイスを扱えたりもするよ。こんな様なプラグインたちはプラグインの末尾がアンダースコアで終わっていて、{{ic|<plugin>_<device>}} とかリンクを張る事で {{ic|<device>}} に対応する様に動作するんだ。例としては {{ic|if_}} プラグインとかを見るといいよ。}} |
さあ、プラグインをテストしよう。プラグインのフルパスを入れる必要は無いよ、次にように munin-run を実行しよう: |
さあ、プラグインをテストしよう。プラグインのフルパスを入れる必要は無いよ、次にように munin-run を実行しよう: |
||
213行目: | 217行目: | ||
=== 削除 === |
=== 削除 === |
||
− | プラグインを削除したいのなら、 |
+ | プラグインを削除したいのなら、{{ic|/etc/munin/plugins}} のシンボリックリンクを削除すればいい。{{ic|/usr/lib/munin/plugins}} から削除する必要は無いよ。 |
# rm /etc/munin/plugins/<plugin> |
# rm /etc/munin/plugins/<plugin> |
||
219行目: | 223行目: | ||
=== デバッグ作業 === |
=== デバッグ作業 === |
||
− | 思惑通りに動いてくれないプラグイン(何も出力されてないっぽいとか)に出会してしまったなら、そのプラグインを直接実行して見るというのも良いかもしれません。例えば、 |
+ | 思惑通りに動いてくれないプラグイン(何も出力されてないっぽいとか)に出会してしまったなら、そのプラグインを直接実行して見るというのも良いかもしれません。例えば、{{ic|apache_accesses}} プラグインを直接実行するには、 |
# munin-run apache_accesses |
# munin-run apache_accesses |
||
225行目: | 229行目: | ||
とかします。 |
とかします。 |
||
− | エラーがあれば、例えば "LWP::UserAgent not found at /etc/munin/plugins/apache_accesses line 86." だとか出力されるかもしれません。ちなみにこの場合は、Perlの関数が見つからないという問題で、 |
+ | エラーがあれば、例えば "LWP::UserAgent not found at /etc/munin/plugins/apache_accesses line 86." だとか出力されるかもしれません。ちなみにこの場合は、Perlの関数が見つからないという問題で、不足しているライブラリ {{Pkg|perl-libwww}} をインストールしてあげると良いかもしれません。 |
+ | |||
+ | ==ヒントとテクニック== |
||
+ | |||
+ | ===MySQL=== |
||
+ | |||
+ | MySQL プラグインは AUR のパッケージに依存しています: {{Pkg|perl-dbi}}, {{AUR|perl-cache-cache}}, {{AUR|perl-ipc-sharelite}} |
||
+ | |||
+ | また、データベースにアクセスするときは専用の [[MySQL]] ユーザーを使うことが推奨されています。ユーザーを作成するには以下の MySQL コマンドを実行: |
||
+ | {{bc|<nowiki>MariaDB> CREATE USER 'muninuser'@'localhost' IDENTIFIED BY 'muninpassword'; |
||
+ | MariaDB> GRANT SUPER,PROCESS ON *.* TO 'muninuser'@'localhost'; |
||
+ | MariaDB> GRANT SELECT ON mysql.* TO 'muninuser'@'localhost'; |
||
+ | MariaDB> FLUSH PRIVILEGES;</nowiki> }} |
||
+ | |||
+ | この新しいユーザーを使うように Munin を設定するには、以下を作成: |
||
+ | |||
+ | {{hc|/etc/munin/plugin-conf.d/mysql_|<nowiki>[mysql_*] |
||
+ | env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306 |
||
+ | env.mysqluser muninuser |
||
+ | env.mysqlpassword muninpassword</nowiki>}} |
||
+ | |||
+ | ===S.M.A.R.T.=== |
||
+ | |||
+ | S.M.A.R.T. データの監視を有効にするには {{Pkg|smartmontools}} パッケージをインストールして、以下を使用: |
||
+ | |||
+ | {{hc|/etc/munin/plugin-conf.d/munin-node|[smart_*] |
||
+ | user root |
||
+ | group disk}} |
||
+ | |||
+ | そして監視するディスクのシンボリックリンクを適切に作成してください。{{ic|sda}} の場合: {{bc|# ln -s /usr/lib/munin/plugins/smart_ /etc/munin/plugins/smart_'''sda'''}} |
||
+ | |||
+ | ===lm_sensors=== |
||
+ | |||
+ | {{Pkg|lm_sensors}} をインストールして [[Lm sensors#lm_sensors の設定]] に従って設定を行って下さい。それが全て終わったら、シンボリックリンクを作成: |
||
+ | {{bc|# ln -s /usr/lib/munin/plugins/sensors_ /etc/munin/plugins/sensors_fan |
||
+ | # ln -s /usr/lib/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp |
||
+ | # ln -s /usr/lib/munin/plugins/sensors_ /etc/munin/plugins/sensors_volt}} |
2024年7月10日 (水) 21:00時点における最新版
プロジェクトウェブページ より:
- Munin はコンピュータに何があったのか調べる事ができるモニタリングツールです。調べた全ての情報をウェブインターフェースを介して表示する事ができます。インストールが完了した後は、沢山のモニタリングプラグインたちがあなたに代わって仕事をしてくれる事でしょう。
- Munin を使えばネットワーク、SAN、アプリケーション、気象状況等による計算機の性能評価が簡単になります。性能の問題について「おや、この日は何が違ったのかな?」とか簡単に分かるようになります。リソース毎の過不足を簡単に判断できるようになるでしょう。
- Munin は優れた RRDTool (著 Tobi Oetiker) と Perl で書かれたフレームワーク、それと様々な言語で書かれたプラグインたちによって構成されています。Munin は マスター/ノード アーキテクチャー を採っていて、マスターが全てのノードに対し定期的にデータ収集を行います。データは RRDファイル に記録され、必要に応じてグラフを更新します。とりあえずの目標としてプラグイン(グラフ)を自在に扱える様になりましょう。
と、いうわけで、 Munin はシステムの統計を採りグラフに図示してくれるものです。詳しくはオスロ大学の Munin install など見ると良いでしょう。
インストール作業
Munin はクライアント−サーバーモデルです。クライアントを munin-node 、サーバーを munin と称します(ドキュメントでは "munin-master"となっていたりもするけど)。
munin-master は1台のマシンにインストールし、 munin-node は監視したい全てのマシンにインストールします。ここでは、とりあえず1台のマシンについてのみインストールする事を考えてみるとしましょう。より詳しく知りたいのならば Munin documentation wiki を見ましょうね。
munin と munin-node について
執筆現在に於いて munin (munin-master) と munin-node は extra リポジトリにパッケージがあります。
パッケージの確認
# pacman -Ss munin
extra/munin 1.4.6-2 A distributed monitoring/graphing tool extra/munin-node 1.4.6-2 A distributed monitoring/graphing tool
インストール
# pacman -S munin munin-node
ウェブサーバーの必要性について
このガイドでは Munin で静的な HTML とグラフ画像を設定されたディレクトリへ出力する様にセットアップを行います。生成されたファイルはローカルのブラウザからならそのまま見ることもできるでしょう。しかし、もしリモートのマシンから見たいのならば適当なウェブサーバーを予めセットアップしておく必要があります。例えば、
などなど。他にサーバーについては詳しく知りたければウェブサーバーカテゴリも参考になるかもしれません。
IPv6
munin-node で IPv6 をサポートするには (/etc/munin/munin-node.conf
で host :::1
を使う) 以下のパッケージをインストールする必要があります:
設定
デーモン
デーモンを追加して
# systemctl enable munin-node
起動して置きましょう
# systemctl start munin-node
詳しくはデーモンを見て下さい。
プラグイン
munin-node-configure
を実行しましょう。--suggest
オプションを付けると、インストールしたマシンで使えそうなプラグインのお勧めリストが表示されます:
# munin-node-configure --suggest
使用したいプラグインがあれば、もう一度コマンドを実行します。--shell
オプションを付けると munin-node-configure
によってお勧めされたプラグインが設定されるでしょう:
# munin-node-configure --shell | sh
SNMP について設定したい場合
例えば SNMP サーバーが SERVER というホスト名で、 バージョン v2c 、 コミュニティ名 COMMUNITY で稼働している際は次の様にお勧めリストの確認を行います:
# munin-node-configure --suggest --snmp SERVER --snmpversion snmpv2c --snmpcommunity COMMUNITY
この結果をシェル用に出力し、その出力をシェルに渡すには次の様にします:
# munin-node-configure --shell --snmp SERVER --snmpversion snmpv2c --snmpcommunity COMMUNITY | sh
ディレクトリ
munin-master がHTMLやグラフ画像を生成する為のディレクトリを設定し、作成して於きましょう。
/etc/munin/munin.conf
の以下の htmldir
のコメントを外します:
htmldir /srv/http/munin
これで /srv/http/munin
へ出力が設定されます。
ディレクトリについては作成するだけでなく、ユーザー munin がこのディレクトリへの書き込み権限を満たす様にするのも忘れないようにしましょう。
# mkdir /srv/http/munin # chown munin:munin /srv/http/munin
適当なウェブサーバーが標準設定のまま (ドキュメントルートが /srv/http
)で稼働していれば、このディレクトリを http://localhost/munin/ で表示する事ができるでしょう。
nginx-1.18.0-1 の場合は、ドキュメントルートの初期値が /usr/share/nginx/html となっているので以下のように変更します。
location / {
root /srv/http; index index.html index.htm;
}
ホスト名
munin を実行する前に、システムのホスト名を設定しておくと良いでしょう。/etc/munin/munin.conf
で標準では myhostname
となっている筈です。お好みの名前を付けてあげて下さいね。ホスト名は /var/lib/munin
の .rrdファイル、HTML やグラフ画像のグループ化に適用されます。
Cron
次の設定で5分措きに munin がデータを更新し、HTMLとグラフ画像を生成します:
# crontab /etc/munin/munin-cron-entry -u munin
ユーザー munin へのメール配送のエイリアスも設定して措くと良いでしょう。もしも postfix を使っているのならば /etc/postfix/aliases
に次のように設定し、
munin: root
それから
# newaliases
とかコマンドを実行すると良いでしょう。
systemd タイマー
cron ジョブではなく systemd のタイマーを使うこともできます。
タイマーにはサービスユニットの設定が必要です:
/etc/systemd/system/munin-cron.service
[Unit] Description=Survey monitored computers After=network.target [Service] User=munin ExecStart=/usr/bin/munin-cron
タイマーユニットの設定:
/etc/systemd/system/munin-cron.timer
[Unit] Description=Survey monitored computers every five minutes [Timer] OnCalendar=*-*-* *:00/5:00 [Install] WantedBy=multi-user.target
systemd の設定をリロードして、munin-cron.timer
を起動し、問題が発生しないことを確認してください:
$ journalctl --unit munin-cron.service $ less /var/log/munin/munin-update.log
最後に、munin-cron.timer
を有効化してください。
ユーザー munin へのアクセス権の設定
多くのプラグインがログファイルを読もうとします。そう云う訳でユーザー munin を log グループに追加して措きましょう:
# usermod -aG log munin
テスト
Munin は既に使える状態になっています。さあ、munin-node
を稼働させましょう:
# systemctl start munin-node
もしも手作業で HTML とグラフ画像を生成したいのならば、
# munin --shell=/bin/bash $ munin-cron
とかすると良いでしょう。後はブラウザで出力ディレクトリ或いは http://localhost/munin/ を表示する等してインターフェースをテストしましょう。
プラグイン
Munin には沢山のプラグインがあってキミにインストールされるのを待っているよ!手始めに MuninExchange を見るといいよ、素敵だろ?まあ、時にはお目当てのプラグインを見付けられない事もあるだろうけど…そんな時は自分で書けばいいよ!簡単だから HowToWritePlugins を見ながらやってみるといいよ。
追加
基本的には全てのプラグインはマナーに則って追加されるよ(いやまあ勿論、例外はあるからプラグイン毎によく確認してね!):
先ずはプラグインをダウンロードするなどして、それを /usr/lib/munin/plugins
に複製なり移動なりしよう。
# cp <plugin> /usr/lib/munin/plugins/
そして /etc/munin/plugins
にシンボリックリンクを張るんだ:
# ln -s /usr/lib/munin/plugins/<plugin> /etc/munin/plugins/<plugin>
さあ、プラグインをテストしよう。プラグインのフルパスを入れる必要は無いよ、次にように munin-run を実行しよう:
# munin-run <plugin>
それから munin-node を 再起動するんだ:
# systemctl restart munin-node
後はウェブページが更新されれば完了さ。
削除
プラグインを削除したいのなら、/etc/munin/plugins
のシンボリックリンクを削除すればいい。/usr/lib/munin/plugins
から削除する必要は無いよ。
# rm /etc/munin/plugins/<plugin>
デバッグ作業
思惑通りに動いてくれないプラグイン(何も出力されてないっぽいとか)に出会してしまったなら、そのプラグインを直接実行して見るというのも良いかもしれません。例えば、apache_accesses
プラグインを直接実行するには、
# munin-run apache_accesses
とかします。
エラーがあれば、例えば "LWP::UserAgent not found at /etc/munin/plugins/apache_accesses line 86." だとか出力されるかもしれません。ちなみにこの場合は、Perlの関数が見つからないという問題で、不足しているライブラリ perl-libwww をインストールしてあげると良いかもしれません。
ヒントとテクニック
MySQL
MySQL プラグインは AUR のパッケージに依存しています: perl-dbi, perl-cache-cacheAUR, perl-ipc-shareliteAUR
また、データベースにアクセスするときは専用の MySQL ユーザーを使うことが推奨されています。ユーザーを作成するには以下の MySQL コマンドを実行:
MariaDB> CREATE USER 'muninuser'@'localhost' IDENTIFIED BY 'muninpassword'; MariaDB> GRANT SUPER,PROCESS ON *.* TO 'muninuser'@'localhost'; MariaDB> GRANT SELECT ON mysql.* TO 'muninuser'@'localhost'; MariaDB> FLUSH PRIVILEGES;
この新しいユーザーを使うように Munin を設定するには、以下を作成:
/etc/munin/plugin-conf.d/mysql_
[mysql_*] env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306 env.mysqluser muninuser env.mysqlpassword muninpassword
S.M.A.R.T.
S.M.A.R.T. データの監視を有効にするには smartmontools パッケージをインストールして、以下を使用:
/etc/munin/plugin-conf.d/munin-node
[smart_*] user root group disk
そして監視するディスクのシンボリックリンクを適切に作成してください。sda
の場合:
# ln -s /usr/lib/munin/plugins/smart_ /etc/munin/plugins/smart_sda
lm_sensors
lm_sensors をインストールして Lm sensors#lm_sensors の設定 に従って設定を行って下さい。それが全て終わったら、シンボリックリンクを作成:
# ln -s /usr/lib/munin/plugins/sensors_ /etc/munin/plugins/sensors_fan # ln -s /usr/lib/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp # ln -s /usr/lib/munin/plugins/sensors_ /etc/munin/plugins/sensors_volt