summaryrefslogtreecommitdiffstats
path: root/packages/base/src/files/install/elk/init.d/elkd
blob: 7b86904a957df37ec952163689441245ea5801ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash

ELK_BASE=${POLICY_HOME}/elk/
ELK_RUNNING="^$JAVA_HOME/bin/java .* -cp .* org.elasticsearch.bootstrap.Elasticsearch -d$"
COMPONENT=elk

JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote"
JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.port=${{ELK_JMX_PORT}}"
JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.ssl=false" 
JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"

RETVAL=0

function update_monitor() {
	COMPONENT=$1
	STATUS=$2
	if [[ -f ${POLICY_HOME}/etc/monitor/monitor.cfg ]]; then
		/bin/sed -i.bak \
			-e "s/^${COMPONENT}=.*/${COMPONENT}=${STATUS}/g" \
			${POLICY_HOME}/etc/monitor/monitor.cfg	
	fi
}

function stop() {
	pkill -u ${POLICY_USER} -f "${ELK_RUNNING}" -TERM
	RETVAL=$?
	if [[ ${RETVAL} != 0 ]]; then
		sleep 2
		pkill -u ${POLICY_USER} -f "${ELK_RUNNING}" -KILL
		RETVAL=$?
    fi
    update_monitor ${COMPONENT} off	
    sleep 1
}

function start() {
	export ES_JAVA_OPTS="${JAVA_OPTS} ${JMX_JAVA_OPTS}" 
	$POLICY_HOME/elk/bin/elasticsearch -d
	RETVAL=$?
	if [[ ${RETVAL} != 0 ]]; then
		update_monitor ${COMPONENT} off
	else
		update_monitor ${COMPONENT} on
	fi	
}

# main

case "$1" in
    status)
        pid=$(pgrep -f -u ${POLICY_USER} "${ELK_RUNNING}" 2> /dev/null)
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
        	echo "running with pid ${pid}"
        else
        	echo "stopped"
        fi
        ;;
	restart)
		stop
        sleep 2
        start
        ;;
	start)
        start
        ;;
	stop)
		stop
        ;;        
    *)
        echo "error: invalid option $@"
        RETVAL=1
        ;;
esac

exit ${RETVAL}