mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-31 01:35:36 +02:00
2011-09-12 Sancho Lerena <slerena@artica.es>
* util/pandora_remote_agent.sh: New remote agent script to do customized deployments creating XML files from external scriptfiles. See docs. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4941 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
1dcc5481eb
commit
5ee5af6c8a
@ -1,3 +1,8 @@
|
|||||||
|
2011-09-12 Sancho Lerena <slerena@artica.es>
|
||||||
|
|
||||||
|
* util/pandora_remote_agent.sh: New remote agent script to do customized
|
||||||
|
deployments creating XML files from external scriptfiles. See docs.
|
||||||
|
|
||||||
2011-09-12 Vanessa Gil <vanessa.gil@artica.es>
|
2011-09-12 Vanessa Gil <vanessa.gil@artica.es>
|
||||||
|
|
||||||
* pandora_server/util/pandora_manage.pl: Applied Kosaka's patch to store
|
* pandora_server/util/pandora_manage.pl: Applied Kosaka's patch to store
|
||||||
|
88
pandora_server/util/pandora_remote_agent.sh
Executable file
88
pandora_server/util/pandora_remote_agent.sh
Executable file
@ -0,0 +1,88 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# (c) 2011 Sancho Lerena <slerena@artica.es>
|
||||||
|
# This is a remote agent script, to use local plugins from a distant server.
|
||||||
|
# You can run this from a local pandora agent.
|
||||||
|
# Run with -h to see more information
|
||||||
|
|
||||||
|
# Configurable tokens
|
||||||
|
TEMP=/tmp
|
||||||
|
OUTPUTDIR=/var/spool/pandora/data_in
|
||||||
|
OS_NAME=Linux
|
||||||
|
ENCODING="iso-8859-1"
|
||||||
|
INTERVAL=300
|
||||||
|
|
||||||
|
function help {
|
||||||
|
echo -e ""
|
||||||
|
echo -e "Remote agent script for Pandora FMS. http://pandorafms.com"
|
||||||
|
echo -e "Syntax:"
|
||||||
|
echo -e "\t-a agent Agent name as will be presented in the output XML"
|
||||||
|
echo -e "\t-f scriptfile Script file to execute. It must generate the XML for modules itself"
|
||||||
|
echo -e "\t-h This help"
|
||||||
|
echo ""
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]
|
||||||
|
then
|
||||||
|
help
|
||||||
|
fi
|
||||||
|
|
||||||
|
AGENT=""
|
||||||
|
SCRIPTFILE=""
|
||||||
|
|
||||||
|
while getopts ":h:a:f:" optname
|
||||||
|
do
|
||||||
|
case "$optname" in
|
||||||
|
"h")
|
||||||
|
help
|
||||||
|
;;
|
||||||
|
"a")
|
||||||
|
AGENT=$OPTARG
|
||||||
|
;;
|
||||||
|
"f")
|
||||||
|
SCRIPTFILE=$OPTARG
|
||||||
|
;;
|
||||||
|
?)
|
||||||
|
help
|
||||||
|
;;
|
||||||
|
default)
|
||||||
|
help
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$AGENT" ]
|
||||||
|
then
|
||||||
|
help
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SCRIPTFILE" ]
|
||||||
|
then
|
||||||
|
help
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Date and time, SERIAL is number of seconds since 1/1/1970, for every packet.
|
||||||
|
TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
||||||
|
SERIAL=`date +"%s"`
|
||||||
|
|
||||||
|
# File names
|
||||||
|
DATA=$TEMP/$AGENT.$SERIAL.data
|
||||||
|
|
||||||
|
# Makes data packet
|
||||||
|
echo "<?xml version=\"1.0\" encoding=\"$ENCODING\"?> " > $DATA
|
||||||
|
echo "<agent_data os_name='$OS_NAME' interval='$INTERVAL' version='4.0-Remote' timestamp='$TIMESTAMP' agent_name='$AGENT'>" >> $DATA
|
||||||
|
|
||||||
|
# Execute the script file
|
||||||
|
eval $SCRIPTFILE >> $DATA
|
||||||
|
|
||||||
|
# Finish data packet
|
||||||
|
echo "</agent_data>" >> $DATA
|
||||||
|
echo "" >> $DATA
|
||||||
|
|
||||||
|
# Moving to target directory
|
||||||
|
mv $DATA $OUTPUTDIR
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user