#!/bin/bash

PIDOF_CMD=/sbin/pidof
ECHO_CMD=/usr/bin/echo
SLEEP_CMD=/usr/bin/sleep
KILL_CMD=/bin/kill

NAME=filebeat
FILEBEAT_AGENT=${FILEBEAT_AGENT-/usr/share/filebeat/bin/${NAME}}
FILEBEAT_AGENT_ARGS="-c /etc/filebeat/filebeat.yml --path.home /usr/share/filebeat --path.config /etc/filebeat --path.data /var/lib/filebeat --path.logs /var/log/filebeat"

filebeat_start() {
  if [ -n "$($PIDOF_CMD filebeat)" ]; then
    $ECHO_CMD "FileBeat seems to be already running."
    return
  fi

  $ECHO_CMD "Starting FileBeat."
  $FILEBEAT_AGENT $FILEBEAT_AGENT_ARGS &
}

filebeat_stop() {
  if [ -z "$($PIDOF_CMD filebeat)" ]; then
    $ECHO_CMD "FileBeat does not seem to be running."
    return
  fi

  $ECHO_CMD "Stopping FileBeat."
  $KILL_CMD $($PIDOF_CMD filebeat)
}

filebeat_restart() {
  $ECHO_CMD "Restarting FileBeat."
  filebeat_stop
  $SLEEP_CMD 5
  filebeat_start
}

case "$1" in
'start')
  filebeat_start
  ;;
'stop')
  filebeat_stop
  ;;
'restart')
  filebeat_restart
  ;;
*)
  echo "usage: $0 start|stop|restart"
esac

