Dashboard Studio中Choropleth Map无法渲染但Classic Dashboards正常的解决办法
解决Splunk Dashboard Studio世界地图渲染报错问题
问题背景
使用以下Splunk查询绘制世界地图(按国家计数上色),在搜索页、Classic Dashboards中可正常显示Choropleth Map,但添加到Dashboard Studio时出现报错:Cannot read properties of undefined (reading 'warn')
原查询:
...<ommitted> AS iso2 | search iso2=* | stats count by iso2 | lookup geo_attr_countries iso2 OUTPUT country | fields+ count, country | geom geo_countries featureIdField="country"
解决方案
Dashboard Studio的Choropleth Map组件不需要依赖geom命令生成的几何数据,它内置了地图边界信息,只需提供位置标识(国家名称/ISO代码)和数值字段即可。具体调整步骤如下:
1. 修改查询语句
移除末尾的geom命令,保留位置标识字段(推荐用iso2,匹配更精准)和计数字段:
...<ommitted> AS iso2 | search iso2=* | stats count by iso2 | lookup geo_attr_countries iso2 OUTPUT country | fields count, country, iso2
2. 配置Dashboard Studio地图组件
添加Choropleth Map可视化后,进行如下配置:
- 数据源选择修改后的查询
- 在Location设置项中,选择
iso2(或country)作为匹配地图的字段 - 在Value设置项中,选择
count作为颜色映射的数值字段
原因说明
Classic Dashboards和搜索页的地图依赖geom命令生成的几何数据来渲染,但Dashboard Studio的地图组件采用了不同的实现逻辑——它直接使用内置的标准化地图数据,通过位置标识字段(如ISO2代码)关联匹配,geom命令输出的格式与组件预期不兼容,从而触发渲染报错。
额外排查点
- 确保
iso2或country字段无空值,可通过| where iso2!=*过滤无效数据 - 若使用
country字段,需保证字段值与Dashboard Studio内置的国家名称完全一致(如避免"USA"和"United States"的差异,优先用iso2可规避此类问题)
内容的提问来源于stack exchange,提问作者Cyriac George
相关产品推荐
相关产品推荐

