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

    华为云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 上报过来的日志数据。查看该来源可以看到相应的日志输出,说明日志上报成功。

    联系我们

    加入社区

    微信扫码
    加入官方交流群

    立即体验

    在线开通,按量计费,真正的云服务!

    免费开启

    支持私有云环境部署

    代码托管平台