rainit2006 / My_AWS-Cloud

0 stars 0 forks source link

监视工具:Nagios, Sensu #14

Open rainit2006 opened 6 years ago

rainit2006 commented 6 years ago

Nagios 参考site: http://www.unix-power.net/linux/nagios.html

NRPE (Nagios Remote Plugin Executor ) The NRPE addon is designed to allow you to execute Nagios plugins on remote Linux/Unix machines.

Nagiosは監視ホスト(Monitoring Host)と被監視ホスト(Remote Linux/Unix Host)に分かれている。 この2ホストはNRPE( Nagios Remote Plugin Executor。被監視ホストにある )と対応check_nrpe(監視ホストにある)を通じて通信する。具体的なプロセスは下記の通りである。 Nagiosは周期的にheck_nrpeを実行する。 heck_nrpeが直接に被監視ホストのNRPEと通信し、NRPEにチェック内容を通知する。 NRPEが被監視ホストのローカルにインストールされているプラグインを呼んで、被監視ホストのサービスと状態(ディスク、CPU…)をチェックする。 NRPEがチェック結果を監視側のcheck_nrpeに渡して、check_nrpeが結果をNagios状態キューに入れる。 Nagiosは順番通りにキュー中の情報を読み取って、結果をWEB側に表示する。 Nagiosは取得した情報に異常有無を判断し(異常を事前に定義)、該当処理する(警告メール、メッセージ送信…)

NSCA NSCA is an addon that allows you to send passive check results from remote Linux/Unix hosts to the Nagios daemon running on the monitoring server.

Nagios plugin It would be a good idea to keep your plugins in same directory as other Nagios plugins (/usr/lib/nagios/plugins/ for example).

Nagiosで動くプラグインを作るための2つの約束事を、順番にご紹介しましょう。 約束事1:プラグイン自体の返り値が0,1,2,3のどれかであること: •0:OK •1:WARNING •2:CRITICAL •3:UNKNOWN 約束事2:最低でも一行のテキストを標準出力へ出力すること

!/bin/sh

終了コード OK=0 WARNING=1 CRITICAL=2 UNKNOWN=3

オプションを1つ受け取って、変数 status に格納します。 if [ $# != 1 ] then echo "Just 1 argument is permitted." exit $UNKNOWN else status=$1 fi

変数 status が 0,1,2,3 のどれかなら、それに応じたステータスを返し、終了します。 0,1,2,3 以外であれば UNKNOWN としてみましょう。 case $status in 0) echo " OK " exit $OK ;; 1) echo " WARNING " exit $WARNING ;; 2) echo " CRITICAL " exit $CRITICAL ;; 3) echo " UNKNOWN " exit $UNKNOWN ;; *) echo "The argument $status is not permitted." exit $UNKNOWN ;; esac

上で分岐が網羅されていれば、ここには来ませんが、念のため。 echo " Error " exit $UNKNOWN

image

この場合は、127.0.0.1のサーバにlocalhostというIDをふってホストとして登録します。これによって、Nagiosの画面にlocalhostの監視項目が出てきます。 Nagiosの設定ファイルはオブジェクト指向のように継承をおこなうことができます。実際にはホストに関する詳細な設定ができるのですが、その設定はlinux-serverという名前で別に記述していて、それを継承しています。 linux-serverの設定の実態は、templates.cfgに入っています。実際にみてみると、このlinux-serverの設定自体も、generic-hostという設定を継承していて多階層の継承関係を持つことが分かります。

Nagios Core 3.4.1 Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 05-11-2012 License: GPL

Website: http://www.nagios.org Reading configuration data... Read main config file okay... Processing object config file '/etc/nagios/objects/commands.cfg'... Processing object config file '/etc/nagios/objects/contacts.cfg'... Processing object config file '/etc/nagios/objects/timeperiods.cfg'... Processing object config file '/etc/nagios/objects/templates.cfg'... Processing object config file '/etc/nagios/objects/network.cfg'... Processing object config file '/etc/nagios/objects/server.cfg'... Read object config files okay...

Running pre-flight check on configuration data...

Checking services... Checked 6 services. Checking hosts... Checked 4 hosts. Checking host groups... Checked 0 host groups. 。。。。。

Total Warnings: 0 Total Errors: 0

Things look okay - No serious problems were detected during the pre-fligh 。。。。



启动Nagios
`# /etc/rc.d/init.d/nagios start`

- use
使用するtemplateを指定する。template一覧は/etc/nagios/objects/template.cfgを参照。

- check_command
実 際に実行するpluginを指定する。plugin一覧はcommand.cfgを参照。

- event_handler
ホストかサービス・ステータスの変化が起こった時はいつも実行される任意のシステム・コマンド(スクリプトか実行形式)です。
rainit2006 commented 6 years ago

Sensu Yahoo! JAPANでは、2013年にプライベートクラウドとして「OpenStack」運用を開始しました。そして、そのプライベートクラウドの監視基盤として、日々の運用を支えているのが「Sensu」です。

監視対象の増加に対しては、Nagiosクラスタを新規構築して増加分の監視をまかなうというシンプルな手法を採用していました。この手法でも運用は問題なくできていましたが、監視対象が増加するにつれ、スケーラビリティの観点から限界を感じることも多くなりました。

監視の運用負荷を減らすためにスケーラビリティと柔軟性を備える監視基盤の選定を行い、最終的に次の5つの理由からSensuを選択しました。 理由(1):コミュニティーが活発で将来性が見込める 理由(2)Nagiosのプラグイン資産を流用できる 理由(3)監視対象の増加に自動で対応できる 理由(4):Chefなどの構成管理ソフトウェアと連携できる 理由(5):Web APIが用意されている

rainit2006 commented 6 years ago

Amazon CloudWatch vs. Nagios + Cacti 機能比較! https://idc.lexues.co.jp/w/681/ 結論としては、CloudWatchと自社監視サーバを併用してお互いの不得意な部分を補完することで、より安定した運用ができると考えています。

「nagiosからAmazon CloudWatchに切り替えができるのか」 https://blog.situs.co.jp/tech/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89/nagios%E3%81%8B%E3%82%89amazon-cloudwatch%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AE%E3%81%8B/

CloudWatch はツールのインストール等何もいらないので、手っ取り早く監視が出来て良いと思いました。 標準メトリクスで監視できる項目は限られていますが、カスタムメトリクスの作成も容易で、 柔軟な監視が出来ると思います。