Jan 15, 2010
Nagios の check_vnc を設定する。
Jan 11, 2010
2年ぶりにユキヤマへ。
ほんと、久しぶりにスキーしてきました。前の会社の同期と2人で。。
久しぶりしぎて出発する時間も忘れてたので、見事に出遅れて行きの高速は渋滞…。そうかもっとはやくでてたのか…。
高速のインターから近いスキー場は混んでることが多いので、遠いスキー場に行くことが多かったけど、今回は時間がなかったので近いところに。。
もっと滑れたような気がするけど、こんなもんだったかなぁ。。
思ったより空いてて、心配になりました。。みんなユキヤマ行かないのかなー。
帰りはなめこセンター(なめセン)へ、子宝あめが相変わらず売ってたり。
なめこ汁もらって、おみやげ買ってきました。
帰り道も渋滞なし。
今朝起きたときの筋肉痛はほとんどなし。
なんだろう、筋肉痛にならないほど筋肉が落ちてるのか…。ぬぅ。
Dec 28, 2009
大学の時の友達と忘年会。
ファイルのないディレクトリを削除する。
tmpwatch でフォルダは削除されないので…。
[root@backup_samba_server ~]# find /home/samba/.trach/ -type d -empty -delete
怖いけどできる。
参考にさせていただきました。
[linux][bsd] 空ディレクトリだけを削除する
Dec 25, 2009
rdiff-backup でエラー。
rdiff-backup を導入してしばらく、サーバがハングアップ後『バックアップのエラー』メールが届くようになりました。
rdiff-backup フォルダの backup.log を見てみると
UpdateError "ファイル名" File changed from regular file before signature
とエラーが…。
調べると 公式ページの Wiki に情報が。
Go into the "rdiff-backup-data" directory and find the most recent "file_statistics" and "mirror_metadata" gzipped files.
最新の "file_statistics" と "mirror_metadata" を解凍して該当部分を削除して圧縮するといいとのこと。
解凍してファイルを確認すると確かに文字化け( 便 → 偏 へ文字化けてる)の情報が記録されてる…。
修正して再圧縮。深夜には直ってるはず。。
さっきのを最後まで読むと ruby スクリプトがあるらしい。ので修正後に試したみた。
[root@samba_server rdiff-backup-data]# ruby ./fixRdiffBackupData.rb .
dir=. time=2009-12-08T03:00:03+09:00
ERROR LOG
read 1, ignored 1
FILE STAT
read 753013, ignored 0
MIRROR META
read 7319092, ignored 0
日本語通るかあやしいけど LOG にエラーがあるのは見て取れる。FILE STAT, MIRROR META の方は修正してるので何も検出されない? 今度また失敗したら試そう。
Dec 01, 2009
起動時のファイルシステムのチェック(fsck)間隔を変更するには
客先のファイルサーバの停電の再起動で時間がかかったりかからなかったりするので、どうなってるのか調べた結果を書いておく。
ちなみに、FedoraのインストーラでフォーマットしたHDDの場合は、「Maximum mount count」と「Check interval」の値がそれぞれ「-1」と「0」に設定されており、ファイルシステムの自動チェックは行われない。
[root@landisk root]# cat /etc/vine-release
Vine Linux 4.2 (Lynch Bages)
[root@landisk root]# tune2fs /dev/sda7 -l
tune2fs 1.38 (30-Jun-2005)
Filesystem volume name: /home
Last mounted on:
Vine 4.2 もチェックされないなぁ。
Nov 27, 2009
Nagios の NSCA 監視側設定。
忘れるので書いておこう。
今回は遠隔サーバ(監視するサーバ)の設定です。
※Nagios 本体は tar から コンパイルして /usr/local/nagios にインストール済み。サーバ単体で localhost の監視を出来るのを確認する。
Nagios Addons から NSCA をダウンロード。
解凍
tar zxvf nsca-2.7.2.tar.gz
cd nsca-2.7.2
コンパイル
./configure
make all
インストール
cp src/send_nsca /usr/local/nagios/bin/
chown nagios.nagios /usr/local/nagios/bin/send_nsca
chmod 755 $_
cp sample-config/send_nsca.cfg /usr/local/nagios/etc/
chown nagios.nagios /usr/local/nagios/etc/send_nsca.cfg
chmod 640 $_
nagios 設定
enable_notifications=0
# このサーバからの警告発信を無効にする。
obsess_over_services=1
# 各サービスのチェック後コマンドを実行するオプション。使うコマンドは『ocsp_command』で設定。
ocsp_command=submit_check_result
# 実行するコマンド。『submit_check_result』 というコマンドを『/usr/local/nagios/etc/objects/commands.cfg』 に記載する。
vi /usr/local/nagios/etc/send_nsca.cfg
監視する側と設定を合わせる。
password=heoeoeoeoeojsasldfaas
encryption_method=3
『submit_check_result』 を作成する。 vi /usr/local/nagios/libexec/submit_check_result
#!/bin/sh
central_server="monitor"
# Arguments:
# $1 = host_name (Short name of host that the service is
# associated with)
# $2 = svc_description (Description of the service)
# $3 = state_string (A string representing the status of
# the given service - "OK", "WARNING", "CRITICAL"
# or "UNKNOWN")
# $4 = plugin_output (A text string that should be used
# as the plugin output for the service checks)
#
# Convert the state string to the corresponding return code
return_code=-1
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
[0-2])
return_code=$3
;;
esac
# pipe the service check info into the send_nsca program, which
# in turn transmits the data to the nsca daemon on the central
# monitoring server
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/local/nagios/bin/send_nsca $central_server -c /usr/local/nagios/etc/send_nsca.cfg
『/usr/local/nagios/etc/objects/commands.cfg』に ocsp_command コマンド追加。
###############
# for nsca client
define command{
command_name submit_check_result
command_line /usr/local/nagios/libexec/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATEID$ '$SERVICEOUTPUT$'
}
###############
引っかかったところ。
mcript-devel インストールしてないのでエラー。
→こんなエラー
[root@chiba_sv src]# /usr/local/nagios/bin/send_nsca -H example.com -c /usr/local/nagios/etc/send_nsca.cfg
Invalid encryption method (3) in config file '/usr/local/nagios/etc/send_nsca.cfg' - Line 64
Client was not compiled with mcrypt library, so encryption is unavailable.
Error: Config file '/usr/local/nagios/etc/send_nsca.cfg' contained errors...
php5-apache2 インストールしてない。( Vine 5.0 )
→ 左のメニューがリンク切れ、表示が変。
ホスト名 localhost から変更しなかったので、監視元サーバに認識されない。
→『/usr/local/nagios/etc/objects/localhost.cfg』のhost_name を監視元サーバと合わせないと、識別されないのでいつまでたっても監視元サーバに認識されない。
参考にさせていただいたサイト。(ありがとうございます!)
雑記録 - Nagios NSCAによる遠隔サーバの内部リソース監視
※写真と本文は関係ありません。
もう少し調べたいけどとりあえず書いとこう。
Nagios の check_vnc
中身は python スクリプトですね。
VNCSnapshot をインストール(解凍して /usr/local/bin にコピー。動作確認 → VNC のスクリーンショットの保存が出来る!!)
で、check_vnc スクリプトを動作させる。ちょっと古くて心配だったけど下記修正で動作する。
こんな感じでエラー。
UNKNOWN: 'vncsnapshot' cannot be found in path. Please install the vncsnapshot program or fix your PATH environment variablevncsnapshot への PATH が通ってない?
os.environ['PATH'] = '/usr/local/bin' で PATH を設定。
修正箇所
この修正で動作しました。
nagios ユーザで Login してシェルからスクリプトを実行するとエラーなし。nagios ユーザで実行してるつもりなのに、うーん。
スクリプト内で PATH と ユーザを表示するようにちょっと手を加える。
[root@nagios libexec]# diff -Nur check_vnc_org check_vnc --- check_vnc_org 2010-01-12 17:34:09.000000000 +0900 +++ check_vnc 2010-01-14 11:51:04.000000000 +0900 @@ -26,7 +26,8 @@ CRITICAL = 2 UNKNOWN = 3 -import os +#import os +import pwd, os import re import sys import signal @@ -43,6 +44,8 @@ __title__ = "Nagios Plugin for VNC" __version__ = 0.4 +#os.environ['PATH'] = '/usr/local/bin' + DEFAULT_TIMEOUT = 10 # The standard VNC port DEFAULT_PORT = 5900 @@ -65,6 +68,9 @@ else: # This one is intentionally different print "UNKNOWN: %s" % message + print os.environ['PATH'] + print pwd.getpwuid(os.getuid())[0] + sys.exit(UNKNOWN)と、こんなメッセージが出るので。
PATH → /sbin:/usr/sbin:/bin:/usr/bin
user → nagios
ということらしい。
nagios ユーザはともかく、この PATH ってどこで設定してるんだろうか…。
/etc/rc.d/rc.sysinit の中で定義、
/etc/init.d/functions
# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH
で定義してあるっぽいけどなぁ。
python と PATH 。
あとで調べよう。みんなのPython に載ってるかしら。。