[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
23/09/2010 13:57:21 (+0700) | #1 | 221299 |
lendz
Member
|
0 |
|
|
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
|
|
Hiện tại mình đang nghiên cứu để triển khai Nagios trên CentOS nhưng do kiến thức về Unix và Nagios còn hạn chế nên gặp khá nhiều vấn đề. Mọi người ai đã đang hay có ý muốn làm và trong quá trình làm nếu có vấn đề gì thì mọi người post lên đây rồi cùng thảo luận nhe. Thanks.
Hiện tại mình gặp một số vấn đề sau:
Mình check traffic của Router Cisco
define service{
use generic-service
host_name Router 2961
service_description Traffic Load F0/0
check_command check_iftraffic! -H 192.168.0.1 -C public -i FastEthernet0/0 -b 100 -u m
max_check_attempts 1
normal_check_interval 5
retry_check_interval 5
}
thì lỗi trả về là (Return code of 255 is out of bounds) mặc dù check bằng console thì được.
Đối với check_mrtg
define service{
use generic-service ; Inherit values from a template
host_name Router 2961
service_description Port 1 Bandwidth Usage
check_command check_local_mrtgtraf!/var/lib/mrtg/2691.log!AVG!1000000,2000000!5000000,5000000!10
}
thì trả về lỗi check_mrtgtraf: Unable to open MRTG log file. Đã check lại đường dẫn nhưng vẫn không thấy file log sinh ra.
Đã search khá nhiều nhưng vẫn chưa giải quyết được.
Mình còn thắc mắc là nếu muốn check_by_ssh trên windows thì phải cấu hình sinh khoá trên windows như thế nào. Và có cách nào theo dõi log của webserver bằng nagios không?
Cám ơn mọi người đã đọc.
|
|
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
23/09/2010 15:23:43 (+0700) | #2 | 221308 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
lendz wrote:
Mình check traffic của Router Cisco
define service{
use generic-service
host_name Router 2961
service_description Traffic Load F0/0
check_command check_iftraffic! -H 192.168.0.1 -C public -i FastEthernet0/0 -b 100 -u m
max_check_attempts 1
normal_check_interval 5
retry_check_interval 5
}
thì lỗi trả về là (Return code of 255 is out of bounds) mặc dù check bằng console thì được.
Dòng cấu hình check_command của bạn sai rồi. Trong service section thì bạn phải gọi dưới dạng: check_iftraffic!para1!para2!... chứ (như ở dưới ấy), còn trong commands.cfg bạn mới khai báo dưới dạng: check_iftraffic.pl -H $HOSTADDRESS$ -C $ARG1$ ...
lendz wrote:
Đối với check_mrtg
define service{
use generic-service ; Inherit values from a template
host_name Router 2961
service_description Port 1 Bandwidth Usage
check_command check_local_mrtgtraf!/var/lib/mrtg/2691.log!AVG!1000000,2000000!5000000,5000000!10
}
thì trả về lỗi check_mrtgtraf: Unable to open MRTG log file. Đã check lại đường dẫn nhưng vẫn không thấy file log sinh ra.
Đã search khá nhiều nhưng vẫn chưa giải quyết được.
Theo bạn, file log kia do cái gì sinh ra?
lendz wrote:
Mình còn thắc mắc là nếu muốn check_by_ssh trên windows thì phải cấu hình sinh khoá trên windows như thế nào.
Bạn có thể dùng NSClient++
lendz wrote:
Và có cách nào theo dõi log của webserver bằng nagios không?
Web server này nằm trên local hay ở xa? Bạn muốn theo dõi log để phát hiện điều gì?
|
|
Let's build on a great foundation! |
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
24/09/2010 15:25:05 (+0700) | #3 | 221394 |
lendz
Member
|
0 |
|
|
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
|
|
Cám ơn vì reply mình. Mình có cấu hình một check service như sau và vẫn chạy được
define service{
use generic-service ; Inherit values from a template
host_name Router 2961
service_description Port Content
check_command check_ifstatus! -C public -H 192.168.0.1 -x1
}
Mình đã fix lại service như sau
define service{
use generic-service
host_name Router 2961
service_description Traffic Load F0/0
check_command check_iftraffic!192.168.0.1!public!FastEthernet0/0!100!m
max_check_attempts 1
normal_check_interval 5
retry_check_interval 5
}
nhưng vẫn báo cùng kết quả nên mình nghĩ không phải do check_command.
Đối với check_mrtg, mình nghĩ file log là do mrtg sinh ra không biết đúng không (đã set permisson trên folder chứa log)
Webserver mình nằm trên LAN luôn, mình muốn đổ log về nagios để check (dạng như mấy tool web server log analysis) không biết được không?
Còn hay gặp 1 vấn đề nữa là khi restart nagios service thì hay gặp vấn đề này
Warning - nagios did not exit in a timely manner
và Stopping nagios: No lock file found in /usr/local/nagios/var/nagios.lock (vẫn có file nagios.lock)
Thanks |
|
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
24/09/2010 15:57:16 (+0700) | #4 | 221397 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
lendz wrote:
Cám ơn vì reply mình. Mình có cấu hình một check service như sau và vẫn chạy được
define service{
use generic-service ; Inherit values from a template
host_name Router 2961
service_description Port Content
check_command check_ifstatus! -C public -H 192.168.0.1 -x1
}
Mình đã fix lại service như sau
define service{
use generic-service
host_name Router 2961
service_description Traffic Load F0/0
check_command check_iftraffic!192.168.0.1!public!FastEthernet0/0!100!m
max_check_attempts 1
normal_check_interval 5
retry_check_interval 5
}
nhưng vẫn báo cùng kết quả nên mình nghĩ không phải do check_command.
À, OK, mình nhầm.
Bạn post đoạn khai báo check_iftraffic lên đi. Copy luôn output bạn nhận được khi chạy từ command line.
lendz wrote:
Đối với check_mrtg, mình nghĩ file log là do mrtg sinh ra không biết đúng không (đã set permisson trên folder chứa log)
Đúng rồi, file log đó chứa dữ liệu của MRTG, nó phải tồn tại trước thì bạn mới monitor được chứ.
lendz wrote:
Webserver mình nằm trên LAN luôn, mình muốn đổ log về nagios để check (dạng như mấy tool web server log analysis) không biết được không?
Bạn nên tìm một công cụ khác thích hợp hơn.
lendz wrote:
Còn hay gặp 1 vấn đề nữa là khi restart nagios service thì hay gặp vấn đề này
Warning - nagios did not exit in a timely manner
và Stopping nagios: No lock file found in /usr/local/nagios/var/nagios.lock (vẫn có file nagios.lock)
Post file init script (/etc/init.d/nagios) của bạn lên. |
|
Let's build on a great foundation! |
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
24/09/2010 18:46:16 (+0700) | #5 | 221405 |
lendz
Member
|
0 |
|
|
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
|
|
Thanks quanta
Đây là đoạn khai báo check_ifstatus
define command{
command_name check_ifstatus
command_line $USER1$/check_ifstatus -H $HOSTADDRESS$ -C public -x $ARG1$
}
Kết quả khi chạy bằng command
[root@localhost libexec]# ./check_ifstatus -C public -H 192.168.0.1 -x1
OK: host '192.168.0.1', interfaces up: 3, down: 0, dormant: 0, excluded: 1, unused: 0 |up=3,down=0,dormant=0,excluded=1,unused=0
Đối với mrtg, vậy mình phải tạo log trước bằng tay hay sao?
Bạn monitor log của các server bằng tool gì? Có thể recommend cho mình được không?
Đây là file init của nagios
Code:
#!/bin/sh
#
# chkconfig: 345 99 01
# description: Nagios network monitor
#
# File : nagios
#
# Author : Jorge Sanchez Aymar (jsanchez@lanchile.cl)
#
# Changelog :
#
# 1999-07-09 Karl DeBisschop <kdebisschop@infoplease.com>
# - setup for autoconf
# - add reload function
# 1999-08-06 Ethan Galstad <egalstad@nagios.org>
# - Added configuration info for use with RedHat's chkconfig tool
# per Fran Boon's suggestion
# 1999-08-13 Jim Popovitch <jimpop@rocketship.com>
# - added variable for nagios/var directory
# - cd into nagios/var directory before creating tmp files on startup
# 1999-08-16 Ethan Galstad <egalstad@nagios.org>
# - Added test for rc.d directory as suggested by Karl DeBisschop
# 2000-07-23 Karl DeBisschop <kdebisschop@users.sourceforge.net>
# - Clean out redhat macros and other dependencies
# 2003-01-11 Ethan Galstad <egalstad@nagios.org>
# - Updated su syntax (Gary Miller)
#
# Description: Starts and stops the Nagios monitor
# used to provide network services status.
#
status_nagios ()
{
if test -x $NagiosCGI/daemonchk.cgi; then
if $NagiosCGI/daemonchk.cgi -l $NagiosRunFile; then
return 0
else
return 1
fi
else
if ps -p $NagiosPID > /dev/null 2>&1; then
return 0
else
return 1
fi
fi
return 1
}
printstatus_nagios()
{
if status_nagios $1 $2; then
echo "nagios (pid $NagiosPID) is running..."
else
echo "nagios is not running"
fi
}
killproc_nagios ()
{
kill $2 $NagiosPID
}
pid_nagios ()
{
if test ! -f $NagiosRunFile; then
echo "No lock file found in $NagiosRunFile"
exit 1
fi
NagiosPID=`head -n 1 $NagiosRunFile`
}
# Source function library
# Solaris doesn't have an rc.d directory, so do a test first
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
prefix=/usr/local/nagios
exec_prefix=${prefix}
NagiosBin=${exec_prefix}/bin/nagios
NagiosCfgFile=${prefix}/etc/nagios.cfg
NagiosStatusFile=${prefix}/var/status.dat
NagiosRetentionFile=${prefix}/var/retention.dat
NagiosCommandFile=${prefix}/var/rw/nagios.cmd
NagiosVarDir=${prefix}/var
NagiosRunFile=${prefix}/var/nagios.lock
NagiosLockDir=/var/lock/subsys
NagiosLockFile=nagios
NagiosCGIDir=${exec_prefix}/sbin
NagiosUser=nagios
NagiosGroup=nagios
# Check that nagios exists.
if [ ! -f $NagiosBin ]; then
echo "Executable file $NagiosBin not found. Exiting."
exit 1
fi
# Check that nagios.cfg exists.
if [ ! -f $NagiosCfgFile ]; then
echo "Configuration file $NagiosCfgFile not found. Exiting."
exit 1
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
rm -f $NagiosCommandFile
touch $NagiosRunFile
chown $NagiosUser:$NagiosGroup $NagiosRunFile
$NagiosBin -d $NagiosCfgFile
if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi
echo " done."
exit 0
else
echo "CONFIG ERROR! Start aborted. Check your Nagios configuration."
exit 1
fi
;;
stop)
echo -n "Stopping nagios: "
pid_nagios
killproc_nagios nagios
# now we have to wait for nagios to exit and remove its
# own NagiosRunFile, otherwise a following "start" could
# happen, and then the exiting nagios will remove the
# new NagiosRunFile, allowing multiple nagios daemons
# to (sooner or later) run - John Sellens
#echo -n 'Waiting for nagios to exit .'
for i in 1 2 3 4 5 6 7 8 9 10 ; do
if status_nagios > /dev/null; then
echo -n '.'
sleep 1
else
break
fi
done
if status_nagios > /dev/null; then
echo ''
echo 'Warning - nagios did not exit in a timely manner'
else
echo 'done.'
fi
rm -f $NagiosStatusFile $NagiosRunFile $NagiosLockDir/$NagiosLockFile $NagiosCommandFile
;;
status)
pid_nagios
printstatus_nagios nagios
;;
checkconfig)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo " OK."
else
echo " CONFIG ERROR! Check your Nagios configuration."
exit 1
fi
;;
restart)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done."
$0 stop
$0 start
else
echo " CONFIG ERROR! Restart aborted. Check your Nagios configuration."
exit 1
fi
;;
reload|force-reload)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done."
if test ! -f $NagiosRunFile; then
$0 start
else
pid_nagios
if status_nagios > /dev/null; then
printf "Reloading nagios configuration..."
killproc_nagios nagios -HUP
echo "done"
else
$0 stop
$0 start
fi
fi
else
echo " CONFIG ERROR! Reload aborted. Check your Nagios configuration."
exit 1
fi
;;
*)
echo "Usage: nagios {start|stop|restart|reload|force-reload|status|checkconfig}"
exit 1
;;
esac
# End of this script
Thanks |
|
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
24/09/2010 20:34:28 (+0700) | #6 | 221416 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
lendz wrote:
Đây là đoạn khai báo check_ifstatus
...
Chán quá, mình nhìn nhầm. Mình cần đoạn khai báo check_iftraffic thì mới liên quan đến service trên của bạn. (cả khi chạy từ command line nữa nhé)
lendz wrote:
Đối với mrtg, vậy mình phải tạo log trước bằng tay hay sao?
Bạn phải làm quen với MRTG trước:
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch22_:_Monitoring_Server_Performance#MRTG
lendz wrote:
Bạn monitor log của các server bằng tool gì? Có thể recommend cho mình được không?
Mình dùng OSSEC.
lendz wrote:
Đây là file init của nagios
Code:
#!/bin/sh
#
# chkconfig: 345 99 01
# description: Nagios network monitor
#
# File : nagios
#
# Author : Jorge Sanchez Aymar (jsanchez@lanchile.cl)
#
# Changelog :
#
# 1999-07-09 Karl DeBisschop <kdebisschop@infoplease.com>
# - setup for autoconf
# - add reload function
# 1999-08-06 Ethan Galstad <egalstad@nagios.org>
# - Added configuration info for use with RedHat's chkconfig tool
# per Fran Boon's suggestion
# 1999-08-13 Jim Popovitch <jimpop@rocketship.com>
# - added variable for nagios/var directory
# - cd into nagios/var directory before creating tmp files on startup
# 1999-08-16 Ethan Galstad <egalstad@nagios.org>
# - Added test for rc.d directory as suggested by Karl DeBisschop
# 2000-07-23 Karl DeBisschop <kdebisschop@users.sourceforge.net>
# - Clean out redhat macros and other dependencies
# 2003-01-11 Ethan Galstad <egalstad@nagios.org>
# - Updated su syntax (Gary Miller)
#
# Description: Starts and stops the Nagios monitor
# used to provide network services status.
#
status_nagios ()
{
if test -x $NagiosCGI/daemonchk.cgi; then
if $NagiosCGI/daemonchk.cgi -l $NagiosRunFile; then
return 0
else
return 1
fi
else
if ps -p $NagiosPID > /dev/null 2>&1; then
return 0
else
return 1
fi
fi
return 1
}
printstatus_nagios()
{
if status_nagios $1 $2; then
echo "nagios (pid $NagiosPID) is running..."
else
echo "nagios is not running"
fi
}
killproc_nagios ()
{
kill $2 $NagiosPID
}
pid_nagios ()
{
if test ! -f $NagiosRunFile; then
echo "No lock file found in $NagiosRunFile"
exit 1
fi
NagiosPID=`head -n 1 $NagiosRunFile`
}
# Source function library
# Solaris doesn't have an rc.d directory, so do a test first
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
prefix=/usr/local/nagios
exec_prefix=${prefix}
NagiosBin=${exec_prefix}/bin/nagios
NagiosCfgFile=${prefix}/etc/nagios.cfg
NagiosStatusFile=${prefix}/var/status.dat
NagiosRetentionFile=${prefix}/var/retention.dat
NagiosCommandFile=${prefix}/var/rw/nagios.cmd
NagiosVarDir=${prefix}/var
NagiosRunFile=${prefix}/var/nagios.lock
NagiosLockDir=/var/lock/subsys
NagiosLockFile=nagios
NagiosCGIDir=${exec_prefix}/sbin
NagiosUser=nagios
NagiosGroup=nagios
# Check that nagios exists.
if [ ! -f $NagiosBin ]; then
echo "Executable file $NagiosBin not found. Exiting."
exit 1
fi
# Check that nagios.cfg exists.
if [ ! -f $NagiosCfgFile ]; then
echo "Configuration file $NagiosCfgFile not found. Exiting."
exit 1
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
rm -f $NagiosCommandFile
touch $NagiosRunFile
chown $NagiosUser:$NagiosGroup $NagiosRunFile
$NagiosBin -d $NagiosCfgFile
if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi
echo " done."
exit 0
else
echo "CONFIG ERROR! Start aborted. Check your Nagios configuration."
exit 1
fi
;;
stop)
echo -n "Stopping nagios: "
pid_nagios
killproc_nagios nagios
# now we have to wait for nagios to exit and remove its
# own NagiosRunFile, otherwise a following "start" could
# happen, and then the exiting nagios will remove the
# new NagiosRunFile, allowing multiple nagios daemons
# to (sooner or later) run - John Sellens
#echo -n 'Waiting for nagios to exit .'
for i in 1 2 3 4 5 6 7 8 9 10 ; do
if status_nagios > /dev/null; then
echo -n '.'
sleep 1
else
break
fi
done
if status_nagios > /dev/null; then
echo ''
echo 'Warning - nagios did not exit in a timely manner'
else
echo 'done.'
fi
rm -f $NagiosStatusFile $NagiosRunFile $NagiosLockDir/$NagiosLockFile $NagiosCommandFile
;;
status)
pid_nagios
printstatus_nagios nagios
;;
checkconfig)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo " OK."
else
echo " CONFIG ERROR! Check your Nagios configuration."
exit 1
fi
;;
restart)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done."
$0 stop
$0 start
else
echo " CONFIG ERROR! Restart aborted. Check your Nagios configuration."
exit 1
fi
;;
reload|force-reload)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done."
if test ! -f $NagiosRunFile; then
$0 start
else
pid_nagios
if status_nagios > /dev/null; then
printf "Reloading nagios configuration..."
killproc_nagios nagios -HUP
echo "done"
else
$0 stop
$0 start
fi
fi
else
echo " CONFIG ERROR! Reload aborted. Check your Nagios configuration."
exit 1
fi
;;
*)
echo "Usage: nagios {start|stop|restart|reload|force-reload|status|checkconfig}"
exit 1
;;
esac
# End of this script
- Đoạn mã nên được đưa vào [ code ] [ /code ] tag để giữ được định dạng.
- Mình nghĩ bạn nên tìm hiểu một chút xem đoạn script trên làm những gì. |
|
Let's build on a great foundation! |
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
24/09/2010 21:11:49 (+0700) | #7 | 221422 |
lendz
Member
|
0 |
|
|
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
|
|
Mình khai báo check_iftraffic thế này
Code:
define command{
command_name check_iftraffic
command_line $USER1$/check_iftraffic.pl -H $HOSTADDRESS$ -C $USER3$ -i $ARG1$ -b $ARG2$ -u $ARG3$
}
Kết quả trên command line
Code:
[root@localhost libexec]# ./check_iftraffic.pl -H 192.168.0.1 -C public -i FastEthernet0/0 -b 100 -u m
Total RX Bytes: 528526.00 B, Total TX Bytes: 531682.00 B<br>Average Traffic: 3.30 B/s (0.0%) in, 3.15 B/s (0.0%) out|inUsage=0.0%;85;98;; outUsage=0.0%;85;98;; inAbsolut=156283B;10625000;12250000;; outAbsolut=175653B;10625000;12250000;;
Thanks |
|
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
24/09/2010 21:55:53 (+0700) | #8 | 221424 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
$USER3$ bạn đã định nghĩa trong resource.cfg chưa? Nếu chưa, thì bạn có thể sửa hết thành $ARGx$ cũng được:
Code:
$USER1$/check_iftraffic.pl -H $HOSTADDRESS$ -C $ARG1$ -i $ARG2$ -b $ARG3$ -u m
rồi định nghĩa một host cho router của bạn, và gọi với:
Code:
check_iftraffic!public!FastEthernet0/0!100
Thử lại xem nhé.
|
|
Let's build on a great foundation! |
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
25/09/2010 19:13:24 (+0700) | #9 | 221464 |
lendz
Member
|
0 |
|
|
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
|
|
Mình đã khai báo USER3 vẫn không được, rồi đổi lại thành ARGX như cách của quanta nhưng vẫn vậy (Return code of 255 is out of bound).
Thanks quanta cái OSSEC, thấy có vẻ hay, thử triển khai thêm xem sao. Rồi so sánh với con CS-MARS của cisco xem thế nào |
|
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
25/09/2010 22:40:34 (+0700) | #10 | 221475 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Nagios có quy định Return codes như sau:
0: OK
1: Warning
2: Critical
3: Unknown
Về lỗi trên, bạn có thể tham khảo: http://support.nagios.com/knowledgebase/faqs/index.php?option=com_content&view=article&id=52&catid=35&faq_id=17&expand=false&showdesc=true
Bạn gửi output của `ls /tmp` lên mình xem thử.
Bạn disable embedded Perl interpreter trong nagios.cfg đi rồi thử lại xem:
Code:
# grep -i embedded /usr/local/nagios/etc/nagios.cfg | grep -v ^#
enable_embedded_perl=1
use_embedded_perl_implicitly=1
|
|
Let's build on a great foundation! |
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
26/09/2010 09:42:58 (+0700) | #11 | 221488 |
|
giobuon
Member
|
0 |
|
|
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
|
|
1. Đừng bao giờ test plugin của nagios với user root. Nhiều khi nó chả có vấn đề gì, nhưng nhiều lúc khiến mình mất cả ngày debug (Trust me, I learned it the hard way ). Theo mình trong trường hợp của bạn có thể khi bạn chạy script với quyền root đã tạo ra các file tạm trong thư mục tmp với quyền root, sau đó khi bạn chạy với quyền nagios thì không thể đọc ghi các file này nữa.
2. Trong phần lớn trường hợp các plugin của nagios đều có source code. Bạn có thể edit và print ra các thông tin debug một các dễ dàng (ví dụ như các giá trị file đọc vào, giá trị có được từ query SNMP...)
3. Giữ mọi thứ đơn giản và theo chuẩn. Từ việc đặt tên, dùng biến, command... Việc này sẽ có ích rất lớn nếu bạn làm với số lượng lớn.
//Không đọc kĩ, quanta bài trước trả lời cùng ý mình rồi. Thực ra cách đo traffic bằng SNMP hiện nay mà hầu hết các chương trình monitor hay plugin của nagios dùng là lấy kết quả 1 lần đầu, lưu ra file, chạy tiếp lần 2, lấy chênh lệch rồi chia cho interval giữa hai lần chạy.
-giobuon |
|
|
|
|
[Discussion] Các vấn đề Nagios on CentOS 5.5 Final |
26/09/2010 13:38:26 (+0700) | #12 | 221503 |
lendz
Member
|
0 |
|
|
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
|
|
Thanks quanta và giobuon. Đúng là vấn đề nằm ở permission của tmp. Khi check plugin bằng user nagios là nó báo ngay. Vậy mà làm hoài không ra.
Sẽ ghi nhớ lời giobuon, không bao giờ dùng root để check plugin, hix, nó vật mấy ngày vì cái này...
Many thanks...
By the way, có kinh nghiệm gì trong triển khai cái này với OSSEC thì share với ha (Mình triển khai trên hệ thống của cisco, windows, linux...etc).
Một lần nữa cám ơn 2 bạn. |
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|