{"type":"index-pattern","id":"sparrow-droneid-index-pattern","attributes":{"title":"sparrow-droneid-*","timeFieldName":"@timestamp"},"references":[],"coreMigrationVersion":"8.0.0","typeMigrationVersion":"7.14.0"}
{"type":"lens","id":"sparrow-droneid-metric-active-drones","attributes":{"title":"Active Drones","description":"Cardinality of serial numbers with state:active","visualizationType":"lnsMetric","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col1"],"columns":{"col1":{"label":"Active Drones","dataType":"number","operationType":"unique_count","isBucketed":false,"scale":"ratio","sourceField":"droneid.serial_number","filter":{"query":"droneid.state: active","language":"kuery"},"params":{}}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","metricAccessor":"col1","color":"#007bff"},"query":{"query":"","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-metric-active-alerts","attributes":{"title":"Active Alerts","description":"Count of active alert documents","visualizationType":"lnsMetric","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col1"],"columns":{"col1":{"label":"Active Alerts","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___","filter":{"query":"event.kind: alert AND droneid.alert.state: ACTIVE","language":"kuery"},"params":{}}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","metricAccessor":"col1","color":"#e74c3c"},"query":{"query":"","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-metric-max-altitude","attributes":{"title":"Max Altitude AGL (m)","description":"Maximum drone height above ground level","visualizationType":"lnsMetric","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col1"],"columns":{"col1":{"label":"Max Altitude AGL (m)","dataType":"number","operationType":"max","isBucketed":false,"scale":"ratio","sourceField":"droneid.drone.height_agl","params":{}}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","metricAccessor":"col1","color":"#f39c12"},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-metric-closest-drone","attributes":{"title":"Closest Drone (m)","description":"Minimum range to any drone from any sensor","visualizationType":"lnsMetric","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col1"],"columns":{"col1":{"label":"Closest Drone (m)","dataType":"number","operationType":"min","isBucketed":false,"scale":"ratio","sourceField":"droneid.range.drone_m","params":{}}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","metricAccessor":"col1","color":"#27ae60"},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"map","id":"sparrow-droneid-map-tactical","attributes":{"title":"Tactical Map \u2014 Drones / Sensors / Operators","description":"Three-layer map: drone positions (colored by state), sensor positions, operator positions","mapStateJSON":"{\"zoom\":4,\"center\":{\"lon\":0,\"lat\":0},\"timeFilters\":{\"from\":\"now-24h\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":false,\"interval\":30},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":true,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":4},\"browserLocation\":{\"zoom\":4},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}","layerListJSON":"[{\"sourceDescriptor\":{\"type\":\"EMS_TMS\",\"isAutoSelect\":true,\"lightModeDefault\":\"road_map_desaturated\"},\"id\":\"basemap-ems\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"TILE\"},\"type\":\"EMS_VECTOR_TILE\"},{\"id\":\"drone-layer\",\"label\":\"Drones\",\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"name\":\"droneid.state\",\"origin\":\"source\"},\"color\":\"custom_color_map\",\"customColorRamp\":[{\"stop\":\"active\",\"color\":\"#27ae60\"},{\"stop\":\"aging\",\"color\":\"#f39c12\"},{\"stop\":\"stale\",\"color\":\"#e74c3c\"}],\"fieldMetaOptions\":{\"isEnabled\":true,\"sigma\":3}}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#ffffff\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":6}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"circle\"}}}},\"type\":\"VECTOR\",\"sourceDescriptor\":{\"type\":\"ES_SEARCH\",\"id\":\"drone-source\",\"geoField\":\"source.geo.location\",\"filterByMapBounds\":true,\"tooltipProperties\":[\"droneid.serial_number\",\"droneid.state\",\"droneid.vendor\",\"droneid.drone.height_agl\",\"droneid.drone.speed\",\"droneid.rf.rssi\"],\"scalingType\":\"LIMIT\",\"topHitsSize\":1000,\"sortField\":\"@timestamp\",\"sortOrder\":\"desc\",\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"indexPatternRefName\":\"layer_drone_source\"},\"query\":{\"query\":\"event.kind: event\",\"language\":\"kuery\"}},{\"id\":\"sensor-layer\",\"label\":\"Sensors\",\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"fillColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#2980b9\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#ffffff\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":6}},\"symbolizeAs\":{\"options\":{\"value\":\"square\"}},\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"square\"}}}},\"type\":\"VECTOR\",\"sourceDescriptor\":{\"type\":\"ES_SEARCH\",\"id\":\"sensor-source\",\"geoField\":\"observer.geo.location\",\"filterByMapBounds\":true,\"tooltipProperties\":[\"observer.name\",\"observer.type\",\"observer.geo.name\"],\"scalingType\":\"LIMIT\",\"topHitsSize\":500,\"sortField\":\"@timestamp\",\"sortOrder\":\"desc\",\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"indexPatternRefName\":\"layer_sensor_source\"},\"query\":{\"query\":\"event.kind: event OR event.kind: metric\",\"language\":\"kuery\"}},{\"id\":\"operator-layer\",\"label\":\"Operators\",\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"fillColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#f1c40f\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#ffffff\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":5}},\"symbolizeAs\":{\"options\":{\"value\":\"triangle\"}},\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"triangle\"}}}},\"type\":\"VECTOR\",\"sourceDescriptor\":{\"type\":\"ES_SEARCH\",\"id\":\"operator-source\",\"geoField\":\"droneid.operator.location\",\"filterByMapBounds\":true,\"tooltipProperties\":[\"droneid.serial_number\",\"droneid.operator.bvlos\"],\"scalingType\":\"LIMIT\",\"topHitsSize\":500,\"sortField\":\"@timestamp\",\"sortOrder\":\"desc\",\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"indexPatternRefName\":\"layer_operator_source\"},\"query\":{\"query\":\"event.kind: event\",\"language\":\"kuery\"}}]","uiStateJSON":"{\"isLayerTOCOpen\":true,\"openTOCDetails\":[]}"},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"layer_drone_source"},{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"layer_sensor_source"},{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"layer_operator_source"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-table-drone-roster","attributes":{"title":"Drone Roster","description":"Latest status per drone: serial, type, vendor, altitude, speed, RSSI, bearing, BVLOS, state, dwell","visualizationType":"lnsDatatable","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-serial","col-ua-type","col-vendor","col-height","col-speed","col-vspeed","col-rssi","col-rssi-trend","col-bearing","col-bvlos","col-state","col-dwell","col-last-seen"],"columns":{"col-serial":{"label":"Serial Number","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"droneid.serial_number","params":{"size":500,"orderBy":{"type":"column","columnId":"col-last-seen"},"orderDirection":"desc","otherBucket":false,"missingBucket":false}},"col-ua-type":{"label":"UA Type","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.ua_type_name","params":{"sortField":"@timestamp"}},"col-vendor":{"label":"Vendor","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.vendor","params":{"sortField":"@timestamp"}},"col-height":{"label":"Height AGL (m)","dataType":"number","operationType":"last_value","isBucketed":false,"scale":"ratio","sourceField":"droneid.drone.height_agl","params":{"sortField":"@timestamp"}},"col-speed":{"label":"Speed (m/s)","dataType":"number","operationType":"last_value","isBucketed":false,"scale":"ratio","sourceField":"droneid.drone.speed","params":{"sortField":"@timestamp"}},"col-vspeed":{"label":"Vertical Speed (m/s)","dataType":"number","operationType":"last_value","isBucketed":false,"scale":"ratio","sourceField":"droneid.drone.vertical_speed","params":{"sortField":"@timestamp"}},"col-rssi":{"label":"RSSI (dBm)","dataType":"number","operationType":"last_value","isBucketed":false,"scale":"ratio","sourceField":"droneid.rf.rssi","params":{"sortField":"@timestamp"}},"col-rssi-trend":{"label":"RSSI Trend","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.rf.rssi_trend","params":{"sortField":"@timestamp"}},"col-bearing":{"label":"Bearing","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.range.drone_bearing_cardinal","params":{"sortField":"@timestamp"}},"col-bvlos":{"label":"BVLOS","dataType":"boolean","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.operator.bvlos","params":{"sortField":"@timestamp"}},"col-state":{"label":"State","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.state","params":{"sortField":"@timestamp"}},"col-dwell":{"label":"Dwell (s)","dataType":"number","operationType":"max","isBucketed":false,"scale":"ratio","sourceField":"droneid.time_in_area_s"},"col-last-seen":{"label":"Last Seen","dataType":"date","operationType":"max","isBucketed":false,"scale":"interval","sourceField":"@timestamp"}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","columns":[{"columnId":"col-serial","hidden":false},{"columnId":"col-ua-type","hidden":false},{"columnId":"col-vendor","hidden":false},{"columnId":"col-height","hidden":false},{"columnId":"col-speed","hidden":false},{"columnId":"col-vspeed","hidden":false},{"columnId":"col-rssi","hidden":false},{"columnId":"col-rssi-trend","hidden":false},{"columnId":"col-bearing","hidden":false},{"columnId":"col-bvlos","hidden":false},{"columnId":"col-state","hidden":false},{"columnId":"col-dwell","hidden":false},{"columnId":"col-last-seen","hidden":false}],"sorting":{"columnId":"col-last-seen","direction":"desc"}},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-area-presence","attributes":{"title":"Drone Presence Timeline","description":"Area chart: detection count per drone over time (Gantt-style presence view)","visualizationType":"lnsXY","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-time","col-serial","col-count"],"columns":{"col-time":{"label":"@timestamp","dataType":"date","operationType":"date_histogram","isBucketed":true,"scale":"interval","sourceField":"@timestamp","params":{"interval":"auto","includeEmptyRows":true}},"col-serial":{"label":"Serial Number","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"droneid.serial_number","params":{"size":20,"orderBy":{"type":"column","columnId":"col-count"},"orderDirection":"desc","otherBucket":false,"missingBucket":false}},"col-count":{"label":"Detections","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"}},"incompleteColumns":{}}}}},"visualization":{"legend":{"isVisible":true,"position":"bottom"},"valueLabels":"hide","fittingFunction":"None","axisTitlesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"gridlinesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"preferredSeriesType":"area","layers":[{"layerId":"layer1","accessors":["col-count"],"xAccessor":"col-time","splitAccessor":"col-serial","seriesType":"area","layerType":"data"}]},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"dashboard","id":"sparrow-droneid-tactical","attributes":{"title":"Sparrow DroneID \u2014 Tactical","description":"Real-time tactical overview: active drone count, alert count, closest drone, max altitude, live map, drone roster, and presence timeline.","hits":0,"timeRestore":true,"timeTo":"now","timeFrom":"now-24h","refreshInterval":{"pause":false,"value":30000},"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":false,\"hidePanelTitles\":false}","version":1,"panelsJSON":"[{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":0,\"w\":6,\"h\":6,\"i\":\"panel-1\"},\"panelIndex\":\"panel-1\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_1\"},{\"type\":\"lens\",\"gridData\":{\"x\":6,\"y\":0,\"w\":6,\"h\":6,\"i\":\"panel-2\"},\"panelIndex\":\"panel-2\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_2\"},{\"type\":\"lens\",\"gridData\":{\"x\":12,\"y\":0,\"w\":6,\"h\":6,\"i\":\"panel-3\"},\"panelIndex\":\"panel-3\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_3\"},{\"type\":\"lens\",\"gridData\":{\"x\":18,\"y\":0,\"w\":6,\"h\":6,\"i\":\"panel-4\"},\"panelIndex\":\"panel-4\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_4\"},{\"type\":\"map\",\"gridData\":{\"x\":0,\"y\":6,\"w\":24,\"h\":20,\"i\":\"panel-5\"},\"panelIndex\":\"panel-5\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_5\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":26,\"w\":24,\"h\":16,\"i\":\"panel-6\"},\"panelIndex\":\"panel-6\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_6\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":42,\"w\":24,\"h\":12,\"i\":\"panel-7\"},\"panelIndex\":\"panel-7\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_7\"}]"},"references":[{"name":"panel_1","type":"lens","id":"sparrow-droneid-metric-active-drones"},{"name":"panel_2","type":"lens","id":"sparrow-droneid-metric-active-alerts"},{"name":"panel_3","type":"lens","id":"sparrow-droneid-metric-max-altitude"},{"name":"panel_4","type":"lens","id":"sparrow-droneid-metric-closest-drone"},{"name":"panel_5","type":"map","id":"sparrow-droneid-map-tactical"},{"name":"panel_6","type":"lens","id":"sparrow-droneid-table-drone-roster"},{"name":"panel_7","type":"lens","id":"sparrow-droneid-area-presence"},{"name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern","id":"sparrow-droneid-index-pattern"}],"typeMigrationVersion":"10.2.0","coreMigrationVersion":"8.8.0"}
{"type":"lens","id":"sparrow-droneid-table-sensor-health","attributes":{"title":"Sensor Health Table","description":"Per-sensor: last detection, total detections (24h), unique drones seen, average RSSI","visualizationType":"lnsDatatable","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-sensor","col-last-det","col-total","col-unique","col-avg-rssi"],"columns":{"col-sensor":{"label":"Sensor","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"observer.name","params":{"size":100,"orderBy":{"type":"column","columnId":"col-total"},"orderDirection":"desc","otherBucket":false,"missingBucket":false}},"col-last-det":{"label":"Last Detection","dataType":"date","operationType":"max","isBucketed":false,"scale":"interval","sourceField":"@timestamp"},"col-total":{"label":"Total Detections (24h)","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"},"col-unique":{"label":"Unique Drones","dataType":"number","operationType":"unique_count","isBucketed":false,"scale":"ratio","sourceField":"droneid.serial_number"},"col-avg-rssi":{"label":"Avg RSSI (dBm)","dataType":"number","operationType":"average","isBucketed":false,"scale":"ratio","sourceField":"droneid.rf.rssi"}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","columns":[{"columnId":"col-sensor","hidden":false},{"columnId":"col-last-det","hidden":false},{"columnId":"col-total","hidden":false},{"columnId":"col-unique","hidden":false},{"columnId":"col-avg-rssi","hidden":false}],"sorting":{"columnId":"col-total","direction":"desc"}},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-bar-detections-per-sensor","attributes":{"title":"Detections per Sensor per Hour","description":"Stacked bar chart: date histogram split by sensor name","visualizationType":"lnsXY","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-time","col-sensor","col-count"],"columns":{"col-time":{"label":"@timestamp","dataType":"date","operationType":"date_histogram","isBucketed":true,"scale":"interval","sourceField":"@timestamp","params":{"interval":"1h","includeEmptyRows":true}},"col-sensor":{"label":"Sensor","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"observer.name","params":{"size":20,"orderBy":{"type":"column","columnId":"col-count"},"orderDirection":"desc","otherBucket":true,"missingBucket":false}},"col-count":{"label":"Detections","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"}},"incompleteColumns":{}}}}},"visualization":{"legend":{"isVisible":true,"position":"bottom"},"valueLabels":"hide","fittingFunction":"None","axisTitlesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"gridlinesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"preferredSeriesType":"bar_stacked","layers":[{"layerId":"layer1","accessors":["col-count"],"xAccessor":"col-time","splitAccessor":"col-sensor","seriesType":"bar_stacked","layerType":"data"}]},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-scatter-range-rssi","attributes":{"title":"Range vs RSSI Scatter","description":"Scatter plot: drone range (X) vs RF RSSI (Y), colored by sensor \u2014 shows per-sensor detection envelopes","visualizationType":"lnsXY","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-sensor","col-range","col-rssi"],"columns":{"col-sensor":{"label":"Sensor","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"observer.name","params":{"size":20,"orderBy":{"type":"column","columnId":"col-rssi"},"orderDirection":"desc","otherBucket":false,"missingBucket":false}},"col-range":{"label":"Range (m)","dataType":"number","operationType":"average","isBucketed":false,"scale":"ratio","sourceField":"droneid.range.drone_m"},"col-rssi":{"label":"RSSI (dBm)","dataType":"number","operationType":"average","isBucketed":false,"scale":"ratio","sourceField":"droneid.rf.rssi"}},"incompleteColumns":{}}}}},"visualization":{"legend":{"isVisible":true,"position":"right"},"valueLabels":"hide","fittingFunction":"None","axisTitlesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"gridlinesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"preferredSeriesType":"line","layers":[{"layerId":"layer1","accessors":["col-rssi"],"xAccessor":"col-range","splitAccessor":"col-sensor","seriesType":"line","layerType":"data"}]},"query":{"query":"event.kind: event AND droneid.range.drone_m: *","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"map","id":"sparrow-droneid-map-sensor-health","attributes":{"title":"Sensor Positions","description":"Sensor/receiver locations from heartbeat and detection data","mapStateJSON":"{\"zoom\":4,\"center\":{\"lon\":0,\"lat\":0},\"timeFilters\":{\"from\":\"now-24h\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":false,\"interval\":30000},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":true}}","layerListJSON":"[{\"sourceDescriptor\":{\"type\":\"EMS_TMS\",\"isAutoSelect\":true,\"lightModeDefault\":\"road_map_desaturated\"},\"id\":\"basemap-ems\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"TILE\"},\"type\":\"EMS_VECTOR_TILE\"},{\"sourceDescriptor\":{\"type\":\"ES_SEARCH\",\"indexPatternRefName\":\"layer_1_source_index_pattern\",\"geoField\":\"observer.geo.location\",\"filterByMapBounds\":true,\"tooltipProperties\":[\"observer.name\",\"observer.hostname\",\"droneid.heartbeat.active_drones\",\"droneid.heartbeat.monitoring\",\"droneid.heartbeat.uptime_s\"],\"sortField\":\"@timestamp\",\"sortOrder\":\"desc\",\"scalingType\":\"TOP_HITS\",\"topHitsSplitField\":\"observer.name\",\"topHitsSize\":1},\"id\":\"sensor-positions\",\"label\":\"Sensors\",\"minZoom\":0,\"maxZoom\":24,\"alpha\":0.9,\"visible\":true,\"type\":\"VECTOR\",\"query\":{\"query\":\"observer.geo.location:*\",\"language\":\"kuery\"},\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"square\"}},\"fillColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#2980b9\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#1a5276\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":6}},\"labelText\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"name\":\"observer.name\",\"origin\":\"source\"}}},\"labelSize\":{\"type\":\"STATIC\",\"options\":{\"size\":12}}}}}]","uiStateJSON":"{\"isLayerTOCOpen\":true}"},"references":[{"name":"layer_1_source_index_pattern","type":"index-pattern","id":"sparrow-droneid-index-pattern"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"dashboard","id":"sparrow-droneid-sensor-health","attributes":{"title":"Sparrow DroneID \u2014 Sensor Health","description":"Per-sensor coverage: last detection timestamp, detection volume, unique drones tracked, average RSSI, detections-per-hour chart, and range-vs-RSSI scatter.","hits":0,"timeRestore":true,"timeTo":"now","timeFrom":"now-24h","refreshInterval":{"pause":false,"value":60000},"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":true,\"hidePanelTitles\":false}","version":1,"panelsJSON":"[{\"type\":\"map\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":20,\"i\":\"panel-map\"},\"panelIndex\":\"panel-map\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_map\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":20,\"w\":24,\"h\":14,\"i\":\"panel-1\"},\"panelIndex\":\"panel-1\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_1\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":34,\"w\":14,\"h\":14,\"i\":\"panel-2\"},\"panelIndex\":\"panel-2\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_2\"},{\"type\":\"lens\",\"gridData\":{\"x\":14,\"y\":34,\"w\":10,\"h\":14,\"i\":\"panel-3\"},\"panelIndex\":\"panel-3\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_3\"}]"},"references":[{"name":"panel_1","type":"lens","id":"sparrow-droneid-table-sensor-health"},{"name":"panel_2","type":"lens","id":"sparrow-droneid-bar-detections-per-sensor"},{"name":"panel_3","type":"lens","id":"sparrow-droneid-scatter-range-rssi"},{"name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern","id":"sparrow-droneid-index-pattern"},{"name":"panel_map","type":"map","id":"sparrow-droneid-map-sensor-health"}],"typeMigrationVersion":"10.2.0","coreMigrationVersion":"8.8.0"}
{"type":"lens","id":"sparrow-droneid-table-known-drones","attributes":{"title":"Known Drones","description":"Intelligence table: per-drone detection count, sensors seen on, first/last seen, max dwell","visualizationType":"lnsDatatable","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-serial","col-count","col-sensors","col-first","col-last","col-dwell"],"columns":{"col-serial":{"label":"Serial Number","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"droneid.serial_number","params":{"size":500,"orderBy":{"type":"column","columnId":"col-count"},"orderDirection":"desc","otherBucket":false,"missingBucket":false}},"col-count":{"label":"Detections","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"},"col-sensors":{"label":"Sensors","dataType":"number","operationType":"unique_count","isBucketed":false,"scale":"ratio","sourceField":"observer.name"},"col-first":{"label":"First Seen","dataType":"date","operationType":"min","isBucketed":false,"scale":"interval","sourceField":"@timestamp"},"col-last":{"label":"Last Seen","dataType":"date","operationType":"max","isBucketed":false,"scale":"interval","sourceField":"@timestamp"},"col-dwell":{"label":"Max Dwell (s)","dataType":"number","operationType":"max","isBucketed":false,"scale":"ratio","sourceField":"droneid.time_in_area_s"}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","columns":[{"columnId":"col-serial","hidden":false},{"columnId":"col-count","hidden":false},{"columnId":"col-sensors","hidden":false},{"columnId":"col-first","hidden":false},{"columnId":"col-last","hidden":false},{"columnId":"col-dwell","hidden":false}],"sorting":{"columnId":"col-count","direction":"desc"}},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-heatmap-activity","attributes":{"title":"Activity Heatmap \u2014 Hour of Day vs Day of Week","description":"Heatmap showing when drones are most active: columns=hour-of-day (0-23), rows=day-of-week","visualizationType":"lnsHeatmap","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-dow","col-hour","col-count"],"columns":{"col-dow":{"label":"Day of Week","dataType":"string","operationType":"date_histogram","isBucketed":true,"scale":"interval","sourceField":"@timestamp","params":{"interval":"1d","includeEmptyRows":true}},"col-hour":{"label":"Hour of Day","dataType":"number","operationType":"formula","isBucketed":false,"scale":"ratio","params":{"formula":"hour(@timestamp)","isFormulaBroken":false},"references":[]},"col-count":{"label":"Detections","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"}},"incompleteColumns":{}}}}},"visualization":{"shape":"heatmap","layerId":"layer1","layerType":"data","xAccessor":"col-dow","yAccessor":"col-hour","valueAccessor":"col-count","legend":{"isVisible":true,"position":"right","type":"heatmap"},"gridConfig":{"isCellLabelVisible":false,"isYAxisLabelVisible":true,"isXAxisLabelVisible":true},"palette":{"type":"palette","name":"temperature"}},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"visualization","id":"sparrow-droneid-pie-protocol","attributes":{"title":"Protocol Distribution","description":"Detection count by protocol type","visState":"{\"title\": \"Protocol Distribution\", \"type\": \"pie\", \"aggs\": [{\"id\": \"1\", \"enabled\": true, \"type\": \"count\", \"params\": {}, \"schema\": \"metric\"}, {\"id\": \"2\", \"enabled\": true, \"type\": \"terms\", \"params\": {\"field\": \"droneid.protocol\", \"orderBy\": \"1\", \"order\": \"desc\", \"size\": 10, \"otherBucket\": false, \"missingBucket\": false}, \"schema\": \"segment\"}], \"params\": {\"type\": \"pie\", \"addTooltip\": true, \"addLegend\": true, \"legendPosition\": \"right\", \"isDonut\": true, \"labels\": {\"show\": true, \"values\": true, \"last_level\": true, \"truncate\": 100}}}","uiStateJSON":"{}","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\": {\"query\": \"event.kind: event\", \"language\": \"kuery\"}, \"filter\": [], \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"}"}},"references":[{"name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern","id":"sparrow-droneid-index-pattern"}],"coreMigrationVersion":"8.0.0","typeMigrationVersion":"7.14.0"}
{"type":"lens","id":"sparrow-droneid-bar-altitude-dist","attributes":{"title":"Altitude Class Distribution","description":"Bar chart: detection count by altitude class \u2014 GROUND, LOW, MEDIUM, HIGH, ILLEGAL","visualizationType":"lnsXY","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-alt-class","col-count"],"columns":{"col-alt-class":{"label":"Altitude Class","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"droneid.drone.altitude_class","params":{"size":10,"orderBy":{"type":"alphabetical","fallback":false},"orderDirection":"asc","otherBucket":false,"missingBucket":false}},"col-count":{"label":"Detections","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"}},"incompleteColumns":{}}}}},"visualization":{"legend":{"isVisible":false,"position":"bottom"},"valueLabels":"show","fittingFunction":"None","axisTitlesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"gridlinesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"preferredSeriesType":"bar","layers":[{"layerId":"layer1","accessors":["col-count"],"xAccessor":"col-alt-class","seriesType":"bar","layerType":"data"}]},"query":{"query":"event.kind: event","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"dashboard","id":"sparrow-droneid-intelligence","attributes":{"title":"Sparrow DroneID \u2014 Intelligence","description":"Historical intelligence: known drone registry, activity heatmap by time-of-week, protocol mix, and altitude class distribution.","hits":0,"timeRestore":true,"timeTo":"now","timeFrom":"now-7d","refreshInterval":{"pause":true,"value":0},"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":true,\"hidePanelTitles\":false}","version":1,"panelsJSON":"[{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":14,\"i\":\"panel-1\"},\"panelIndex\":\"panel-1\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_1\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":14,\"w\":12,\"h\":14,\"i\":\"panel-2\"},\"panelIndex\":\"panel-2\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_2\"},{\"type\":\"visualization\",\"gridData\":{\"x\":12,\"y\":14,\"w\":6,\"h\":14,\"i\":\"panel-3\"},\"panelIndex\":\"panel-3\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_3\"},{\"type\":\"lens\",\"gridData\":{\"x\":18,\"y\":14,\"w\":6,\"h\":14,\"i\":\"panel-4\"},\"panelIndex\":\"panel-4\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_4\"}]"},"references":[{"name":"panel_1","type":"lens","id":"sparrow-droneid-table-known-drones"},{"name":"panel_2","type":"lens","id":"sparrow-droneid-heatmap-activity"},{"name":"panel_3","type":"visualization","id":"sparrow-droneid-pie-protocol"},{"name":"panel_4","type":"lens","id":"sparrow-droneid-bar-altitude-dist"},{"name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern","id":"sparrow-droneid-index-pattern"}],"typeMigrationVersion":"10.2.0","coreMigrationVersion":"8.8.0"}
{"type":"lens","id":"sparrow-droneid-table-alerts","attributes":{"title":"Alert Log","description":"Sortable alert log: timestamp, serial number, alert type, detail, state, sensor","visualizationType":"lnsDatatable","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-ts","col-serial","col-alert-type","col-detail","col-alert-state","col-sensor"],"columns":{"col-ts":{"label":"@timestamp","dataType":"date","operationType":"max","isBucketed":false,"scale":"interval","sourceField":"@timestamp"},"col-serial":{"label":"Serial Number","dataType":"string","operationType":"terms","isBucketed":true,"scale":"ordinal","sourceField":"droneid.serial_number","params":{"size":500,"orderBy":{"type":"column","columnId":"col-ts"},"orderDirection":"desc","otherBucket":false,"missingBucket":false}},"col-alert-type":{"label":"Alert Type","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.alert.type","params":{"sortField":"@timestamp"}},"col-detail":{"label":"Detail","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.alert.detail","params":{"sortField":"@timestamp"}},"col-alert-state":{"label":"Alert State","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"droneid.alert.state","params":{"sortField":"@timestamp"}},"col-sensor":{"label":"Sensor","dataType":"string","operationType":"last_value","isBucketed":false,"scale":"ordinal","sourceField":"observer.name","params":{"sortField":"@timestamp"}}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","columns":[{"columnId":"col-ts","hidden":false},{"columnId":"col-serial","hidden":false},{"columnId":"col-alert-type","hidden":false},{"columnId":"col-detail","hidden":false},{"columnId":"col-alert-state","hidden":false},{"columnId":"col-sensor","hidden":false}],"sorting":{"columnId":"col-ts","direction":"desc"}},"query":{"query":"event.kind: alert","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"visualization","id":"sparrow-droneid-pie-alert-types","attributes":{"title":"Alerts by Type","description":"Alert count by alert type","visState":"{\"title\": \"Alerts by Type\", \"type\": \"pie\", \"aggs\": [{\"id\": \"1\", \"enabled\": true, \"type\": \"count\", \"params\": {}, \"schema\": \"metric\"}, {\"id\": \"2\", \"enabled\": true, \"type\": \"terms\", \"params\": {\"field\": \"droneid.alert.type\", \"orderBy\": \"1\", \"order\": \"desc\", \"size\": 10, \"otherBucket\": false, \"missingBucket\": false}, \"schema\": \"segment\"}], \"params\": {\"type\": \"pie\", \"addTooltip\": true, \"addLegend\": true, \"legendPosition\": \"right\", \"isDonut\": true, \"labels\": {\"show\": true, \"values\": true, \"last_level\": true, \"truncate\": 100}}}","uiStateJSON":"{}","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\": {\"query\": \"event.kind: alert\", \"language\": \"kuery\"}, \"filter\": [], \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"}"}},"references":[{"name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern","id":"sparrow-droneid-index-pattern"}],"coreMigrationVersion":"8.0.0","typeMigrationVersion":"7.14.0"}
{"type":"lens","id":"sparrow-droneid-line-alert-timeline","attributes":{"title":"Alert Volume Over Time","description":"Line chart: alert count per time bucket \u2014 shows alert rate spikes","visualizationType":"lnsXY","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col-time","col-count"],"columns":{"col-time":{"label":"@timestamp","dataType":"date","operationType":"date_histogram","isBucketed":true,"scale":"interval","sourceField":"@timestamp","params":{"interval":"auto","includeEmptyRows":true}},"col-count":{"label":"Alerts","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___"}},"incompleteColumns":{}}}}},"visualization":{"legend":{"isVisible":false,"position":"bottom"},"valueLabels":"hide","fittingFunction":"None","axisTitlesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"gridlinesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"preferredSeriesType":"line","layers":[{"layerId":"layer1","accessors":["col-count"],"xAccessor":"col-time","seriesType":"line","layerType":"data"}]},"query":{"query":"event.kind: alert","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"lens","id":"sparrow-droneid-metric-unacknowledged","attributes":{"title":"Unacknowledged Alerts","description":"Count of alerts with state ACTIVE (not yet acknowledged)","visualizationType":"lnsMetric","state":{"datasourceStates":{"indexpattern":{"layers":{"layer1":{"columnOrder":["col1"],"columns":{"col1":{"label":"Unacknowledged","dataType":"number","operationType":"count","isBucketed":false,"scale":"ratio","sourceField":"___records___","filter":{"query":"event.kind: alert AND droneid.alert.state: ACTIVE","language":"kuery"},"params":{}}},"incompleteColumns":{}}}}},"visualization":{"layerId":"layer1","layerType":"data","metricAccessor":"col1","color":"#e74c3c"},"query":{"query":"","language":"kuery"},"filters":[]}},"references":[{"type":"index-pattern","id":"sparrow-droneid-index-pattern","name":"indexpattern-datasource-layer-layer1"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"map","id":"sparrow-droneid-map-alerts","attributes":{"title":"Alert Locations","description":"Geographic distribution of drone detection alerts","mapStateJSON":"{\"zoom\":4,\"center\":{\"lon\":0,\"lat\":0},\"timeFilters\":{\"from\":\"now-24h\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":false,\"interval\":30000},\"query\":{\"query\":\"event.kind: alert\",\"language\":\"kuery\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":true}}","layerListJSON":"[{\"sourceDescriptor\":{\"type\":\"EMS_TMS\",\"isAutoSelect\":true,\"lightModeDefault\":\"road_map_desaturated\"},\"id\":\"basemap-ems\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"TILE\"},\"type\":\"EMS_VECTOR_TILE\"},{\"sourceDescriptor\":{\"type\":\"ES_SEARCH\",\"indexPatternRefName\":\"layer_1_source_index_pattern\",\"geoField\":\"source.geo.location\",\"filterByMapBounds\":true,\"tooltipProperties\":[\"droneid.serial_number\",\"droneid.alert.type\",\"droneid.alert.detail\",\"observer.name\",\"@timestamp\"],\"sortField\":\"@timestamp\",\"sortOrder\":\"desc\"},\"id\":\"alert-locations\",\"label\":\"Alerts\",\"minZoom\":0,\"maxZoom\":24,\"alpha\":0.8,\"visible\":true,\"type\":\"VECTOR\",\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}},\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"name\":\"droneid.alert.type\",\"origin\":\"source\"},\"type\":\"CATEGORICAL\",\"colorCategory\":\"palette_0\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#c0392b\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":8}}}}}]","uiStateJSON":"{\"isLayerTOCOpen\":true}"},"references":[{"name":"layer_1_source_index_pattern","type":"index-pattern","id":"sparrow-droneid-index-pattern"}],"typeMigrationVersion":"7.14.0","coreMigrationVersion":"8.0.0"}
{"type":"dashboard","id":"sparrow-droneid-alerts","attributes":{"title":"Sparrow DroneID \u2014 Alerts","description":"Alert management: unacknowledged count, alert type distribution, alert volume timeline, and sortable alert log filtered to event.kind:alert.","hits":0,"timeRestore":true,"timeTo":"now","timeFrom":"now-24h","refreshInterval":{"pause":false,"value":30000},"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"event.kind: alert\",\"language\":\"kuery\"},\"filter\":[]}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":false,\"hidePanelTitles\":false}","version":1,"panelsJSON":"[{\"type\":\"map\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":16,\"i\":\"panel-map\"},\"panelIndex\":\"panel-map\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_map\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":16,\"w\":8,\"h\":6,\"i\":\"panel-1\"},\"panelIndex\":\"panel-1\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_1\"},{\"type\":\"visualization\",\"gridData\":{\"x\":8,\"y\":16,\"w\":8,\"h\":12,\"i\":\"panel-2\"},\"panelIndex\":\"panel-2\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_2\"},{\"type\":\"lens\",\"gridData\":{\"x\":16,\"y\":16,\"w\":8,\"h\":12,\"i\":\"panel-3\"},\"panelIndex\":\"panel-3\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_3\"},{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":28,\"w\":24,\"h\":16,\"i\":\"panel-4\"},\"panelIndex\":\"panel-4\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_4\"}]"},"references":[{"name":"panel_1","type":"lens","id":"sparrow-droneid-metric-unacknowledged"},{"name":"panel_2","type":"visualization","id":"sparrow-droneid-pie-alert-types"},{"name":"panel_3","type":"lens","id":"sparrow-droneid-line-alert-timeline"},{"name":"panel_4","type":"lens","id":"sparrow-droneid-table-alerts"},{"name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern","id":"sparrow-droneid-index-pattern"},{"name":"panel_map","type":"map","id":"sparrow-droneid-map-alerts"}],"typeMigrationVersion":"10.2.0","coreMigrationVersion":"8.8.0"}
