alibabamama 发表于 2018-10-21 07:33:19

zabbix之zabbix_java server端

  参考http://blog.csdn.net/wych1981/article/details/46647451
  第一次编译安装的时候没有使用这个参数,后来用到了,就重新编译加上的
  JDK的安装
  export JAVA_HOME="/usr/local/services/jdk"
  export PATH=$JAVA_HOME/bin:$PATH

  export>  source /etc/profile
  zabbix-3.0.4
  ./configure–prefix=/usr/local/services/zabbix –enable-server –enable-agent--enable-java–with-mysql=/usr/local/services/mysql/bin/mysql_config--with-net-snmp –with-libcurl
  配置setting.sh并启动
  grep '^[^#]' /usr/local/services/zabbix/sbin/zabbix_java/settings.sh
  LISTEN_IP="0.0.0.0"
  LISTEN_PORT=10052
  PID_FILE="/usr/local/services/zabbix/logs/zabbix_java.pid"
  START_POLLERS=5
  /usr/local/services/zabbix/sbin/zabbix_java/shutdown.sh 停止
  /usr/local/services/zabbix/sbin/zabbix_java/startup.sh 启动
  加入到zabbix_server中并重启zabbix_server
  zabbix_server.conf
  JavaGateway=10.26.205.162   zabbix_java的日志
  JavaGatewayPort=10052
  StartJavaPollers=5
  /etc/init.d/zabbix_server restart
  netstat -antlp|grep 1005|grep LIS
  tcp0    0   0.0.0.0:10050   0.0.0.0:*LISTEN7456/zabbix_agentd
  tcp0    0   0.0.0.0:10051   0.0.0.0:*LISTEN5787/zabbix_server
  tcp0    0   0.0.0.0:10052   0.0.0.0:*LISTEN5244/java
  原有的zabbix_java的脚本不方便管理,先修改一下
  cp /usr/local/services/zabbix/sbin/zabbix_java/settings.sh
  /usr/local/services/zabbix/etc/zabbix_java_gateway.conf
  vim /etc/init.d/zabbix_java_gateway
  #!/bin/bash
  BASE="/usr/local/services/zabbix"
  CONF="${BASE}/etc/zabbix_java_gateway.conf"
  ZABBIX_JAVA_DIR="${BASE}/sbin/zabbix_java"
  JAVA=${JAVA_HOME}/bin/java
  RETVAL=0
  PROG="Zabbix Java Gateway"
  ###Functions
  get_options(){
  config=$1
  option=$2
  default_value=$3
  result=$(sed -n "s/^${option}=//p" ${config}|tail -n 1|sed -r "s/[\"\']//g")
  if [ -z "$result" ];then
  result="${default_value}"
  fi
  }
  get_options ${CONF} LISTEN_IP "0.0.0.0"
  LISTEN_IP="${result}"
  get_options ${CONF} LISTEN_PORT "10052"
  LISTEN_PORT="${result}"
  get_options ${CONF} PID_FILE "${BASE}/logs/zabbix_java.pid"
  PID_FILE="${result}"
  get_options ${CONF} START_POLLERS "5"
  START_POLLERS="${result}"
  BOOTUP="color"
  RES_COL=60
  MOVE_TO_COL="echo -en \\033[${RES_COL}G"
  SETCOLOR_SUCCESS="echo -en \\033[1;32m"
  SETCOLOR_FAILURE="echo -en \\033[1;31m"
  SETCOLOR_NORMAL="echo -en \\033[0;39m"
  echo_success() {
  echo -en "\t\t\t\t\t"
  [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
  echo -n "["
  [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
  echo -n $"OK"
  [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
  echo -n "]"
  echo -e "\r"
  return 0
  }
  echo_failure() {
  echo -en "\t\t\t\t\t"
  [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
  echo -n "["
  [ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
  echo -n $"FAILED"
  [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
  echo -n "]"
  echo -e "\r"
  return 1
  }
  status(){
  if [ -n "$PID_FILE" -a -e "$PID_FILE" ] && [ -d "/proc/`cat ${PID_FILE}`" ]; then
  echo -e "${PROG} is already running"
  RETVAL=0
  else
  echo -e "${PROG} is not running"
  RETVAL=1
  fi
  return $RETVAL
  }
  start(){
  JAVA_OPTIONS="-server -Dlogback.configurationFile=logback-console.xml"
  ZABBIX_OPTIONS="-Dzabbix.listenIP=$LISTEN_IP -Dzabbix.listenPort=$LISTEN_PORT -Dzabbix.pidFile=$PID_FILE -Dzabbix.startPollers=$START_POLLERS"

  >  for jar in ${ZABBIX_JAVA_DIR}/{lib,bin}/*.jar; do
  if [[ $jar != *junit* ]]; then

  >  fi
  done
  COMMAND_LINE="$JAVA $JAVA_OPTIONS -classpath $CLASSPATH $ZABBIX_OPTIONS com.zabbix.gateway.JavaGateway"
  echo -n "Starting: ${PROG}"
  $COMMAND_LINE > /dev/null 2>&1 &
  RETVAL=$?
  echo $! > $PID_FILE
  if [ $RETVAL -eq 0 ];then
  echo_success
  else
  echo_failure
  fi
  return $RETVAL
  }
  stop(){
  echo -n "Stopping: ${PROG}"
  kill `cat $PID_FILE`
  RETVAL=$?
  if [ $RETVAL -eq 0 ];then
  echo_success
  else
  echo_failure
  exit $RETVAL
  fi
  return $RETVAL
  }
  case "$1" in
  start)
  status >/dev/null 2>&1
  [ $? = 0 ] || start
  ;;
  stop)
  status >/dev/null 2>&1
  [ $? = 0 ] && stop
  ;;
  restart)
  status >/dev/null 2>&1
  [ $? = 0 ] && stop && sleep 5
  start
  ;;
  status)
  status
  ;;
  *)
  echo -e "Usage: $0 {start|stop|restart|status}"
  exit 2
  esac
  exit $?

页: [1]
查看完整版本: zabbix之zabbix_java server端