4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

オープンストリームAdvent Calendar 2015

Day 23

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

Last updated at Posted at 2015-12-23

背景

保守運用業務にて、リソース(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 連携をプラグインなどを入れずに簡単にできたので保守運用業務としては良い結果でした。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?