2010-06-07 Junichi Satoh <junichi@rworks.jp>
* unix/pandora_agent_installer: Added support for FreeBSD. * unix/FreeBSD/pandora_agent: Added startup script for FreeBSD. * unix/FreeBSD/pandora_agent.conf: Added configuration file for FreeBSD. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2863 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
6563b62314
commit
13eb80112a
|
@ -1,3 +1,11 @@
|
||||||
|
2010-06-07 Junichi Satoh <junichi@rworks.jp>
|
||||||
|
|
||||||
|
* unix/pandora_agent_installer: Added support for FreeBSD.
|
||||||
|
|
||||||
|
* unix/FreeBSD/pandora_agent: Added startup script for FreeBSD.
|
||||||
|
|
||||||
|
* unix/FreeBSD/pandora_agent.conf: Added configuration file for FreeBSD.
|
||||||
|
|
||||||
2010-06-01 Miguel de Dios <miguel.dedios@artica.es>
|
2010-06-01 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
|
||||||
* unix/DEBIAN/prerm: disabled the erase conf file and plugin dir.
|
* unix/DEBIAN/prerm: disabled the erase conf file and plugin dir.
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
2010-06-07 Junichi Satoh <junichi@rworks.jp>
|
||||||
|
|
||||||
|
* pandora_agent_installer: Added support for FreeBSD.
|
||||||
|
|
||||||
|
* FreeBSD/pandora_agent: Added startup script for FreeBSD.
|
||||||
|
|
||||||
|
* FreeBSD/pandora_agent.conf: Added configuration file for FreeBSD.
|
||||||
|
|
||||||
2010-06-04 Ramon Novoa <rnovoa@artica.es>
|
2010-06-04 Ramon Novoa <rnovoa@artica.es>
|
||||||
|
|
||||||
* pandora_agent.spec: Fixed. Upgrading an RPM broke the installation.
|
* pandora_agent.spec: Fixed. Upgrading an RPM broke the installation.
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# **********************************************************************
|
||||||
|
# Pandora FMS Agent Daemon launcher for FreeBSD
|
||||||
|
# (c) 2010 Junichi Satoh <junichi@rworks.jp>
|
||||||
|
#
|
||||||
|
# **********************************************************************
|
||||||
|
|
||||||
|
# PROVIDE: pandora_agent
|
||||||
|
# REQUIRE: LOGIN
|
||||||
|
# KEYWORD: shutdown
|
||||||
|
|
||||||
|
# Add the following line to /etc/rc.conf to enable `pandora_agent':
|
||||||
|
#
|
||||||
|
# pandora_agent_enable="YES"
|
||||||
|
#
|
||||||
|
|
||||||
|
. "/etc/rc.subr"
|
||||||
|
|
||||||
|
name="pandora_agent"
|
||||||
|
|
||||||
|
# read configuration and set defaults
|
||||||
|
pandora_agent_enable=${pandora_agent_enable:-"NO"}
|
||||||
|
load_rc_config "$name"
|
||||||
|
|
||||||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
|
||||||
|
|
||||||
|
command=/usr/local/bin/pandora_agent
|
||||||
|
command_args="/usr/local/etc/pandora &"
|
||||||
|
procname=pandora_agent
|
||||||
|
|
||||||
|
pidfile=/var/run/$name.pid
|
||||||
|
required_files="/usr/local/etc/pandora/pandora_agent.conf"
|
||||||
|
start_precmd=start_precmd
|
||||||
|
start_postcmd=start_postcmd
|
||||||
|
stop_cmd=pandora_agent_stop
|
||||||
|
|
||||||
|
start_precmd()
|
||||||
|
{
|
||||||
|
if [ -f $pidfile ]; then
|
||||||
|
PANDORA_PID=`cat $pidfile`
|
||||||
|
echo "pandora_agent is currently running on this machine with PID $PANDORA_PID"
|
||||||
|
echo "Cannot launch again. Aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
start_postcmd()
|
||||||
|
{
|
||||||
|
PANDORA_PID=`ps auxww | grep $command | grep -v grep | head -1 | awk '{ print $2 }'`
|
||||||
|
echo $PANDORA_PID > $pidfile
|
||||||
|
}
|
||||||
|
|
||||||
|
pandora_agent_stop()
|
||||||
|
{
|
||||||
|
if [ -f $pidfile ]; then
|
||||||
|
echo "Stopping pandora_agent."
|
||||||
|
kill `cat $pidfile`
|
||||||
|
rm -f $pidfile
|
||||||
|
else
|
||||||
|
echo "pandora_agent is not running."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run_rc_command "$1"
|
|
@ -0,0 +1,196 @@
|
||||||
|
# Base config file for Pandora FMS agents
|
||||||
|
# Version 3.1, FreeBSD Version
|
||||||
|
# Licensed under GPL license v2,
|
||||||
|
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||||
|
# http://www.pandorafms.com
|
||||||
|
|
||||||
|
# General Parameters
|
||||||
|
# ==================
|
||||||
|
|
||||||
|
server_ip localhost
|
||||||
|
server_path /var/spool/pandora/data_in
|
||||||
|
temporal /tmp
|
||||||
|
logfile /var/log/pandora/pandora_agent.log
|
||||||
|
|
||||||
|
# Interval in seconds, 300 by default
|
||||||
|
interval 300
|
||||||
|
|
||||||
|
# Debug mode only generate XML, and stop after first execution,
|
||||||
|
# and does not copy XML to server.
|
||||||
|
debug 0
|
||||||
|
|
||||||
|
# By default, agent takes machine name
|
||||||
|
#agent_name adama
|
||||||
|
|
||||||
|
#Parent agent_name
|
||||||
|
#parent_agent_name parent_name
|
||||||
|
|
||||||
|
# Agent description
|
||||||
|
#description Demo agent
|
||||||
|
|
||||||
|
# Group assigned for this agent (descriptive, p.e: Servers)
|
||||||
|
#group Servers
|
||||||
|
|
||||||
|
# Autotime: Enforce to server to ignore timestamp coming from this
|
||||||
|
# agent, used when agents has no timer or it's inestable. 1 to enable
|
||||||
|
# this feature
|
||||||
|
# autotime 1
|
||||||
|
|
||||||
|
# Timezone offset: Difference with the server timezone
|
||||||
|
#timezone_offset 0
|
||||||
|
|
||||||
|
# Agent position paramters
|
||||||
|
# Those parameters define the geographical position of the agent
|
||||||
|
|
||||||
|
# latitude
|
||||||
|
#latitude 0
|
||||||
|
# longitude
|
||||||
|
#longitude 0
|
||||||
|
# altitude
|
||||||
|
#altitude 0
|
||||||
|
|
||||||
|
#Position description
|
||||||
|
#position_description Madrid, centro
|
||||||
|
|
||||||
|
# By default agent try to take default encoding defined in host.
|
||||||
|
# encoding iso-8859-15
|
||||||
|
|
||||||
|
# Listening TCP port for remote server. By default is 41121 (for tentacle)
|
||||||
|
# if you want to use SSH use 22, and FTP uses 21.
|
||||||
|
server_port 41121
|
||||||
|
|
||||||
|
# Transfer mode: tentacle, ftp, ssh or local
|
||||||
|
transfer_mode tentacle
|
||||||
|
|
||||||
|
# Server password (Tentacle or FTP). Leave empty for no password (default).
|
||||||
|
# server_pwd mypassword
|
||||||
|
|
||||||
|
# Set to yes/no to enable/disable OpenSSL support for Tentacle (disabled by default).
|
||||||
|
# server_ssl no
|
||||||
|
|
||||||
|
# Extra options for the Tentacle client (for example, server_opts "-v -r 5").
|
||||||
|
# server_opts
|
||||||
|
|
||||||
|
# delayed_startup defines number of MINUTES before start execution
|
||||||
|
# for first time when startup Pandora FMS Agent
|
||||||
|
# delayed_startup 10
|
||||||
|
|
||||||
|
# Pandora nice defines priority of execution. Less priority means more intensive execution
|
||||||
|
# A recommended value is 10. 0 priority means no Pandora CPU protection enabled (default)
|
||||||
|
# pandora_nice 0
|
||||||
|
|
||||||
|
# Cron mode replace Pandora FMS own task schedule each XX interval seconds by the use
|
||||||
|
# of old style cron. You should add to crontab Pandora FMS agent script to use this mode.
|
||||||
|
# This is disabled by default, and is not recommended. Use Pandora FMS internal scheduler
|
||||||
|
# is much more safe.
|
||||||
|
# cron_mode
|
||||||
|
|
||||||
|
# If set to 1 allows the agent to be configured via the web console (Only Enterprise version)
|
||||||
|
# remote_config 1
|
||||||
|
|
||||||
|
# Secondary server configuration
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
# If secondary_mode is set to on_error, data files are copied to the secondary
|
||||||
|
# server only if the primary server fails. If set to always, data files are
|
||||||
|
# always copied to the secondary server.
|
||||||
|
# secondary_mode on_error
|
||||||
|
# secondary_server_ip localhost
|
||||||
|
# secondary_server_path /var/spool/pandora/data_in
|
||||||
|
# secondary_server_port 41121
|
||||||
|
# secondary_transfer_mode tentacle
|
||||||
|
# secondary_server_pwd mypassword
|
||||||
|
# secondary_server_ssl no
|
||||||
|
# secondary_server_opts
|
||||||
|
|
||||||
|
# Module Definition
|
||||||
|
# =================
|
||||||
|
|
||||||
|
# System information
|
||||||
|
|
||||||
|
# vmstat syntax depends on system configuration, please check before use it
|
||||||
|
module_begin
|
||||||
|
module_name cpu_user
|
||||||
|
module_type generic_data
|
||||||
|
module_interval 1
|
||||||
|
module_exec vmstat 1 2 | tail -1 | awk '{ print $17 }'
|
||||||
|
module_max 100
|
||||||
|
module_min 0
|
||||||
|
module_description User CPU Usage (%)
|
||||||
|
module_end
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name cpu_system
|
||||||
|
module_type generic_data
|
||||||
|
module_interval 1
|
||||||
|
module_exec vmstat 1 2 | tail -1 | awk '{ print $18 }'
|
||||||
|
module_max 100
|
||||||
|
module_min 0
|
||||||
|
module_description System CPU Usage (%)
|
||||||
|
module_end
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name cpu_idle
|
||||||
|
module_type generic_data
|
||||||
|
module_interval 1
|
||||||
|
module_exec vmstat 1 2 | tail -1 | awk '{ print $19 }'
|
||||||
|
module_max 100
|
||||||
|
module_min 0
|
||||||
|
module_description CPU Idle (%)
|
||||||
|
module_end
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name Load Average
|
||||||
|
module_type generic_data
|
||||||
|
module_exec uptime | cut -d "," -f 4 | cut -d ":" -f 2 | sed "s/ //g"
|
||||||
|
module_description Average process in CPU (Last minute)
|
||||||
|
module_end
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name disk_root_free
|
||||||
|
module_type generic_data
|
||||||
|
module_exec df -kh / | tail -1 | awk '{ print 100-$5 }'
|
||||||
|
module_max 100
|
||||||
|
module_min 0
|
||||||
|
module_description Free disk Percentage of root partition
|
||||||
|
module_end
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name memfree
|
||||||
|
module_type generic_data
|
||||||
|
module_exec vmstat -H 1 2 | tail -1 | awk '{print $5}'
|
||||||
|
module_description Unused RAM memory
|
||||||
|
module_end
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name proctotal
|
||||||
|
module_type generic_data
|
||||||
|
module_exec ps -A | wc -l | sed "s/ //g"
|
||||||
|
module_end
|
||||||
|
|
||||||
|
# Process information
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name sshDaemon
|
||||||
|
module_type generic_proc
|
||||||
|
module_exec ps -Af | grep sshd | grep -v "grep" | wc -l | sed "s/ //g"
|
||||||
|
module_end
|
||||||
|
|
||||||
|
# Async data example
|
||||||
|
|
||||||
|
module_begin
|
||||||
|
module_name LastLogin
|
||||||
|
module_type async_string
|
||||||
|
module_exec last | head -1
|
||||||
|
module_end
|
||||||
|
|
||||||
|
# Plugin example
|
||||||
|
|
||||||
|
# This parses /var/log/auth.log file, under the module name "syslog"
|
||||||
|
# And search for "sshd" string into it, sending only that information.
|
||||||
|
|
||||||
|
module_plugin grep_log /var/log/auth.log Syslog sshd
|
||||||
|
|
||||||
|
# Plugin for inventory on the agent (Only Enterprise)
|
||||||
|
|
||||||
|
# module_plugin inventory 1 cpu ram video nic hd cdrom software
|
|
@ -5,7 +5,7 @@
|
||||||
# (c) 2008-2010 Artica ST
|
# (c) 2008-2010 Artica ST
|
||||||
# (c) 2008-2010 Sancho Lerena <slerena@gmail.com>
|
# (c) 2008-2010 Sancho Lerena <slerena@gmail.com>
|
||||||
#
|
#
|
||||||
# This is a generic installer for all Unix-like systems.(AIX, HP-UX, SunOS, Linux)
|
# This is a generic installer for all Unix-like systems.(AIX, HP-UX, SunOS, Linux, FreeBSD)
|
||||||
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
|
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ PANDORA_CFG=/etc/pandora
|
||||||
PANDORA_LOG_DIR=/var/log/pandora
|
PANDORA_LOG_DIR=/var/log/pandora
|
||||||
PANDORA_LOG=pandora_agent.log
|
PANDORA_LOG=pandora_agent.log
|
||||||
TENTACLE=/usr/bin/tentacle_client
|
TENTACLE=/usr/bin/tentacle_client
|
||||||
|
PANDORA_MAN=/usr/share/man
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
PANDORA_BASE=$2
|
PANDORA_BASE=$2
|
||||||
|
@ -38,7 +39,7 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
UNIX_KIND=`uname -s`
|
UNIX_KIND=`uname -s`
|
||||||
if [ -z "`echo Linux HP-UX SunOS AIX Solaris Darwin BSD bsd | grep \"$UNIX_KIND\"`" ]
|
if [ -z "`echo Linux HP-UX SunOS AIX Solaris Darwin BSD bsd FreeBSD | grep \"$UNIX_KIND\"`" ]
|
||||||
then
|
then
|
||||||
echo "This system: '$UNIX_KIND' is not supported by this script"
|
echo "This system: '$UNIX_KIND' is not supported by this script"
|
||||||
echo "Please make the install yourself as it's described in documentation"
|
echo "Please make the install yourself as it's described in documentation"
|
||||||
|
@ -76,6 +77,16 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
uninstall () {
|
uninstall () {
|
||||||
|
OS_NAME=`uname -s`
|
||||||
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
then
|
||||||
|
PANDORA_HOME=/usr/local/share/pandora_agent
|
||||||
|
PANDORA_BIN=/usr/local/bin/pandora_agent
|
||||||
|
PANDORA_CFG=/usr/local/etc/pandora
|
||||||
|
TENTACLE=/usr/local/bin/tentacle_client
|
||||||
|
PANDORA_MAN=/usr/local/man
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Removing Pandora FMS Agent..."
|
echo "Removing Pandora FMS Agent..."
|
||||||
rm -Rf $PANDORA_BASE$PANDORA_BIN 2> /dev/null
|
rm -Rf $PANDORA_BASE$PANDORA_BIN 2> /dev/null
|
||||||
|
|
||||||
|
@ -93,15 +104,19 @@ uninstall () {
|
||||||
rm -Rf $PANDORA_BASE/etc/rc.pandora_agent_daemon 2> /dev/null
|
rm -Rf $PANDORA_BASE/etc/rc.pandora_agent_daemon 2> /dev/null
|
||||||
rm -Rf $PANDORA_BASE/etc/rc?.d/S90pandora_agent_daemon 2> /dev/null
|
rm -Rf $PANDORA_BASE/etc/rc?.d/S90pandora_agent_daemon 2> /dev/null
|
||||||
rm -Rf $PANDORA_BASE/sbin/rc?.d/S90pandora_agent_daemon 2> /dev/null
|
rm -Rf $PANDORA_BASE/sbin/rc?.d/S90pandora_agent_daemon 2> /dev/null
|
||||||
|
rm -Rf $PANDORA_BASE/usr/local/etc/rc.d/pandora_agent 2> /dev/null
|
||||||
|
|
||||||
rm -Rf $PANDORA_BASE$PANDORA_HOME 2> /dev/null
|
rm -Rf $PANDORA_BASE$PANDORA_HOME 2> /dev/null
|
||||||
rm -Rf $PANDORA_BASE$PANDORA_LOG_DIR 2> /dev/null
|
rm -Rf $PANDORA_BASE$PANDORA_LOG_DIR 2> /dev/null
|
||||||
rm -Rf $PANDORA_BASE$TENTACLE 2> /dev/null
|
rm -Rf $PANDORA_BASE$TENTACLE 2> /dev/null
|
||||||
|
|
||||||
|
rm -Rf $PANDORA_BASE$PANDORA_MAN/{man1,cat1}/tentacle_client.1.gz 2> /dev/null
|
||||||
|
rm -Rf $PANDORA_BASE$PANDORA_MAN/{man1,cat1}/pandora_agent.1.gz 2> /dev/null
|
||||||
|
|
||||||
# Skip delete of /etc/pandora if exists configuration of a server
|
# Skip delete of /etc/pandora if exists configuration of a server
|
||||||
if [ ! -f $PANDORA_BASE/etc/pandora/pandora_server.conf ]
|
if [ ! -f $PANDORA_BASE/$PANDORA_CFG/pandora_server.conf ]
|
||||||
then
|
then
|
||||||
rm -Rf $PANDORA_BASE/etc/pandora 2> /dev/null
|
rm -Rf $PANDORA_BASE/$PANDORA_CFG 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$PANDORA_BASE" ]
|
if [ ! -z "$PANDORA_BASE" ]
|
||||||
|
@ -118,6 +133,16 @@ install () {
|
||||||
OS_VERSION=`uname -r`
|
OS_VERSION=`uname -r`
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
OLDFILENAMETMP=`date +"%Y-%m-%d"`
|
OLDFILENAMETMP=`date +"%Y-%m-%d"`
|
||||||
|
|
||||||
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
then
|
||||||
|
PANDORA_HOME=/usr/local/share/pandora_agent
|
||||||
|
PANDORA_BIN=/usr/local/bin/pandora_agent
|
||||||
|
PANDORA_CFG=/usr/local/etc/pandora
|
||||||
|
TENTACLE=/usr/local/bin/tentacle_client
|
||||||
|
PANDORA_MAN=/usr/local/man
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Detecting Unix distribution: $OS_NAME version $OS_VERSION"
|
echo "Detecting Unix distribution: $OS_NAME version $OS_VERSION"
|
||||||
if [ -f $PANDORA_BASE$PANDORA_HOME ] && [ "$FORCE" = "0" ]
|
if [ -f $PANDORA_BASE$PANDORA_HOME ] && [ "$FORCE" = "0" ]
|
||||||
then
|
then
|
||||||
|
@ -141,10 +166,15 @@ install () {
|
||||||
echo "Creating Pandora FMS Agent home directory at $PANDORA_BASE$PANDORA_HOME"
|
echo "Creating Pandora FMS Agent home directory at $PANDORA_BASE$PANDORA_HOME"
|
||||||
if [ ! -z "$PANDORA_BASE" ]
|
if [ ! -z "$PANDORA_BASE" ]
|
||||||
then
|
then
|
||||||
mkdir -p $PANDORA_BASE 2> /dev/null
|
mkdir -p $PANDORA_BASE 2> /dev/null
|
||||||
mkdir -p $PANDORA_BASE/usr/bin 2> /dev/null
|
mkdir -p $PANDORA_BASE/var/log 2> /dev/null
|
||||||
mkdir -p $PANDORA_BASE/var/log 2> /dev/null
|
mkdir -p $PANDORA_BASE/$PANDORA_MAN/man1 2> /dev/null
|
||||||
mkdir -p $PANDORA_BASE/usr/share/man/man1 2> /dev/null
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
then
|
||||||
|
mkdir -p $PANDORA_BASE/usr/local/bin 2> /dev/null
|
||||||
|
else
|
||||||
|
mkdir -p $PANDORA_BASE/usr/bin 2> /dev/null
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p $PANDORA_BASE$PANDORA_HOME 2> /dev/null
|
mkdir -p $PANDORA_BASE$PANDORA_HOME 2> /dev/null
|
||||||
|
@ -169,13 +199,18 @@ install () {
|
||||||
echo "Copying Pandora FMS Agent to $PANDORA_BASE$PANDORA_BIN..."
|
echo "Copying Pandora FMS Agent to $PANDORA_BASE$PANDORA_BIN..."
|
||||||
cp pandora_agent $PANDORA_BASE$PANDORA_BIN
|
cp pandora_agent $PANDORA_BASE$PANDORA_BIN
|
||||||
chmod 755 $PANDORA_BASE$PANDORA_BIN
|
chmod 755 $PANDORA_BASE$PANDORA_BIN
|
||||||
chown root:root $PANDORA_BASE$PANDORA_BIN
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
|
||||||
echo "Copying Pandora FMS Agent configuration file to $PANDORA_BASE$PANDORA_HOME/pandora_agent.conf..."
|
|
||||||
if [ -f $PANDORA_BASE/etc/pandora/pandora_agent.conf ]
|
|
||||||
then
|
then
|
||||||
cp $PANDORA_BASE/etc/pandora/pandora_agent.conf $PANDORA_BASE/etc/pandora/pandora_agent.conf.$OLDFILENAMETMP
|
chown root:wheel $PANDORA_BASE$PANDORA_BIN
|
||||||
echo "Backing up old configuration file to $PANDORA_BASE/etc/pandora_agent.conf.$OLDFILENAMETMP"
|
else
|
||||||
|
chown root:root $PANDORA_BASE$PANDORA_BIN
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Copying Pandora FMS Agent configuration file to $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf..."
|
||||||
|
if [ -f $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf ]
|
||||||
|
then
|
||||||
|
cp $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf.$OLDFILENAMETMP
|
||||||
|
echo "Backing up old configuration file to $PANDORA_BASE/$PANDORA_CFG/pandora_agent.conf.$OLDFILENAMETMP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Copying Pandora FMS Agent plugins to $PANDORA_BASE$PANDORA_HOME/plugins..."
|
echo "Copying Pandora FMS Agent plugins to $PANDORA_BASE$PANDORA_HOME/plugins..."
|
||||||
|
@ -190,26 +225,39 @@ install () {
|
||||||
echo "Installing Tentacle Client manual"
|
echo "Installing Tentacle Client manual"
|
||||||
if [ -f ../man/man1/tentacle_client.1.gz ]
|
if [ -f ../man/man1/tentacle_client.1.gz ]
|
||||||
then
|
then
|
||||||
cp ../man/man1/tentacle_client.1.gz $PANDORA_BASE/usr/share/man/man1
|
cp ../man/man1/tentacle_client.1.gz $PANDORA_BASE/$PANDORA_MAN/man1
|
||||||
else
|
else
|
||||||
cp man/man1/tentacle_client.1.gz $PANDORA_BASE/usr/share/man/man1
|
cp man/man1/tentacle_client.1.gz $PANDORA_BASE/$PANDORA_MAN/man1
|
||||||
fi
|
fi
|
||||||
chmod 644 $PANDORA_BASE/usr/share/man/man1/tentacle_client.1.gz
|
chmod 644 $PANDORA_BASE/$PANDORA_MAN/man1/tentacle_client.1.gz
|
||||||
|
|
||||||
echo "Setting secure permissions and ownership for all Pandora FMS Agent files..."
|
echo "Setting secure permissions and ownership for all Pandora FMS Agent files..."
|
||||||
chown -R root $PANDORA_BASE$PANDORA_HOME
|
chown -R root $PANDORA_BASE$PANDORA_HOME
|
||||||
chmod -R 600 $PANDORA_BASE$PANDORA_TEMP
|
chmod -R 600 $PANDORA_BASE$PANDORA_TEMP
|
||||||
chown root $PANDORA_BASE$PANDORA_TEMP
|
chown root $PANDORA_BASE$PANDORA_TEMP
|
||||||
chmod 640 $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
|
chmod 640 $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
|
||||||
chown root:root $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
then
|
||||||
|
chown root:wheel $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
|
||||||
|
chown root:daemon $PANDORA_BASE$PANDORA_TEMP
|
||||||
|
chmod -R 770 $PANDORA_BASE$PANDORA_TEMP
|
||||||
|
else
|
||||||
|
chown root:root $PANDORA_BASE$PANDORA_LOG_DIR/$PANDORA_LOG
|
||||||
|
fi
|
||||||
|
|
||||||
# Alter dynamically the daemon launcher and setup the new path
|
# Alter dynamically the daemon launcher and setup the new path
|
||||||
# if PANDORA_BASE is customized.
|
# if PANDORA_BASE is customized.
|
||||||
|
|
||||||
if [ ! -z "$PANDORA_BASE" ]
|
if [ ! -z "$PANDORA_BASE" ]
|
||||||
then
|
then
|
||||||
DAEMON_SCRIPT=pandora_agent_daemon
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
DAEMON_TEMP=pandora_agent_daemon_temp
|
then
|
||||||
|
DAEMON_SCRIPT=FreeBSD/pandora_agent
|
||||||
|
DAEMON_TEMP=pandora_agent_daemon_temp
|
||||||
|
else
|
||||||
|
DAEMON_SCRIPT=pandora_agent_daemon
|
||||||
|
DAEMON_TEMP=pandora_agent_daemon_temp
|
||||||
|
fi
|
||||||
|
|
||||||
AGENT_CFG=$OS_NAME/pandora_agent.conf
|
AGENT_CFG=$OS_NAME/pandora_agent.conf
|
||||||
AGENT_CFG_TEMP=$OS_NAME/pandora_agent.conf.temp
|
AGENT_CFG_TEMP=$OS_NAME/pandora_agent.conf.temp
|
||||||
|
@ -220,17 +268,32 @@ install () {
|
||||||
PANDORA_BASE_DECODED=`cat PANDORA_BASE.temp2`
|
PANDORA_BASE_DECODED=`cat PANDORA_BASE.temp2`
|
||||||
rm PANDORA_BASE.temp PANDORA_BASE.temp2
|
rm PANDORA_BASE.temp PANDORA_BASE.temp2
|
||||||
|
|
||||||
sed -e "s/^PATH\=[.]*/PATH\=$PANDORA_BASE_DECODED\/usr\/bin\:/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
then
|
||||||
|
sed -e "s/^PATH\=[.]*/PATH\=$PANDORA_BASE_DECODED\/usr\/local\/bin\:/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
|
||||||
sed -e "s/^PANDORA_PATH\=[.]*/PANDORA_PATH\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
sed -e "s/^command\=[.]*/command\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
|
||||||
sed -e "s/^LOGFILE\=[.]*/LOGFILE\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
sed -e 's/^command_args\=\"[.]*/command_args\=\"$PANDORA_BASE_DECODED/g' $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
|
||||||
sed -e "s/^DAEMON\=[.]*/DAEMON\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
sed -e 's/^required_files\=\"[.]*/required_files\=\"$PANDORA_BASE_DECODED/g' $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
else
|
||||||
|
sed -e "s/^PATH\=[.]*/PATH\=$PANDORA_BASE_DECODED\/usr\/bin\:/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
|
||||||
|
sed -e "s/^PANDORA_PATH\=[.]*/PANDORA_PATH\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
|
||||||
|
sed -e "s/^LOGFILE\=[.]*/LOGFILE\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
|
||||||
|
sed -e "s/^DAEMON\=[.]*/DAEMON\=$PANDORA_BASE_DECODED/g" $DAEMON_SCRIPT > $DAEMON_TEMP
|
||||||
|
mv $DAEMON_TEMP $DAEMON_SCRIPT
|
||||||
|
fi
|
||||||
|
|
||||||
sed -e "s/^temporal [.]*/temporal $PANDORA_BASE_DECODED/g" $AGENT_CFG > $AGENT_CFG_TEMP
|
sed -e "s/^temporal [.]*/temporal $PANDORA_BASE_DECODED/g" $AGENT_CFG > $AGENT_CFG_TEMP
|
||||||
mv $AGENT_CFG_TEMP $AGENT_CFG
|
mv $AGENT_CFG_TEMP $AGENT_CFG
|
||||||
|
@ -239,13 +302,18 @@ install () {
|
||||||
mv $AGENT_CFG_TEMP $AGENT_CFG
|
mv $AGENT_CFG_TEMP $AGENT_CFG
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Copying default agent configuration to $PANDORA_BASE$PANDORA_HOME/pandora_agent.conf"
|
echo "Copying default agent configuration to $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf"
|
||||||
|
|
||||||
cp $OS_NAME/pandora_agent.conf $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
|
cp $OS_NAME/pandora_agent.conf $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
|
||||||
chmod 600 $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
|
chmod 600 $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
|
||||||
chown root $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
|
chown root $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf
|
||||||
|
|
||||||
echo "Linking start-up daemon script 'pandora_agent_daemon' on $OS_NAME";
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
then
|
||||||
|
echo "Linking start-up daemon script 'pandora_agent' on $OS_NAME";
|
||||||
|
else
|
||||||
|
echo "Linking start-up daemon script 'pandora_agent_daemon' on $OS_NAME";
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$OS_NAME" = "AIX" ]
|
if [ "$OS_NAME" = "AIX" ]
|
||||||
then
|
then
|
||||||
|
@ -285,14 +353,20 @@ install () {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
|
then
|
||||||
|
PANDORA_STARTUP=/usr/local/etc/rc.d/pandora_agent
|
||||||
|
cp FreeBSD/pandora_agent $PANDORA_STARTUP
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Installing Pandora Agent manual"
|
echo "Installing Pandora Agent manual"
|
||||||
if [ -e ../man/man1/pandora_agent.1.gz ]
|
if [ -e ../man/man1/pandora_agent.1.gz ]
|
||||||
then
|
then
|
||||||
cp ../man/man1/pandora_agent.1.gz $PANDORA_BASE/usr/share/man/man1
|
cp ../man/man1/pandora_agent.1.gz $PANDORA_BASE/$PANDORA_MAN/man1
|
||||||
else
|
else
|
||||||
cp man/man1/pandora_agent.1.gz $PANDORA_BASE/usr/share/man/man1
|
cp man/man1/pandora_agent.1.gz $PANDORA_BASE/$PANDORA_MAN/man1
|
||||||
fi
|
fi
|
||||||
chmod 644 $PANDORA_BASE/usr/share/man/man1/pandora_agent.1.gz
|
chmod 644 $PANDORA_BASE/$PANDORA_MAN/man1/pandora_agent.1.gz
|
||||||
|
|
||||||
echo "Done."
|
echo "Done."
|
||||||
echo " "
|
echo " "
|
||||||
|
@ -306,8 +380,13 @@ install () {
|
||||||
echo " "
|
echo " "
|
||||||
echo "You also need to setup your $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf config file"
|
echo "You also need to setup your $PANDORA_BASE$PANDORA_CFG/pandora_agent.conf config file"
|
||||||
echo " "
|
echo " "
|
||||||
echo "Check your startup configuration to be sure Pandora FMS Agent is ready "
|
if [ "$OS_NAME" = "FreeBSD" ]
|
||||||
echo "to start automatically when system restarts":
|
then
|
||||||
|
echo "Define 'pandora_agent=\"YES\"' in /etc/rc.conf to enable the daemon."
|
||||||
|
else
|
||||||
|
echo "Check your startup configuration to be sure Pandora FMS Agent is ready "
|
||||||
|
echo "to start automatically when system restarts":
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue