174 lines
5.8 KiB
Markdown
174 lines
5.8 KiB
Markdown
---
|
||
title: Nagiosからの通知を Growl 経由で受け取る
|
||
author: kazu634
|
||
date: 2012-12-25
|
||
url: /2012/12/25/notification_from_nagios_via_growl/
|
||
has_been_twittered:
|
||
- yes
|
||
tmac_last_id:
|
||
- 303816632113983489
|
||
wordtwit_post_info:
|
||
- 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";s:1:"1";s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:3;s:6:"result";a:0:{}s:13:"tweet_counter";i:1;s:13:"tweet_log_ids";a:0:{}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}'
|
||
categories:
|
||
- Mac
|
||
- nagios
|
||
- tools
|
||
|
||
---
|
||
ESXiサーバを自宅内に設置していて、ゲストOSの一つに Nagios を導入しています。 Nagios 経由のアラームは Twitter に飛ばすようにしているのですが、頻繁に起動・停止を繰り返すようなゲスト OS に関しては Twitter に飛ばされると邪魔なことに気づきました。
|
||
|
||
そこで Growl に飛ばすこととしました。
|
||
|
||
## 環境
|
||
|
||
構成はこんなかんじです:
|
||
|
||
* MacBookPro: OS X 10.6.8
|
||
* Nagios: Ubuntu 12.04
|
||
* Guest1: Windows 7
|
||
* Guest2: Ubuntu 12.04
|
||
|
||
ネットワーク図はこんな感じです:
|
||
|
||
<a href="http://www.flickr.com/photos/42332031@N02/8306909380/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.flickr.com/photos/42332031@N02/8306909380/', '');" title="Network by kazu634, on Flickr"><img class="aligncenter" src="http://farm9.staticflickr.com/8493/8306909380_04d18d89ab.jpg" alt="Network" width="500" height="251" /></a>
|
||
|
||
<!--more-->
|
||
|
||
## やりたいこと
|
||
|
||
NagiosがGuest1,Guest2を監視した結果の通知をMacBookProで受け取りたい!Growlで!
|
||
|
||
## MacBookPro側
|
||
|
||
MacBookPro側では Growl をインストールします。10.6.8では App Store からはダウンロードできないようなので、ホームページから直接ダウンロードします。
|
||
|
||
まずはトップページにアクセスして、丸で囲んだ部分をクリックします:
|
||
|
||
<a href="http://www.flickr.com/photos/42332031@N02/8305744099/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.flickr.com/photos/42332031@N02/8305744099/', '');" title="growl_top by kazu634, on Flickr"><img class="aligncenter" src="http://farm9.staticflickr.com/8499/8305744099_81ce7a99ca.jpg" alt="growl_top" width="500" height="440" /></a>
|
||
|
||
表示されたページの丸で囲んだ部分をクリックしてダウンロードします:
|
||
|
||
<a href="http://www.flickr.com/photos/42332031@N02/8305747491/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.flickr.com/photos/42332031@N02/8305747491/', '');" title="growl_downloads by kazu634, on Flickr"><img class="aligncenter" src="http://farm9.staticflickr.com/8354/8305747491_315753669b.jpg" alt="growl_downloads" width="458" height="500" /></a>
|
||
|
||
後はインストーラーをキックするだけ!
|
||
|
||
## Nagios側
|
||
|
||
Nagios側では色々とやることがあります。
|
||
|
||
1. Rubyのインストール
|
||
2. Ruby-growlのインストール
|
||
3. Nagiosの設定
|
||
|
||
### Rubyのインストール
|
||
|
||
Rubyがインストールされていなかったので、インストールします:
|
||
|
||
<pre>$ sudo aptitude install ruby
|
||
$ sudo aptitude install rubygems</pre>
|
||
|
||
### Ruby-growlのインストール
|
||
|
||
<a href="https://rubygems.org/gems/ruby-growl" onclick="__gaTracker('send', 'event', 'outbound-article', 'https://rubygems.org/gems/ruby-growl', 'RubyからGrowlに通知するためのライブラリ');">RubyからGrowlに通知するためのライブラリ</a>をインストールします:
|
||
|
||
<pre>$ sudo gem install ruby-growl -v 3.0</pre>
|
||
|
||
Ubuntu 12.04で標準でインストールされる Ruby は 1.8 系みたいなので、バージョン指定でインストールします。
|
||
|
||
### Nagiosの設定
|
||
|
||
Nagiosの設定は、次の二つを指定します:
|
||
|
||
#### コマンドの定義
|
||
|
||
commands.cfgを編集します:
|
||
|
||
[crayon]
|
||
|
||
+### Growl ###
|
||
|
||
+define command{
|
||
|
||
+ command_name host-notify-by-growl
|
||
|
||
+ command_line /usr/local/bin/growl -h 192.168.3.7 -s -t “Nagios Notification” -m “$HOSTALIAS$ is $HOSTSTATE$. $HO
|
||
|
||
+ }
|
||
|
||
+
|
||
|
||
+define command{
|
||
|
||
+ command_name notify-by-growl
|
||
|
||
+ command_line /usr/local/bin/growl -h 192.168.3.7 -s -t “Nagios Notification” -m “$SERVICEDESC$ @ $HOSTNAME$ is $
|
||
|
||
+ }
|
||
|
||
[/crayon]
|
||
|
||
Ruby-growlをインストールすると、growlコマンドも一緒にインストールされます。それを使用します。
|
||
|
||
#### コンタクトの定義
|
||
|
||
contacts.cfgを編集します:
|
||
|
||
[crayon]
|
||
|
||
@@ -35,7 +35,13 @@ define contact{
|
||
|
||
email nagios@localhost ; < <**\*\\*\* CHANGE THIS TO YOUR EMAIL ADDRESS \*\*\****
|
||
|
||
}
|
||
|
||
–
|
||
|
||
+define contact{
|
||
|
||
+ contact_name localadmin
|
||
|
||
+ use generic-contact
|
||
|
||
+ alias Local Host Admin
|
||
|
||
+ service\_notification\_commands notify-by-growl
|
||
|
||
+ host\_notification\_commands host-notify-by-growl
|
||
|
||
+ }
|
||
|
||
###############################################################################
|
||
|
||
###############################################################################
|
||
|
||
@@ -53,3 +59,9 @@ define contactgroup{
|
||
|
||
alias Nagios Administrators
|
||
|
||
members nagiosadmin
|
||
|
||
}
|
||
|
||
+
|
||
|
||
+define contactgroup{
|
||
|
||
+ contactgroup_name localadmins
|
||
|
||
+ alias Local Admins
|
||
|
||
+ members localadmin
|
||
|
||
+ }
|
||
|
||
[/crayon]
|
||
|
||
通知先にはとりあえず「localadmins」という名称をつけました。
|
||
|
||
## 動作確認
|
||
|
||
ホストをダウンさせると、Growlに通知が来ます:
|
||
|
||
|
||
|
||
<a href="http://www.flickr.com/photos/42332031@N02/8305905275/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.flickr.com/photos/42332031@N02/8305905275/', '');" title="GrowlHelperApp by kazu634, on Flickr"><img class="aligncenter" src="http://farm9.staticflickr.com/8084/8305905275_40398e6e29.jpg" alt="GrowlHelperApp" width="310" height="103" /></a> |