banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Các vấn đề Nagios on CentOS 5.5 Final  XML
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 23/09/2010 13:57:21 (+0700) | #1 | 221299
lendz
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 23/09/2010 15:23:43 (+0700) | #2 | 221308
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

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!
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 24/09/2010 15:25:05 (+0700) | #3 | 221394
lendz
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
[Profile] [PM]
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
Stopping nagios: No lock file found in /usr/local/nagios/var/nagios.lock (vẫn có file nagios.lock)

Thanks
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 24/09/2010 15:57:16 (+0700) | #4 | 221397
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

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
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!
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 24/09/2010 18:46:16 (+0700) | #5 | 221405
lendz
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 24/09/2010 20:34:28 (+0700) | #6 | 221416
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

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!
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 24/09/2010 21:11:49 (+0700) | #7 | 221422
lendz
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 24/09/2010 21:55:53 (+0700) | #8 | 221424
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
$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!
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 25/09/2010 19:13:24 (+0700) | #9 | 221464
lendz
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
[Profile] [PM]
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 smilie
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 25/09/2010 22:40:34 (+0700) | #10 | 221475
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
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!
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 26/09/2010 09:42:58 (+0700) | #11 | 221488
[Avatar]
giobuon
Member

[Minus]    0    [Plus]
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
[Profile] [PM]
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 smilie). 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
[Up] [Print Copy]
  [Discussion]   Các vấn đề Nagios on CentOS 5.5 Final 26/09/2010 13:38:26 (+0700) | #12 | 221503
lendz
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 01:12:00
Messages: 8
Offline
[Profile] [PM]
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... smilie
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.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 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|