1#!/bin/sh 2 3cd `dirname $0` 4. ./settings.sh 5 6if [ -n "$PID_FILE" -a -f "$PID_FILE" ]; then 7 PID=`cat "$PID_FILE"` 8 if ps -p "$PID" > /dev/null 2>&1; then 9 echo "Zabbix Java Gateway is already running" 10 exit 1 11 fi 12 rm -f "$PID_FILE" 13fi 14 15JAVA=${JAVA:-java} 16 17JAVA_OPTIONS="-server" 18if [ -z "$PID_FILE" ]; then 19 JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=logback-console.xml" 20fi 21 22CLASSPATH="lib" 23for jar in lib/*.jar bin/*.jar; do 24 CLASSPATH="$CLASSPATH:$jar" 25done 26 27ZABBIX_OPTIONS="" 28if [ -n "$PID_FILE" ]; then 29 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.pidFile=$PID_FILE" 30fi 31if [ -n "$LISTEN_IP" ]; then 32 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenIP=$LISTEN_IP" 33fi 34if [ -n "$LISTEN_PORT" ]; then 35 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenPort=$LISTEN_PORT" 36fi 37if [ -n "$START_POLLERS" ]; then 38 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.startPollers=$START_POLLERS" 39fi 40if [ -n "$TIMEOUT" ]; then 41 ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.timeout=$TIMEOUT -Dsun.rmi.transport.tcp.responseTimeout=${TIMEOUT}000" 42fi 43 44# uncomment to enable remote monitoring of the standard JMX objects on the Zabbix Java Gateway itself 45# JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 46# -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" 47 48COMMAND_LINE="$JAVA $JAVA_OPTIONS -classpath $CLASSPATH $ZABBIX_OPTIONS com.zabbix.gateway.JavaGateway" 49 50if [ -n "$PID_FILE" ]; then 51 52 # check that the PID file can be created 53 54 touch "$PID_FILE" 55 if [ $? -ne 0 ]; then 56 echo "Zabbix Java Gateway did not start: cannot create PID file" 57 exit 1 58 fi 59 60 # start the gateway and output pretty errors to the console 61 62 STDOUT=`$COMMAND_LINE & echo $! > "$PID_FILE"` 63 if [ -n "$STDOUT" ]; then 64 echo "$STDOUT" 65 fi 66 67 # verify that the gateway started successfully 68 69 PID=`cat "$PID_FILE"` 70 ps -p "$PID" > /dev/null 2>&1 71 if [ $? -ne 0 ]; then 72 echo "Zabbix Java Gateway did not start" 73 rm -f "$PID_FILE" 74 exit 1 75 fi 76 77else 78 exec $COMMAND_LINE 79fi 80