You need to enable JavaScript to run this app.
导航
通过 Go SDK 检索分析日志
最近更新时间:2024.08.23 10:03:47首次发布时间:2023.11.23 22:10:08

日志服务支持通过 SDK 检索采集到服务端的日志数据。本文档通过示例代码演示如何通过 Go SDK 检索分析日志。

前提条件

  • 已安装日志服务 Go SDK。更多信息,请参见安装 Go SDK

  • 已执行以下命令安装 proto 依赖包。

    go get -u github.com/gogo/protobuf/proto
    
  • 已添加 VOLCENGINE_ACCESS_KEY_ID 等环境变量。环境变量的配置方式请参考配置身份认证信息

    注意

    推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。

  • 已采集到日志数据并设置了索引。您可以通过控制台方式设置索引,操作步骤请参考配置索引,也可以通过 CreateIndex API 设置索引,示例代码请参考通过 Go SDK 创建基础资源

消费日志

场景说明

日志服务支持通过 SDK 调用 SearchLogs API 检索分析日志数据。检索分析功能的使用限制可参考查询分析限制,检索分析语句的语法可参考检索语法分析语法。本文档以返回所有日志数据为例,演示如何通过 SDK 检索分析日志数据的操作步骤。

示例代码

package tls

import (
    "fmt"
    "github.com/volcengine/volc-sdk-golang/service/tls"
)

func main() {
    // 初始化客户端,推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。详细说明请参考https://www.volcengine.com/docs/6470/1166455
    // 使用 STS 时,ak 和 sk 均使用临时密钥,且设置 VOLCENGINE_TOKEN;不使用 STS 时,VOLCENGINE_TOKEN 部分传空
    client := tls.NewClient(os.Getenv("VOLCENGINE_ENDPOINT"), os.Getenv("VOLCENGINE_ACCESS_KEY_ID"),
        os.Getenv("VOLCENGINE_ACCESS_KEY_SECRET"), os.Getenv("VOLCENGINE_TOKEN"), os.Getenv("VOLCENGINE_REGION"))

    // 查询分析日志数据
    // 请根据您的需要,填写TopicId、Query、StartTime、EndTime、Limit等参数值
    // SearchLogs API的请求参数规范和限制请参阅https://www.volcengine.com/docs/6470/112195
    resp, err := client.SearchLogsV2(&tls.SearchLogsRequest{
       TopicID:   "TopicId",
       Query:     "*",
       StartTime: 1346457600000,
       EndTime:   1630454400000,
       Limit:     20,
    })
    if err != nil {
       // 处理错误
       fmt.Println(err.Error())
    }

    // 打印SearchLogs接口返回值中的部分基本信息
    // 请根据您的需要,自行处理返回值中的其他信息
    fmt.Println(resp.Status)
    fmt.Println(resp.HitCount)
    fmt.Println(resp.Count)
    fmt.Println(resp.Analysis)
}

相关文档

  • 通过 SDK 发送调用 API 的请求以后,您会收到服务端的响应,如果响应中包含 200 以外的状态码,表示接口调用失败。您可以参考各个 API 的文档查看对应的错误码信息。

  • 本示例中涉及到的 API 接口如下。您可以参考 API 文档查看对应接口的详细信息。

    API

    说明

    SearchLogs

    调用 SearchLogs 接口检索日志。

  • 关于日志服务检索分析的完整示例代码,请参考 TLS Go SDK Demo on GitHub