华为云LTS日志上报至观测云最佳实践

发布于:2024-10-09 ⋅ 阅读:(43) ⋅ 点赞:(0)

华为云LTS简介

华为云云日志服务(Log Tank Service,简称 LTS),用于收集来自主机和云服务的日志数据,通过海量日志数据的分析与处理,可以将云服务和应用程序的可用性和性能最大化,为您提供实时、高效、安全的日志处理能力,帮助您快速高效地进行实时决策分析、设备运维管理、用户业务趋势分析等。

方案说明

目前有两种 LTS 上报至观测云的方案,分别为:

1、通过观测云 Func 平台的官方脚本 观测云集成(华为云-LTS 日志采集)将 LTS 日志通过 API 拉取的方式获取日志,上报至观测云平台。

2、可以通过华为云函数工作流 FunctionGraph,将 LTS 作为触发器,有日志产生时将会触发 FunctionGraph 函数,然后由函数主动推送的方式将日志上报至观测云平台。

在实际验证中,方案 1 在日志量大的时候,接口有非常大的延迟。同时华为云侧会在 API 读取有调用限制,所以很难在生产环境中使用方案 1 。方案 2 为主动触发的方式上报日志,经验证能够承受住较大量的日志上报,所以该方案可以作为最佳方案上报日志至观测云平台。

前置条件

  • 在华为云上创建 FunctionGraph 和 LTS 服务
  • 开通观测云账号
  • DataKit 机器一台

接入步骤

配置DataKit服务

安装 DataKit
# 需要把token 改成观测云空间的实际token值(可在观测云控制台-->集成-->Datakit 上面获取)
DK_DATAWAY="https://openway.guance.com?token=tkn_xxxxxx" bash -c "$(curl -L https://static.guance.com/datakit/install.sh)" 
开启 logstreaming 采集器
cp /usr/local/datakit/conf.d/log/logstreaming.conf.sample /usr/local/datakit/conf.d/log/logstreaming.conf
重启 Datakit
# 在主机终端输入命令
datakit service -R
查看采集器是否开启
# 在主机终端输入命令
datakit monitor

创建 LTS 日志组并输出日志

我们可以通过很多种方式把日志输出至 LTS 服务,本文以 CDN 日志为例,配置 CDN 日志存储至 LTS ,配置完成之后我们可以查看在 LTS 日志组中是否有日志产生。

Guance forwarder functiongraph 函数

在华为云中创建 FunctionGraph 函数,在代码中修改对应的 datakit 的 IP 地址,也可以把datakit 的 IP 地址写入 FunctionGraph 函数的环境变量中。

函数 Github 地址

https://github.com/GuanceCloud/guance-serverless-functions

配置环境变量

同时需要在权限中设置函数配置委托,将 LTS 相关的权限授予 FunctionGraph 工作流

创建完成之后可以手动添加触发器,选择 LTS 日志组作为触发器

数据验证

设置完成之后,我们可以查看 FunctionGraph 是否有接收到 LTS 触发器发出的日志信息。在监控中查到有相应的指标和日志输出,说明日志触发成功。

同时可以登录观测云平台查看日志是否有上报成功。在日志的数据来源中,我们可以看到多出了一条 function_graph_forwarder⁠ 的数据来源(数据来源可以自行修改),这就是从 LTS 上报过来的日志数据。查看该来源可以看到相应的日志输出,说明日志上报成功。