@extends('layouts.main') @section('title', 'Tactical Dashboard') @section('breadcrumb')

CISO Dashboard

@endsection @inject('splunk_searches', '\App\Models\SplunkSearches') @php $dashboard = 'Tactical Dashboard'; $wTechCondition = $splunk_searches::getIdByName('Technology Operational Condition', $dashboard); $wAvailability = $splunk_searches::getIdByName('Availability Status', $dashboard); $wDegradation = $splunk_searches::getIdByName('Operational Degradation', $dashboard); $wPatchHealth = $splunk_searches::getIdByName('Patch Health', $dashboard); $wConfigGov = $splunk_searches::getIdByName('Configuration Governance', $dashboard); $wWorkflow = $splunk_searches::getIdByName('Workflow Health', $dashboard); $wAvailPerf = $splunk_searches::getIdByName('Availability & Performance', $dashboard); $wPatchRemediation = $splunk_searches::getIdByName('Patch & Remediation Operations', $dashboard); $wConfigDetail = $splunk_searches::getIdByName('Configuration Governance Detail', $dashboard); $wIoT = $splunk_searches::getIdByName('IoT/OT Operational Visibility', $dashboard); $wInfraExposure = $splunk_searches::getIdByName('Infrastructure Exposure', $dashboard); $wOpWorkflow = $splunk_searches::getIdByName('Operational Workflow', $dashboard); $tooltips = [ 'Technology Operational Condition' => 'Overall technology and operations health in one 0-100 score. Blends system availability, performance, patch exposure, configuration governance, IoT/OT risk, and workflow execution. Higher is worse; the color shows the condition band.', 'Availability Status' => 'Percentage of monitored systems that are currently up and healthy. Higher is better - this gauge is green at the top of the range. The trend shows the day-over-day change.', 'Operational Degradation' => 'Count of systems that showed recurring instability - down or degraded on more than one occasion - over the last 30 days. Higher is worse.', 'Patch Health' => 'Exposure from unpatched critical/high vulnerabilities on recently-scanned assets, amplified by how long each has been open. 0-100, higher is worse.', 'Configuration Governance' => 'Configuration and policy drift posture from endpoint configuration management. 0-100, higher is worse.', 'Workflow Health' => 'Whether cases and remediation are being worked and closed on time. Blends resolution SLA, overdue open cases, queue pressure, and backlog growth into one 0-100 score. Higher is worse.', 'Availability & Performance' => 'Daily system-availability trend over the last 30 days.', 'Patch & Remediation Operations' => 'Open vulnerabilities by severity (Critical / High / Medium) across the client\'s assets.', 'Configuration Governance Detail' => 'Per-asset configuration deviations, ranked by severity (top 20).', 'IoT/OT Operational Visibility' => 'Inventoried IoT/OT devices with management status and risk; flags unmanaged critical devices.', 'Infrastructure Exposure' => 'Top exposed infrastructure assets ranked by vulnerability priority and business impact.', 'Operational Workflow' => 'Open case workload by owner - SLA breaches, priority mix, and aging.', ]; @endphp @section('content') {{-- Report / Docs buttons --}}
@include('dashboards.ecsm.incl_report_button', ['report_name' => 'Tactical Dashboard Report']) @include('dashboards.ecsm.incl_docs_button', ['docs' => \App\Models\SplunkDashboards::getDocuments('Tactical Dashboard')])
{{-- Global Time Range Selector --}}
{{-- TOP ROW: 6 Gauge Widgets --}}
@foreach([ $wTechCondition => 'Technology Operational Condition', $wAvailability => 'Availability Status', $wDegradation => 'Operational Degradation', $wPatchHealth => 'Patch Health', $wConfigGov => 'Configuration Governance', $wWorkflow => 'Workflow Health', ] as $wId => $wName) @if($wId)

{{ $wName }} @if(!empty($tooltips[$wName])) @endif

{!! $splunk_searches::getCodeArray([$wId], $from, $to) !!}
@endif @endforeach
{{-- /top row gauges --}} {{-- SECOND ROW: Availability & Performance line chart --}} @if($wAvailPerf)

Availability & Performance @if(!empty($tooltips['Availability & Performance'])) @endif

{!! $splunk_searches::getCodeArray([$wAvailPerf], $from, $to) !!}
@endif {{-- BOTTOM ROW: Tables --}}
@php $bottomWidgets = [ ['id' => $wPatchRemediation, 'name' => 'Patch & Remediation Operations', 'class' => 'col-xl-4'], ['id' => $wConfigDetail, 'name' => 'Configuration Governance Detail', 'class' => 'col-xl-4'], ['id' => $wIoT, 'name' => 'IoT/OT Operational Visibility', 'class' => 'col-xl-4'], ['id' => $wInfraExposure, 'name' => 'Infrastructure Exposure', 'class' => 'col-xl-6'], ['id' => $wOpWorkflow, 'name' => 'Operational Workflow', 'class' => 'col-xl-6', 'scroll' => true], ]; @endphp @foreach($bottomWidgets as $w) @if($w['id'])

{{ $w['name'] }} @if(!empty($tooltips[$w['name']])) @endif

{!! $splunk_searches::getCodeArray([$w['id']], $from, $to) !!}
@endif @endforeach
{{-- /bottom row --}} {{-- News --}}
@include('dashboards.ecsm.news_top')
@endsection @section('scripts') @endsection @section('top_scripts') @endsection