2009-09-25 Sancho Lerena <slerena@artica.es>
* pandora_server.spec: Some fixes to SUSE RPM. * conf/pandora_server.conf: Added some missing default values * lib/PandoraFMS/Config.pm: Added some missing default values. * util/tentacle_serverd, util/pandora_server: SUSE rc.status addon. Need working, SUSE continues giving erratic problems inn startup :( git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1972 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
39d1e16888
commit
8e5fd3281a
|
@ -1,3 +1,15 @@
|
||||||
|
2009-09-25 Sancho Lerena <slerena@artica.es>
|
||||||
|
|
||||||
|
* pandora_server.spec: Some fixes to SUSE RPM.
|
||||||
|
|
||||||
|
* conf/pandora_server.conf: Added some missing default values
|
||||||
|
|
||||||
|
* lib/PandoraFMS/Config.pm: Added some missing default values.
|
||||||
|
|
||||||
|
* util/tentacle_serverd, util/pandora_server: SUSE rc.status
|
||||||
|
addon. Need working, SUSE continues giving erratic problems inn
|
||||||
|
startup :(
|
||||||
|
|
||||||
2009-09-22 Sancho Lerena <slerena@artica.es>
|
2009-09-22 Sancho Lerena <slerena@artica.es>
|
||||||
|
|
||||||
* pandora_server_installer: Fixes some problems detecting Linux
|
* pandora_server_installer: Fixes some problems detecting Linux
|
||||||
|
|
|
@ -85,6 +85,10 @@ reconserver 1
|
||||||
|
|
||||||
pluginserver 1
|
pluginserver 1
|
||||||
|
|
||||||
|
# Pandora FMS Plugin exec tool filepath (by default at /usr/local/bin)
|
||||||
|
|
||||||
|
plugin_exec /usr/local/bin/pandora_exec
|
||||||
|
|
||||||
# predictionserver : 1 or 0. Set to 1 to activate prediction server with this setup
|
# predictionserver : 1 or 0. Set to 1 to activate prediction server with this setup
|
||||||
|
|
||||||
predictionserver 1
|
predictionserver 1
|
||||||
|
|
|
@ -172,7 +172,7 @@ sub pandora_load_config {
|
||||||
$pa_config->{"tcp_timeout"} = 20; # Introduced on 1.3.1
|
$pa_config->{"tcp_timeout"} = 20; # Introduced on 1.3.1
|
||||||
$pa_config->{"snmp_proc_deadresponse"} = 1; # Introduced on 1.3.1 10 Feb08
|
$pa_config->{"snmp_proc_deadresponse"} = 1; # Introduced on 1.3.1 10 Feb08
|
||||||
$pa_config->{"plugin_threads"} = 2; # Introduced on 2.0
|
$pa_config->{"plugin_threads"} = 2; # Introduced on 2.0
|
||||||
$pa_config->{"plugin_exec"} = 'pandora_exec'; # 3.0
|
$pa_config->{"plugin_exec"} = '/usr/local/bin/pandora_exec'; # 3.0
|
||||||
$pa_config->{"recon_threads"} = 2; # Introduced on 2.0
|
$pa_config->{"recon_threads"} = 2; # Introduced on 2.0
|
||||||
$pa_config->{"prediction_threads"} = 1; # Introduced on 2.0
|
$pa_config->{"prediction_threads"} = 1; # Introduced on 2.0
|
||||||
$pa_config->{"plugin_timeout"} = 5; # Introduced on 2.0
|
$pa_config->{"plugin_timeout"} = 5; # Introduced on 2.0
|
||||||
|
@ -199,7 +199,7 @@ sub pandora_load_config {
|
||||||
$pa_config->{"nmap"} = "/usr/bin/nmap";
|
$pa_config->{"nmap"} = "/usr/bin/nmap";
|
||||||
|
|
||||||
# Xprobe2 for recon OS fingerprinting and tcpscan (optional)
|
# Xprobe2 for recon OS fingerprinting and tcpscan (optional)
|
||||||
$pa_config->{"xprobe2"} = "/usr/bin/xprobe";
|
$pa_config->{"xprobe2"} = "/usr/bin/xprobe2";
|
||||||
|
|
||||||
|
|
||||||
# Snmpget for snmpget system command (optional)
|
# Snmpget for snmpget system command (optional)
|
||||||
|
|
|
@ -80,7 +80,7 @@ exit 0
|
||||||
%post
|
%post
|
||||||
chkconfig -s pandora_server on
|
chkconfig -s pandora_server on
|
||||||
chkconfig -s tentacle_serverd on
|
chkconfig -s tentacle_serverd on
|
||||||
echo "/usr/share/pandora_server/util/pandora_db /etc/pandora/pandora_server.conf" > /etc/cron.daily/pandora_db
|
echo "/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf" > /etc/cron.daily/pandora_db
|
||||||
chmod 750 /etc/cron.daily/pandora_db
|
chmod 750 /etc/cron.daily/pandora_db
|
||||||
cp -aRf /usr/share/pandora_server/util/pandora_logrotate /etc/logrotate.d/pandora
|
cp -aRf /usr/share/pandora_server/util/pandora_logrotate /etc/logrotate.d/pandora
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
#
|
#
|
||||||
### BEGIN INIT INFO
|
### BEGIN INIT INFO
|
||||||
# Provides: pandora_server
|
# Provides: pandora_server
|
||||||
# Required-Start: $syslog mysql
|
# Required-Start: $syslog mysql cron
|
||||||
# Should-Start: $network
|
# Should-Start: $network cron
|
||||||
# Required-Stop: $syslog mysql
|
# Required-Stop: $syslog mysql
|
||||||
# Should-Stop: $network mysql
|
# Should-Stop: $network mysql
|
||||||
# Default-Start: 2 3 5
|
# Default-Start: 2 3 5
|
||||||
|
@ -20,31 +20,36 @@
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
|
|
||||||
PANDORA_HOME="/etc/pandora/pandora_server.conf"
|
export PANDORA_HOME="/etc/pandora/pandora_server.conf"
|
||||||
PANDORA_PID_PATH="/var/run"
|
export PANDORA_DAEMON=/usr/local/bin/pandora_server
|
||||||
PANDORA_PID=$PANDORA_PID_PATH/pandora_server.pid
|
|
||||||
PANDORA_DAEMON=/usr/local/bin/pandora_server
|
|
||||||
|
|
||||||
|
# Check for SUSE status scripts
|
||||||
|
if [ -f /etc/rc.status ]
|
||||||
|
then
|
||||||
|
. /etc/rc.status
|
||||||
|
rc_reset
|
||||||
|
else
|
||||||
|
# Define rc functions for non-suse systems, "void" functions.
|
||||||
|
function rc_status () (VOID=1;)
|
||||||
|
function rc_exit () (exit;)
|
||||||
|
function rc_failed () (VOID=1;)
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# This function replace pidof, not working in the same way in different linux distros
|
# This function replace pidof, not working in the same way in different linux distros
|
||||||
|
|
||||||
function pidof_pandora () (
|
function pidof_pandora () (
|
||||||
PANDORA_PID=`ps aux | grep "$PANDORA_DAEMON $PANDORA_HOME" | grep -v grep | tail -1 | awk '{ print $2 }'`
|
PANDORA_PID=`ps -Af | grep "$PANDORA_DAEMON $PANDORA_HOME" | grep -v grep | tail -1 | awk '{ print $2 }'`
|
||||||
echo $PANDORA_PID
|
echo $PANDORA_PID
|
||||||
)
|
)
|
||||||
|
|
||||||
# Main script
|
# Main script
|
||||||
|
|
||||||
if [ ! -d "$PANDORA_PID_PATH" ]
|
|
||||||
then
|
|
||||||
echo "Pandora FMS cannot write it's PID file in $PANDORA_PID_PATH. Please create that directory"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f $PANDORA_DAEMON ]
|
if [ ! -f $PANDORA_DAEMON ]
|
||||||
then
|
then
|
||||||
echo "Pandora FMS Server not found, please check setup and read manual"
|
echo "Pandora FMS Server not found, please check setup and read manual"
|
||||||
exit
|
rc_status -s
|
||||||
|
rc_exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -53,19 +58,23 @@ case "$1" in
|
||||||
if [ ! -z "$PANDORA_PID" ]
|
if [ ! -z "$PANDORA_PID" ]
|
||||||
then
|
then
|
||||||
echo "Pandora FMS Server is currently running on this machine with PID ($PANDORA_PID). Aborting now..."
|
echo "Pandora FMS Server is currently running on this machine with PID ($PANDORA_PID). Aborting now..."
|
||||||
exit 1
|
rc_failed 1
|
||||||
|
rc_exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$PANDORA_DAEMON $PANDORA_HOME -D
|
$PANDORA_DAEMON $PANDORA_HOME -D
|
||||||
sleep 4
|
sleep 1
|
||||||
|
|
||||||
PANDORA_PID=`pidof_pandora`
|
PANDORA_PID=`pidof_pandora`
|
||||||
|
|
||||||
if [ ! -z "$PANDORA_PID" ]
|
if [ ! -z "$PANDORA_PID" ]
|
||||||
then
|
then
|
||||||
echo "Pandora Server is now running with PID $PANDORA_PID"
|
echo "Pandora Server is now running with PID $PANDORA_PID"
|
||||||
|
rc_status -v
|
||||||
else
|
else
|
||||||
echo "Cannot start Pandora FMS Server. Aborted."
|
echo "Cannot start Pandora FMS Server. Aborted."
|
||||||
echo "Check Pandora FMS log files at '/var/log/pandora/pandora_server.log'"
|
echo "Check Pandora FMS log files at '/var/log/pandora/pandora_server.log'"
|
||||||
|
rc_status -s
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -74,10 +83,24 @@ case "$1" in
|
||||||
if [ -z "$PANDORA_PID" ]
|
if [ -z "$PANDORA_PID" ]
|
||||||
then
|
then
|
||||||
echo "Pandora FMS Server is not running, cannot stop it."
|
echo "Pandora FMS Server is not running, cannot stop it."
|
||||||
exit 1
|
rc_failed
|
||||||
else
|
else
|
||||||
echo "Stopping Pandora FMS Server"
|
echo "Stopping Pandora FMS Server"
|
||||||
kill $PANDORA_PID > /dev/null 2>&1
|
kill $PANDORA_PID > /dev/null 2>&1
|
||||||
|
COUNTER=0
|
||||||
|
|
||||||
|
while [ $COUNTER -lt 10 ]
|
||||||
|
do
|
||||||
|
PANDORA_PID=`pidof_pandora`
|
||||||
|
if [ -z "$PANDORA_PID" ]
|
||||||
|
then
|
||||||
|
COUNTER=10
|
||||||
|
fi
|
||||||
|
COUNTER=`expr $COUNTER + 1`
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
rc_status -v
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
status)
|
status)
|
||||||
|
@ -85,10 +108,11 @@ case "$1" in
|
||||||
if [ -z "$PANDORA_PID" ]
|
if [ -z "$PANDORA_PID" ]
|
||||||
then
|
then
|
||||||
echo "Pandora FMS Server is not running."
|
echo "Pandora FMS Server is not running."
|
||||||
|
rc_status
|
||||||
else
|
else
|
||||||
echo "Pandora FMS Server is running with PID $PANDORA_PID."
|
echo "Pandora FMS Server is running with PID $PANDORA_PID."
|
||||||
|
rc_status
|
||||||
fi
|
fi
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
force-reload|restart)
|
force-reload|restart)
|
||||||
$0 stop
|
$0 stop
|
||||||
|
@ -99,4 +123,4 @@ case "$1" in
|
||||||
echo "Usage: pandora_server { start | stop | restart | status }"
|
echo "Usage: pandora_server { start | stop | restart | status }"
|
||||||
exit 1
|
exit 1
|
||||||
esac
|
esac
|
||||||
|
rc_exit
|
||||||
|
|
|
@ -19,6 +19,24 @@
|
||||||
# Description: Tentacle Server startup script
|
# Description: Tentacle Server startup script
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Check for SUSE status scripts
|
||||||
|
if [ -f /etc/rc.status ]
|
||||||
|
then
|
||||||
|
. /etc/rc.status
|
||||||
|
rc_reset
|
||||||
|
else
|
||||||
|
# Define rc functions for non-suse systems, "void" functions.
|
||||||
|
function rc_status () (VOID=1;)
|
||||||
|
function rc_exit () (exit;)
|
||||||
|
function rc_failed () (VOID=1;)
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
function get_pid {
|
||||||
|
TENTACLE_PID=`ps -Af | grep "$TENTACLE_PATH$TENTACLE_DAEMON" | grep -v grep | tail -1 | awk '{ print $2 }'`
|
||||||
|
echo $TENTACLE_PID
|
||||||
|
}
|
||||||
|
|
||||||
# Pandora server settings
|
# Pandora server settings
|
||||||
PANDORA_SERVER_PATH="/var/spool/pandora/data_in"
|
PANDORA_SERVER_PATH="/var/spool/pandora/data_in"
|
||||||
|
|
||||||
|
@ -36,14 +54,6 @@ TENTACLE_EXT_OPTS="-i.*\.conf:conf;.*\.md5:md5"
|
||||||
|
|
||||||
umask 0007
|
umask 0007
|
||||||
|
|
||||||
# Sets the shell variable TENTACLE_PID to the PID of the Tentacle server (empty
|
|
||||||
# if not running). Can be a list of PIDs if multiple instances are running.
|
|
||||||
|
|
||||||
function get_pid {
|
|
||||||
TENTACLE_PID=`ps aux | grep "$TENTACLE_PATH$TENTACLE_DAEMON" | grep -v grep | tail -1 | awk '{ print $2 }'`
|
|
||||||
echo $TENTACLE_PID
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main script
|
# Main script
|
||||||
TENTACLE_OPTS="-a $TENTACLE_ADDR -p $TENTACLE_PORT -s $PANDORA_SERVER_PATH $TENTACLE_EXT_OPTS -d"
|
TENTACLE_OPTS="-a $TENTACLE_ADDR -p $TENTACLE_PORT -s $PANDORA_SERVER_PATH $TENTACLE_EXT_OPTS -d"
|
||||||
|
|
||||||
|
@ -58,7 +68,8 @@ esac
|
||||||
|
|
||||||
if [ ! -f "${TENTACLE_PATH}$TENTACLE_DAEMON" ]; then
|
if [ ! -f "${TENTACLE_PATH}$TENTACLE_DAEMON" ]; then
|
||||||
echo "Tentacle server not found in ${TENTACLE_PATH}$TENTACLE_DAEMON."
|
echo "Tentacle server not found in ${TENTACLE_PATH}$TENTACLE_DAEMON."
|
||||||
exit 1
|
rc_failed 1
|
||||||
|
rc_exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -66,57 +77,62 @@ case "$1" in
|
||||||
TENTACLE_PID=`get_pid`
|
TENTACLE_PID=`get_pid`
|
||||||
if [ ! -z "$TENTACLE_PID" ]; then
|
if [ ! -z "$TENTACLE_PID" ]; then
|
||||||
echo "Tentacle server is already running with PID $TENTACLE_PID."
|
echo "Tentacle server is already running with PID $TENTACLE_PID."
|
||||||
exit 1
|
rc_failed 2
|
||||||
|
rc_exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo -u $TENTACLE_USER ${TENTACLE_PATH}$TENTACLE_DAEMON $TENTACLE_OPTS
|
sudo -u $TENTACLE_USER ${TENTACLE_PATH}$TENTACLE_DAEMON $TENTACLE_OPTS
|
||||||
sleep 4
|
sleep 1
|
||||||
|
|
||||||
TENTACLE_PID=`get_pid`
|
TENTACLE_PID=`get_pid`
|
||||||
if [ ! -z "$TENTACLE_PID" ]; then
|
if [ ! -z "$TENTACLE_PID" ]; then
|
||||||
echo "Tentacle server is now running with PID $TENTACLE_PID."
|
echo "Tentacle server is now running with PID $TENTACLE_PID."
|
||||||
|
rc_status -v
|
||||||
else
|
else
|
||||||
echo "Tentacle server could not be started."
|
echo "Tentacle server could not be started."
|
||||||
exit 1
|
rc_status -v
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
stop)
|
stop)
|
||||||
TENTACLE_PID=`get_pid`
|
TENTACLE_PID=`get_pid`
|
||||||
if [ -z "$TENTACLE_PID" ]; then
|
if [ -z "$TENTACLE_PID" ]; then
|
||||||
echo "Tentacle server does not seem to be running."
|
echo "Tentacle server does not seem to be running."
|
||||||
exit 1;
|
rc_failed 2
|
||||||
else
|
else
|
||||||
kill $TENTACLE_PID > /dev/null 2>&1
|
kill $TENTACLE_PID
|
||||||
sleep 1
|
sleep 1
|
||||||
|
TENTACLE_PID=`get_pid`
|
||||||
|
|
||||||
get_pid
|
|
||||||
if [ ! -z "$TENTACLE_PID" ]; then
|
if [ ! -z "$TENTACLE_PID" ]; then
|
||||||
echo "Tentacle server could not be stopped."
|
echo "Tentacle server could not be stopped."
|
||||||
exit 1
|
rc_status -s
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Tentacle server stopped."
|
echo "Tentacle server stopped."
|
||||||
|
rc_status -v
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
force-reload|restart)
|
force-reload|restart)
|
||||||
$0 stop
|
$0 stop
|
||||||
|
sleep 1
|
||||||
$0 start
|
$0 start
|
||||||
|
rc_status
|
||||||
;;
|
;;
|
||||||
|
|
||||||
status)
|
status)
|
||||||
TENTACLE_PID=`get_pid`
|
TENTACLE_PID=`get_pid`
|
||||||
if [ -z "$TENTACLE_PID" ]; then
|
if [ -z "$TENTACLE_PID" ]; then
|
||||||
echo "Tentacle server is not running."
|
echo "Tentacle server is not running."
|
||||||
|
rc_status
|
||||||
else
|
else
|
||||||
echo "Tentacle server is running with PID $TENTACLE_PID."
|
echo "Tentacle server is running with PID $TENTACLE_PID."
|
||||||
|
rc_status
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
|
@ -125,3 +141,4 @@ case "$1" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
rc_exit
|
||||||
|
|
Loading…
Reference in New Issue