From 651043648d374d8115db44e0a293327377494354 Mon Sep 17 00:00:00 2001
From: kaliraja <kaliraja1992@gmail.com>
Date: Tue, 3 Sep 2019 11:42:07 +0530
Subject: [PATCH] DO-1516 updated the query script

---
 .../stack-proxy/templates/proxy-default.conf  |   1 +
 ansible/static-files/api_count_query.sh       | 103 ++++++++++++++++++
 2 files changed, 104 insertions(+)
 create mode 100755 ansible/static-files/api_count_query.sh

diff --git a/ansible/roles/stack-proxy/templates/proxy-default.conf b/ansible/roles/stack-proxy/templates/proxy-default.conf
index 349341f0a..8152bb168 100644
--- a/ansible/roles/stack-proxy/templates/proxy-default.conf
+++ b/ansible/roles/stack-proxy/templates/proxy-default.conf
@@ -113,6 +113,7 @@ server {
     proxy_http_version 1.1;
     header_filter_by_lua_block {
       local h = ngx.req.get_headers()
+
       ngx.log(ngx.WARN, "Deviceid: ", h["x-device-id"], "  Channelid: ", h["x-channel-id"], "  Appid: ", h["x-app-id"])
     }
     proxy_pass http://kong;
diff --git a/ansible/static-files/api_count_query.sh b/ansible/static-files/api_count_query.sh
new file mode 100755
index 000000000..4411203c4
--- /dev/null
+++ b/ansible/static-files/api_count_query.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+
+###-----------------------------------------------------###
+# Author:: Kaliraja
+# Description:: This script is to query the api calls data 
+# from log-es and send as a report to email and uploading
+# the same to azure storage.
+###-----------------------------------------------------###
+
+
+#date variables
+prev_day=`date "+%s" -d "yesterday 03:30:00"`
+today=`date "+%s" -d "today 03:30:00"`
+date=`date +"%m-%d-%Y"`
+
+#prev_day=`date "+%s" -d "yesterday -7 day 03:30:00"`
+#today=`date "+%s" -d "yesterday -6 day 03:30:00"`
+#date=`date +%m-%d-%y --date="yesterday -6 day" | sed 's/19/2019/'`
+
+#api variable
+contentsearch="/api/composite/v1/search"
+contentread="/api/content/v1/read/"
+telemetry="/api/data/v1/telemetry"
+registermobile="/api/api-manager/v1/consumer/mobile_device/credential/register"
+
+#filename variable
+contentsearch_filename=contentsearch-$date.txt
+contentread_filename=contentread-$date.txt
+telemetry_filename=telemetry-$date.txt
+mobiledevice_registerfilename=registermobile-$date.txt
+
+#sedngrid variable
+sguser="$1"
+sgpass="$2"
+container_name="$3"
+account_name="$4"
+storage_key="$5"
+
+
+query(){
+curl -s -XPOST 'localhost:9200/logstash-*/_search?pretty' -d '{"query":{"filtered":{"query":{"query_string":{"analyze_wildcard":true,"query":"\"'$1'\""}},"filter":{"bool":{"must":[{"range":{"@timestamp":{"gte":"'"$prev_day"'","lte":"'"$today"'","format":"epoch_second"}}}],"must_not":[]}}}},"size":0,"aggs":{"2":{"date_histogram":{"field":"@timestamp","interval":"15m","time_zone":"Asia/Kolkata","min_doc_count":1,"extended_bounds":{"min": 0,"max": 500}}}}}' |  jq -r '.aggregations."2".buckets[]|.key_as_string+" "+ (.doc_count|tostring)' | column -t > $2
+}
+
+#Executing content search query
+
+query $contentsearch $contentsearch_filename
+
+#Execurting the contentread query
+
+query $contentread $contentread_filename
+
+#Executing the telemetry query
+
+query $telemetry $telemetry_filename
+
+#Executing the registermobiledevice query
+
+query $registermobile $mobiledevice_registerfilename
+
+#sending an email with an attachment
+
+curl https://api.sendgrid.com/api/mail.send.json \
+ -F to=sanjay.kumar@tarento.com -F to=kaliraja.ramasamy@tarento.com -F toname=sanjay -F toname=kaliraja -F subject="Data for Diksha api calls" -F subject="Data for Diksha api calls" \
+ -F text="Data" --form-string html="<strong>Hi Team, PFA.</strong>" \
+ -F from=reports@diksha.in -F api_user="$sguser" -F api_key="$sgpass" \
+ -F files\[contentsearch.txt\]=@contentsearch-$date.txt -F files\[contentread.txt\]=@contentread-$date.txt -F files\[telemetry.txt]=@telemetry-$date.txt -F files\[registermobile.txt]=@registermobile-$date.txt
+
+
+# uploading  the reports to storage
+
+az storage blob upload \
+--container-name $container_name \
+--file contentsearch-$date.txt \
+--name contentsearch-$date.txt  \
+--account-name $account_name  \
+--account-key $storage_key
+
+az storage blob upload \
+--container-name $container_name \
+--file contentread-$date.txt \
+--name contentread-$date.txt  \
+--account-name $account_name  \
+--account-key $storage_key
+
+
+az storage blob upload \
+--container-name $container_name \
+--file telemetry-$date.txt \
+--name telemetry-$date.txt  \
+--account-name $account_name  \
+--account-key $storage_key
+
+az storage blob upload \
+--container-name $container_name \
+--file registermobile-$date.txt \
+--name registermobile-$date.txt  \
+--account-name $account_name  \
+--account-key $storage_key
+
+
+# deleting files
+
+rm *-$date.txt
-- 
GitLab