Hi everyone! I am working on building a dashboard which captures all the firewall, Web proxy, EDR, WAF, Email, DLP blocked for last 6 months in a table format which should look like this - I am able to write the query which will give me the count for each parameter and then I append all the single query into one which is making the final query run slower and taking forever to complete. Here is the final query- | tstats `security_content_summariesonly` count as Blocked from datamodel=Network_Traffic
where sourcetype IN ("cp_log", "cisco:asa", "pan:traffic") AND All_Traffic.action="blocked" earliest=-6mon@mon latest=now by _time
| eval Source="Firewall"
| tstats `security_content_summariesonly` count as Blocked from datamodel=Web
where sourcetype IN ("alertlogic:waf","aemcdn","aws:*","azure:firewall:*") AND Web.action="block" earliest=-6mon latest=now by _time
| eval Source="WAF"
| append [search index=zscaler* action=blocked sourcetype="zscalernss-web" earliest=-6mon@mon latest=now
| bin _time span=1mon
| stats count as Blocked by _time
| eval Source="Web Proxy"]
| append [| tstats summariesonly=false dc(Message_Log.msg.header.message-id) as Blocked from datamodel=pps_ondemand where (Message_Log.filter.routeDirection="inbound") AND (Message_Log.filter.disposition="discard" OR Message_Log.filter.disposition="reject" OR Message_Log.filter.quarantine.folder="Spam*") earliest=-6mon@mon latest=now by _time
| eval Source="Email"]
| append [search index=crowdstrike-hc sourcetype="CrowdStrike:Event:Streams:JSON" "metadata.eventType"=DetectionSummaryEvent metadata.customerIDString=* earliest=-6mon@mon latest=now
| bin _time span=1mon
| transaction "event.DetectId"
| search action=blocked NOT action=allowed
| stats dc(event.DetectId) as Blocked by _time
| eval Source="EDR"]
| append [search index=forcepoint_dlp sourcetype IN ("forcepoint:dlp","forcepoint:dlp:csv") action="blocked" earliest=-6mon@mon latest=now
| bin _time span=1mon
| stats count(action) as Blocked by _time
| eval Source="DLP"]
| eval MonthNum=strftime(_time, "%Y-%m"), MonthName=strftime(_time, "%b")
| stats sum(Blocked) as Blocked by Source MonthNum MonthName
| xyseries Source MonthName Blocked
| addinfo
| table Source [| makeresults count=7
| streamstats count as month_offset
| eval start_epoch=relative_time(now(),"-6mon@mon"), end_epoch=now()
| eval start_month=strftime(start_epoch, "%Y-%m-01")
| eval month_epoch = relative_time(strptime(start_month, "%Y-%m-%d"), "+" . (month_offset-1) . "mon")
| where month_epoch <= end_epoch
| eval month=strftime(month_epoch, "%b")
| stats list(month) as search
] I figured out the issue is with the firewall query- | tstats `security_content_summariesonly` count as Blocked from datamodel=Network_Traffic
where sourcetype IN ("cp_log", "cisco:asa", "pan:traffic") AND All_Traffic.action="blocked" earliest=-6mon@mon latest=now by _time
| eval Source="Firewall" Can someone guide me how to fix this issue. I have been stuck in this issue from 2 weeks 😞
... View more