Fixed the Policy API issues and Bugfixes
[policy/engine.git] / packages / base / src / files / install / elk / init.d / elkd
1 #!/bin/bash
2
3 ELK_BASE=${POLICY_HOME}/elk/
4 ELK_RUNNING="^$JAVA_HOME/bin/java .* -cp .* org.elasticsearch.bootstrap.Elasticsearch -d$"
5 COMPONENT=elk
6
7 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote"
8 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.port=${{ELK_JMX_PORT}}"
9 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.ssl=false" 
10 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
11
12 RETVAL=0
13
14 function update_monitor() {
15         COMPONENT=$1
16         STATUS=$2
17         if [[ -f ${POLICY_HOME}/etc/monitor/monitor.cfg ]]; then
18                 /bin/sed -i.bak \
19                         -e "s/^${COMPONENT}=.*/${COMPONENT}=${STATUS}/g" \
20                         ${POLICY_HOME}/etc/monitor/monitor.cfg  
21         fi
22 }
23
24 function stop() {
25         pkill -u ${POLICY_USER} -f "${ELK_RUNNING}" -TERM
26         RETVAL=$?
27         if [[ ${RETVAL} != 0 ]]; then
28                 sleep 2
29                 pkill -u ${POLICY_USER} -f "${ELK_RUNNING}" -KILL
30                 RETVAL=$?
31     fi
32     update_monitor ${COMPONENT} off     
33     sleep 1
34 }
35
36 function start() {
37         export ES_JAVA_OPTS="${JAVA_OPTS} ${JMX_JAVA_OPTS}" 
38         $POLICY_HOME/elk/bin/elasticsearch -d
39         RETVAL=$?
40         if [[ ${RETVAL} != 0 ]]; then
41                 update_monitor ${COMPONENT} off
42         else
43                 update_monitor ${COMPONENT} on
44         fi      
45 }
46
47 # main
48
49 case "$1" in
50     status)
51         pid=$(pgrep -f -u ${POLICY_USER} "${ELK_RUNNING}" 2> /dev/null)
52         RETVAL=$?
53         if [ $RETVAL -eq 0 ]; then
54                 echo "running with pid ${pid}"
55         else
56                 echo "stopped"
57         fi
58         ;;
59         restart)
60                 stop
61         sleep 2
62         start
63         ;;
64         start)
65         start
66         ;;
67         stop)
68                 stop
69         ;;        
70     *)
71         echo "error: invalid option $@"
72         RETVAL=1
73         ;;
74 esac
75
76 exit ${RETVAL}