aboutsummaryrefslogtreecommitdiffstats
path: root/packages/base/src/files/install/elk/bin/elk.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packages/base/src/files/install/elk/bin/elk.sh')
-rw-r--r--packages/base/src/files/install/elk/bin/elk.sh166
1 files changed, 166 insertions, 0 deletions
diff --git a/packages/base/src/files/install/elk/bin/elk.sh b/packages/base/src/files/install/elk/bin/elk.sh
new file mode 100644
index 000000000..5011aa61e
--- /dev/null
+++ b/packages/base/src/files/install/elk/bin/elk.sh
@@ -0,0 +1,166 @@
+#!/bin/bash
+
+ELK_MAP_SUCCESS_RE="\"acknowledged\": *true"
+
+function usage() {
+ echo -n "syntax: $(basename $0) "
+ echo -n "[--debug] "
+ echo -n "([--audit] |"
+}
+
+function log() {
+ echo "$(date +"%Y-%m-%d_%H-%M-%S") $1" >> ${POLICY_HOME}/logs/elk.log
+ echo "$1"
+}
+
+function delete_index() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ COMMAND="curl --silent -X DELETE http://localhost:9200/policy"
+ OUTPUT="$(${COMMAND} 2>&1)"
+ RC=$?
+
+ log "${RC}: ${COMMAND}"
+ log "${OUTPUT}"
+
+ if [[ ${RC} != 0 ]] || [[ ! ${OUTPUT} =~ ${ELK_MAP_SUCCESS_RE} ]]; then
+ log "WARNING: curl: delete /policy: ${RC}"
+ return 1
+ fi
+
+ log "OK: curl: delete /policy: ${OUTPUT}"
+ return 0
+}
+
+function create_index() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ COMMAND="curl --silent -X PUT http://localhost:9200/policy"
+ OUTPUT="$(${COMMAND} 2>&1)"
+ RC=$?
+
+ log "${RC}: ${COMMAND}"
+ log "${OUTPUT}"
+
+ if [[ ${RC} != 0 ]] || [[ ! ${OUTPUT} =~ ${ELK_MAP_SUCCESS_RE} ]]; then
+ log "ERROR: curl: put /policy: ${RC}"
+ return 1
+ fi
+
+ log "OK: curl: put /policy."
+ return 0
+}
+
+function check_elk_status() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ ${POLICY_HOME}/etc/init.d/elk status
+ if [[ $? != 0 ]]; then
+ log "ERROR: elk is down. Aborting .."
+ exit 1
+ fi
+}
+
+function check_elk_policy_index() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ COMMAND="curl --silent -X GET http://localhost:9200/policy"
+ OUTPUT="$(${COMMAND} 2>&1)"
+ RC=$?
+
+ log "${RC}: ${COMMAND}"
+
+ if [[ ${RC} != 0 ]] || [[ ! ${OUTPUT} =~ policy ]]; then
+ log "ERROR: curl: get /policy: ${RC}"
+ return 1
+ fi
+
+ log "OK: curl: get /policy."
+ return 0
+}
+
+#The Script will update the policy data on querying from database as a bulk to Elastic Database
+function audit() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ check_elk_status
+
+ if ! check_elk_policy_index; then
+ echo "policy index does not exist. So, Policy Index is created."
+ if ! create_index; then
+ echo "abort: policy index creation failed."
+ exit 1
+ fi
+ fi
+
+ $JAVA_HOME/bin/java -cp $POLICY_HOME/servers/pap/webapps/pap/WEB-INF/lib/ECOMP-PAP-REST-*.jar:$POLICY_HOME/servers/pap/webapps/pap/WEB-INF/lib/*: -DPROPERTY_FILE=$POLICY_HOME/servers/pap/bin/policyelk.properties org.openecomp.policy.pap.xacml.rest.elk.client.ElasticSearchPolicyUpdate
+}
+
+#########################################################################
+##
+## script execution body
+##
+#########################################################################
+
+DEBUG=n
+OPERATION=none
+
+until [[ -z "$1" ]]; do
+ case $1 in
+ -d|--debug|debug) DEBUG=y
+ set -x
+ ;;
+ -a|--audit|audit) OPERATION=audit
+ ;;
+ *) usage
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+# operation validation
+case $OPERATION in
+ audit) ;;
+ *) echo "invalid operation (${OPERATION}).";
+ usage
+ exit 1
+ ;;
+esac
+
+if [[ -z ${POLICY_HOME} ]]; then
+ echo "error: POLICY_HOME is unset."
+ exit 1
+fi
+
+log "**** $OPERATION ****"
+
+if pidof -o %PPID -x $(basename $0) > /dev/null 2>&1; then
+ echo "WARNING: an $(basename $0) process is already running. Exiting."
+ exit 1
+fi
+
+case $OPERATION in
+ audit)
+ audit
+ ;;
+ *) echo "invalid operation (${OPERATION}).";
+ usage
+ exit 1
+ ;;
+esac \ No newline at end of file