Help us understand the problem. What is going on with this article?

Munin のエラーを Nagios で通知する方法

More than 3 years have passed since last update.

背景

保守運用業務にて、リソース(CPU、メモリ、ディスク使用率、各種IO etc)監視でのエラーをアラート通知システム(エラーと復旧時にメール通知する)に乗せたという話です。
リソース監視に Munin を、アラート通知に Nagios を使用しています。

(既存のリソース監視・アラート通知システムに大きな改修を加えないという条件のもと実施したので、Munin、Naigos、プラグイン各種のインストールの説明は省いています。)

システム構成

Network diagram.png

Munin とは

リソース監視を行うミドルウェアです。(デモはこちら
過去を含めたリソースを可視化できて見やすいですが、エラーが発生した場合のアラート通知をつけることが割と手間がかかります。
munin.png

Nagios とは

統合監視ツールです。(デモはこちら ID:jdoe,PW:jdoe)
ホスト、リソース監視ができ、エラー発生時・復旧時のメール通知をサポートしているので、使いやすいです。リソースの可視化はできません。
nagios.png

Munin と Nagios 連携方法

Munin 側(サンプル)

1. command の定義

詳細はこちら

/usr/local/nagios/nrpe.cfg
command[check_logfiles]=/usr/lib/nagios/plugins/check_logfiles --config /etc/nrpe/conf.d/munin_alert.cfg

2. check_logfiles の設定

詳細はこちら

/etc/nrpe/conf.d/munin_alert.cfg
unlink /tmp/seekfilse

@searches = ({
  logfile => '/var/lib/limits',
  warningpatterns => [
      '.*state warning' ]
  criticalpatterns => [
      '.*state critical' ],
  options => ''allyoucaneat
});

/var/lib/limits について(サンプル)

詳細はこちら

myserver1;df;_dev_sda1;warning Value is 95.99. Warning range (:85) exceeded
myserver1;df;_dev_sda1;state warning
myserver1;if_err_eth2;trans;unknown Value is unknown.
myserver1;if_err_eth2;trans;state unknown

Nagios 側(サンプル)

1. service の定義

詳細はこちら

/usr/local/nagios/etc/service.cfg
define service{
        service_description             Munin-Alert
        host_name                       munin-server
        check_command                   check_nrpe!check_logfiles
        use                             service-template
        }

2. command の定義

詳細はこちら

/usr/local/nagios/etc/commands.cfg
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

3. host の定義

詳細はこちら

/usr/local/nagios/etc/hosts.cfg
define host{
        host_name               munin-serve
        alias                   munin-serve
        address                 ipaddress
        use                     linux-server
        }

結果

Munin でのエラーを Nagios で検知、アラート通知もできました。
現物はお見せできないのですが、Munin と Nagios 連携をプラグインなどを入れずに簡単にできたので保守運用業務としては良い結果でした。

opst
情報技術と社員力でお客様を成功に導く Make IT Your Success
https://www.opst.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away