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

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

前提条件

  • 已安装日志服务 Java SDK。更多信息,请参见安装 Java SDK
  • 已添加 VOLCENGINE_ACCESS_KEY_ID 等环境变量。环境变量的配置方式请参考配置身份认证信息

    注意

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

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

消费日志

场景说明

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

示例代码

package com.volcengine.example.tls.demo;

import com.volcengine.model.tls.*;
import com.volcengine.model.tls.exception.LogException;
import com.volcengine.model.tls.request.*;
import com.volcengine.model.tls.response.*;
import com.volcengine.service.tls.TLSLogClient;

import java.util.ArrayList;
import java.util.List;


public class Demo {
    public static void main(String[] args) throws LogException {
        // 初始化客户端,推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。详细说明请参考https://www.volcengine.com/docs/6470/1166455
        // 使用 STS 时,ak 和 sk 均使用临时密钥,且设置 VOLCENGINE_TOKEN;不使用 STS 时,VOLCENGINE_TOKEN 部分传空
        ClientConfig clientConfig = new ClientConfig(System.getenv("VOLCENGINE_ENDPOINT"), System.getenv("VOLCENGINE_REGION"),
            System.getenv("VOLCENGINE_ACCESS_KEY_ID"), System.getenv("VOLCENGINE_ACCESS_KEY_SECRET"), System.getenv("VOLCENGINE_TOKEN"));
        TLSLogClient client = ClientBuilder.newClient(clientConfig);

        // 查询分析日志数据
        // 请根据您的需要,填写TopicId、Query、StartTime、EndTime、Limit等参数值
        // SearchLogs API的请求参数规范和限制请参阅https://www.volcengine.com/docs/6470/112195
        SearchLogsRequest searchLogsRequest = new SearchLogsRequest();
        searchLogsRequest.setTopicId("your-topic-id");
        searchLogsRequest.setQuery("*");
        searchLogsRequest.setStartTime(1346457600);
        searchLogsRequest.setEndTime(1630454400);
        searchLogsRequest.setLimit(20);
        SearchLogsResponseV2 searchLogsResponse = client.searchLogsV2(searchLogsRequest);

        // 打印SearchLogs接口返回值中的部分基本信息
        // 请根据您的需要,自行处理返回值中的其他信息
        System.out.println(searchLogsResponse.getResultStatus());
        System.out.println(searchLogsResponse.getHitCount());
        System.out.println(searchLogsResponse.getCount());
        System.out.println(searchLogsResponse.isAnalysis());
    }
}

相关文档

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

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

    API

    说明

    SearchLogs

    调用 SearchLogs 接口检索日志。

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