58 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | #!/bin/sh | ||
|  | ################################################################################ | ||
|  | # | ||
|  | #  Rattail -- Retail Software Framework | ||
|  | #  Copyright © 2010-2019 Lance Edgar | ||
|  | # | ||
|  | #  This file is part of Rattail. | ||
|  | # | ||
|  | #  Rattail is free software: you can redistribute it and/or modify it under the | ||
|  | #  terms of the GNU General Public License as published by the Free Software | ||
|  | #  Foundation, either version 3 of the License, or (at your option) any later | ||
|  | #  version. | ||
|  | # | ||
|  | #  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY | ||
|  | #  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||
|  | #  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more | ||
|  | #  details. | ||
|  | # | ||
|  | #  You should have received a copy of the GNU General Public License along with | ||
|  | #  Rattail.  If not, see <http://www.gnu.org/licenses/>. | ||
|  | # | ||
|  | ################################################################################ | ||
|  | # | ||
|  | # This is a simple script which will output a single line of info, and exit | ||
|  | # with a return code which indicates status of a given supervisor process.  It | ||
|  | # was designed for use with Shinken monitoring.  Invoke like so: | ||
|  | # | ||
|  | #    check-supervisor-process NAME | ||
|  | # | ||
|  | # Where NAME refers to the process, e.g. 'rattail:datasync'.  Exit code may be: | ||
|  | # | ||
|  | #  * 0 = process is confirmed running | ||
|  | #  * 2 = process is confirmed *not* running | ||
|  | #  * 3 = unknown state | ||
|  | # | ||
|  | ################################################################################ | ||
|  | 
 | ||
|  | NAME="$1" | ||
|  | if [ "$NAME" = "" ]; then | ||
|  |     echo "Usage: check-supervisor-process NAME" | ||
|  |     exit 3 | ||
|  | fi | ||
|  | 
 | ||
|  | STATUS=$(sudo supervisorctl status $NAME | awk -F ' +' '{print $2}') | ||
|  | 
 | ||
|  | if [ $STATUS = "RUNNING" ]; then | ||
|  |     echo "supervisor reports RUNNING status" | ||
|  |     exit 0 | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$STATUS" = "" ]; then | ||
|  |     echo "unable to perform status check!" | ||
|  |     exit 3 | ||
|  | fi | ||
|  | 
 | ||
|  | echo "supervisor reports $STATUS status" | ||
|  | exit 2 |