Skip to content

Instantly share code, notes, and snippets.

@satblip
Forked from leonsodhi/01papertrail.config
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save satblip/42c10c052bd91ff2f9cc to your computer and use it in GitHub Desktop.
Save satblip/42c10c052bd91ff2f9cc to your computer and use it in GitHub Desktop.
# See http://help.papertrailapp.com/kb/hosting-services/aws-elastic-beanstalk/
sources:
/home/ec2-user: https://github.com/papertrail/remote_syslog2/releases/download/<VERSION>/remote_syslog_linux_amd64.tar.gz
files:
"/etc/log_files.yml":
mode: "00644"
owner: root
group: root
encoding: plain
content: |
files:
- <YOUR-TRACKED-FILES>
hostname: <YOUR-APP-NAME>
destination:
host: <YOUR-LOG-DESTINATION>
port: <YOUR-PORT-NUMBER>
protocol: tls
"/etc/init.d/remote_syslog":
mode: "00555"
owner: root
group: root
encoding: plain
content: |
#!/bin/bash
#
# remote_syslog This shell script takes care of starting and stopping
# remote_syslog daemon
#
# chkconfig: - 58 74
# description: papertrail/remote_syslog \
# https://github.com/papertrail/remote_syslog2/blob/master/examples/remote_syslog.init.d
### BEGIN INIT INFO
# Provides: remote_syslog
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Should-Start: $syslog $named ntpdate
# Should-Stop: $syslog $named
# Short-Description: start and stop remote_errolog
# Description: papertrail/remote_syslog2
# https://github.com/papertrail/remote_syslog2/blob/master/examples/remote_syslog.init.d
### END INIT INFO
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
prog="/usr/local/bin/remote_syslog"
config="/etc/log_files.yml"
pid_dir="/var/run"
EXTRAOPTIONS=""
pid_file="$pid_dir/remote_syslog.pid"
PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
RETVAL=0
is_running(){
# Do we have PID-file?
if [ -f "$pid_file" ]; then
# Check if proc is running
pid=`cat "$pid_file" 2> /dev/null`
if [[ $pid != "" ]]; then
exepath=`readlink /proc/"$pid"/exe 2> /dev/null`
exe=`basename "$exepath"`
if [[ $exe == "remote_syslog" ]]; then
# Process is running
return 0
fi
fi
fi
return 1
}
start(){
echo -n $"Starting $prog: "
unset HOME MAIL USER USERNAME
$prog -c $config --pid-file=$pid_file $EXTRAOPTIONS
RETVAL=$?
echo
return $RETVAL
}
stop(){
echo -n $"Stopping $prog: "
if (is_running); then
kill `cat $pid_file`
RETVAL=$?
echo
return $RETVAL
else
echo "$pid_file not found"
fi
}
status(){
echo -n $"Checking for $pid_file: "
if (is_running); then
echo "found"
else
echo "not found"
fi
}
reload(){
restart
}
restart(){
stop
start
}
condrestart(){
is_running && restart
return 0
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac
exit $RETVAL
commands:
00_stop_service:
command: "/sbin/service remote_syslog stop"
ignoreErrors: true
01_install_remote_syslog_binary:
command: "cp /home/ec2-user/remote_syslog/remote_syslog /usr/local/bin"
02_enable_service:
command: "/sbin/chkconfig remote_syslog on"
03_start_service:
command: "/sbin/service remote_syslog restart"
ignoreErrors: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment