フォローするこれらティーボックスへの道:
実際にこのコマンドを実行してみるまではすべてがうまく進んでいました(記事に誤字があってここで修正しました)。
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
私の結果:
# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
Could not bind socket: Permission denied
このコマンドをrootとして実行しました。私はTCPの代わりにUNIXソケットを使うことにしました。再起動後、Nagiosログに次のものが表示されますが、コマンドを手動で実行しようとすると何も表示されません。
[1371152186] ndomod: NDOMOD 1.5.2 (06-08-2012) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1371152186] ndomod: Could not open data sink! I'll keep trying, but some output may get lost...
[1371152186] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
プロセスツリーを見ると、どんな種類の "ndo"プロセスも実行されていないことがわかります。
netstatを見ると、次のようになります。
unix 2 [ ACC ] STREAM LISTENING 841374 /var/run/saslauthd/mux
unix 2 [ ACC ] STREAM LISTENING 840356 @/com/ubuntu/upstart
unix 2 [ ] DGRAM 840610 @/org/kernel/udev/udevd
unix 10 [ ] DGRAM 841162 /dev/log
unix 2 [ ACC ] STREAM LISTENING 841337 /var/lib/mysql/mysql.sock
unix 2 [ ] DGRAM 857504
unix 2 [ ] DGRAM 847472
unix 2 [ ] DGRAM 841625
unix 2 [ ] DGRAM 841584
unix 2 [ ] DGRAM 841534
unix 2 [ ] DGRAM 841517
unix 2 [ ] DGRAM 841373
unix 2 [ ] DGRAM 841212
unix 3 [ ] DGRAM 840614
unix 3 [ ] DGRAM 840613
このユーティリティを使用してデバッグを有効にしようとしています。
debug_level=-1
debug_verbosity=1
debug_file=/usr/local/nagios/var/ndo2db.debug
max_debug_file_size=1000000
しかし、何も書かれていません/usr/local/nagios/var/ndo2db.debug
。
答え1
これは許可です。このプロセスはユーザー "nagios"で始まりますが、root:rootは/usr/local/nagiosのユーザー:グループ所有者であり、ユーザーnagiosはルートグループのメンバーではありません。
# groups nagios
nagios: nagios centreon
とにかく解決策は次のとおりです。
# chmod -R 770 /usr/local/nagios
# chgrp -R nagios /usr/local/nagios
今すぐ起動します。
# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
# ps aux | grep ndo
nagios 4423 0.0 0.0 8220 652 ? Ss 00:14 0:00 /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
これらの権限に関して問題が見つかった場合は、お知らせください。
# stat /usr/local/nagios
File: `/usr/local/nagios'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 18h/24d Inode: 75507753 Links: 5
Access: (0770/drwxrwx---) Uid: ( 0/ root) Gid: ( 499/ nagios)
Access: 2013-06-14 00:16:38.195375728 +0400
Modify: 2013-06-13 22:38:29.836402241 +0400
Change: 2013-06-14 00:16:38.196375599 +0400
答え2
Could not bind socket: Permission denied
ソケットファイルが書き込まれるディレクトリへの書き込み権限が原因でエラーが発生する可能性があります。
私の場合はchmod
そうし/dir/of/socket/fie/
なければなりませんでした777
。この変更の後、プロセスは正常に開始されます。
/usr/local/nagios
IMOでは権限を変更する必要はありません。ndo2db
プロセスがソケットファイルを書き込もうとするディレクトリです。 [通常は../varですが、ndo
設定ファイルの他の場所で設定できます。 ]