本文介绍如何使用Grafana访问日志服务的Elasticsearch兼容接口。
本文档为阿里云原创文档,知识产权归阿里云所有,由于本文档旨在介绍阿里云与第三方产品交互的服务能力,因此可能会提及第三方公司或产品等名称。
前提条件
ES对接支持Grafana 8.x 9.x 10.x 11.x版本。本文以Grafana 11.4.0为例进行说明。
已创建Project、标准型Logstore并完成日志采集配置。具体操作,请参见创建项目Project、创建Logstore和数据采集概述。
查询日志前,已配置索引。具体操作,请参见创建索引。
已创建RAM用户的AccessKey,并且为RAM用户授予Logstore的查询权限。具体操作,请参见RAM授权。
背景信息
Grafana是一款开源的数据可视化和监控平台,支持多种数据源,包括但不限于Graphite、InfluxDB、Prometheus、Elasticsearch等,并提供丰富的图表展示和数据查询功能。
针对习惯于使用Grafana分析Elasticsearch数据,但需要将Elasticsearch数据迁移到日志服务的用户,日志服务提供了兼容Elasticsearch的接口,便于他们使用Grafana的Elasticsearch数据源插件访问日志服务进行查询和分析。
另外,日志服务也提供了原生的Grafana数据源插件。更多信息,请参见对接Grafana。两种插件的区别如下表所示。
对比项 | Grafana+Elasticsearch兼容接口 | Grafana+SLS原生插件 |
使用的Grafana数据源插件 | Elasticsearch数据源插件(Grafana默认包含) | SLS数据源插件(需要手动安装) |
查询语法 | Elasticsearch DSL语法 | SLS索引查询语法、SQL分析语法 |
操作视频
本视频指导您使用Grafana访问日志服务的Elasticsearch兼容接口。
配置数据源
登录Grafana控制台。
在左侧导航栏,选择
。在Add new connection页签,找到并单击Elasticsearch。
然后再打开的Elasticsearch详情页中,单击Add new data source。
在Settings页签中,完成如下配置,然后单击Save&test测试连通性。如显示Data source successfully connected,表示配置正确。如果报错,请参见常见问题和错误排查。
重要参数配置说明如下表所示,其他参数可使用默认配置。
配置区域
参数名称
说明
Connection
URL
数据访问地址,格式为
https://${project}.${sls-endpoint}/es/
。其中${project}
为Project名称,${sls-endpoint}
为日志服务Project的访问域名。更多信息,请参见服务入口。例如:https://etl-guangzhou.cn-guangzhou.log.aliyuncs.com/es/
。重要必须使用HTTPS协议。
Authentication methods
Basic authentication
选择Basic authentication。
User
阿里云账号AccessKeyID。
建议使用RAM用户的AccessKey,该RAM用户需具备Logstore的数据查询权限。您可以通过权限助手,配置权限。具体操作,请参见配置权限助手。AccessKey的获取方法,请参见访问密钥。
Password
阿里云账号AccessKeySecret。
建议使用RAM用户的AccessKey,该RAM用户需具备Logstore的数据查询权限。您可以通过权限助手,配置权限。具体操作,请参见配置权限助手。AccessKey的获取方法,请参见访问密钥。
Elasticsearch details
Index name
Elasticsearch的索引模式名称。该名称的命名规则为
${日志服务Project名称}.${Logstore名称}
。例如Project名称为etl-guangzhou ,Logstore名称为es_test22,那么此处的名称为etl-guangzhou.es_test22
。
配置图表示例
创建数据源后,Grafana将可以访问存储在日志服务中的数据。通过ES的插件对接SLS的ES兼容接口,可以很方便地做图表可视化,而无需写SQL。下面以Nginx访问日志为例介绍具体配置示例。
整体QPS曲线
在Lucene Query框中可以填写过滤条件,语法是ES Lucene的语法。
统计status为200的曲线
在Lucene Query框中输入status: 200
即可查询满足这个条件的曲线。
统计Top请求的URI
Group By选择Terms,并选择request_uri字段。
统计RT分位数
Metric选择 Percentiles,并选择upstream_response_time字段, 在Values中可以选择具体的分位数值,比如50,95,99。
按Top请求URI查看RT分位数
Metric选择 Percentiles,并选择upstream_response_time字段,Values设置为99。Group By选择Terms,并选择request_uri字段。
查看非200的Top请求URI
在Lucene Query框中输入NOt status: 200
,Group By选择Terms,并选择request_uri字段。
查看非200的Top请求URI以及对应的Method
在Lucene Query框中输入NOT status: 200
,Group By选择Terms,并选择request_uri字段。并增加request_method的Group By。