使用案例

Elasticsearch适配使用示例

目标:利用Elasticsearch数据适配,将Elasticsearch数据通过图表进行展示。

方案:图表数据适配时,数据源选择Elasticsearch,通过Elasticsearch SQL语法查询系统Elasticsearch存储数据。

步骤:

  1. 确认要查询的Elasticsearch索引名称:通过URL地址http://<安装Elasticsearch的节点IP>:9100访问Elasticsearch管理页面,单击“索引标签”如-1所示,确认查询Elasticsearch数据所在的索引名称,下面以“h3c_m9k-2018.11.05”为例进行说明。

图-1 ES索引页面

 

  1. 在精细报告中创建一个想要适配的图表,在该图表数据适配页面中的数据源下拉框中选择“ES”,如-2所示。

图-2 数据源选择ES

 

  1. SQL输入框中按照Elasticsearch SQL的语法输入查询数据的SQL语句。例如:

select * from h3c_m9k-2018.11.05 limit 5

Elasticsearch SQLSQL语法基本相同,支持selectwhereorder bygroup byandorlike avg()count()last()max()min()sum()等关键字,查询时需注意以下几点:

  1. 此处仅支持select查询,不支持deleteupdate操作。

  1. 由于Elasticsearch存储数据量较大,在Elasticsearch SQL查询时默认只返回前200条记录,如果需要展示更多记录请在SQL语句后添加limit和想要返回的记录数。记录数若超过10000条会造成前端展示性能变差。

  1. 在进行order bygroup by等聚合查询时,聚合的字段如果是text类型,需要在字段后加“.keyword”,例如:

select count(*) from h3c_m9k-2018.11.05 group by ldp_dst_city.keyword

  1. where后加条件时,字符串需要用英文单引号括起来,例如:

select * from h3c_m9k-2018.11.05 where ldp_dst_city = 'Beijing' limit 5

  1. 如果需要查询某时间范围内的数据,仅需在步骤4中配置时间范围即可。

  1. 关于union的说明,此处仅支持一个union,暂不支持多个union查询。

  1. 进行时间设置:单击时间设置,在弹出的时间配置界面选择要查询数据的时间范围,如-3所示。此处提供两种时间范围选择方式,选择好查询时间范围后单击确认按钮。(时间范围是根据索引logTime字段进行查询的,若没有logTime字段,则会根据@timestamp字段查询。)

图-3 时间设置界面

 

  1. 单击查询,查看结果是否为要适配的数据。并分别选择映射字段单击应用查看效果,如-4所示。

图-4 适配完效果