使用Elasticsearch SDK访问日志服务

更新时间: 2023-11-03 17:48:43

本文介绍如何使用Elasticsearch SDK和Elasticsearch兼容接口分析日志服务中的数据。

重要

本文档为阿里云原创文档,知识产权归阿里云所有,由于本文档旨在介绍阿里云与第三方产品交互的服务能力,因此可能会提及第三方公司或产品等名称。

前提条件

  • 已采集数据到日志服务标准型Logstore。具体操作,请参见数据采集

  • 已至少创建一个字段索引。具体操作,请参见创建索引

  • 已创建阿里云账号的AccessKey。具体操作,请参见访问密钥

    建议使用RAM用户的AccessKey,该RAM用户需具备Logstore的数据查询权限。您可以通过权限助手,配置权限。具体操作,请参见配置权限助手

注意事项

  • 仅支持Elasticsearch 7.x版本的SDK访问Elasticsearch兼容接口。

  • 在查询时不指定@timestamp,则默认查询24小时内的数据。

Python SDK访问示例

参见如下示例,查询2023-05-17 10:44:17~2023-05-17 10:49:17时间范围内的数据。

# pip install elasticsearch==7.10.0
from elasticsearch import Elasticsearch, helpers

es = Elasticsearch(hosts="https://etl-dev.cn-huhehaote.log.aliyuncs.com/es/",
                http_auth=('AccessKeyId', 'AccessKeySecrect'),
                   verify_certs=True, timeout=300)

es.ping()

r = es.search(
    index="etl-dev.estest",
    body=	{
        "query": {
            "bool": {
                "filter": [
                    {
                        "range": {
                            "@timestamp": {
                                "gte": 1684291457000,
                                "lte": 1684291757000,
                                "format": "epoch_millis"
                            }
                        }
                    }
                ]
            }
        }
     }  
    )

print(r)

参数名称

说明

hosts

数据访问地址。格式为https://${Project名称}.${Project访问域名}/es/。更多信息,请参见服务入口

重要

只支持使用HTTPS协议。

http_auth

输入阿里云AccessKey ID和阿里云AccessKey Secret。

建议使用RAM用户的AccessKey,该RAM用户需具备Logstore的数据查询权限。您可以通过权限助手,配置权限。具体操作,请参见配置权限助手。获取AccessKey的方法,请参见访问密钥

阿里云首页 日志服务 相关技术圈