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

news/2024/10/4 19:57:55/

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


http://www.ppmy.cn/news/1533949.html

相关文章

【微服务】springboot 实现动态修改接口返回值

目录 一、前言 二、动态修改接口返回结果实现方案总结 2.1 使用反射动态修改返回结果参数 2.1.1 认识反射 2.1.2 反射的作用 2.1.3 反射相关的类 2.1.4 反射实现接口参数动态修改实现思路 2.2 使用ControllerAdvice 注解动态修改返回结果参数​​​​​​​ 2.2.1 注解…

【鸿蒙学习】深入了解UIAbility组件

文章目录 组件概述生命周期启动模式基本用法 在鸿蒙操作系统(HarmonyOS)的开发过程中,UIAbility组件是构建应用界面的关键。本文将带您了解UIAbility组件的概述、生命周期、启动模式以及基本用法,并通过代码示例帮助您更好地掌握这…

【Android】Jetpack组件之LifeCycle

引言 Lifecycle组件是Android Jetpack架构组件之一,它提供了一种方法来管理Android组件(如Activity、Fragment和服务)的生命周期。Lifecycle组件帮助你执行与生命周期相关联的操作,确保在适当的时间发生适当的事情,例…

STM32中断控制点灯

1.使能GPIO时钟: __HAL_RCC_GPIOA_CLK_ENABLE(); //使能GPIOA时钟 2.设置GPIO输入模式 2.1设置AFIO(开启时钟,IO口映射) 2.2设置EXTI(屏蔽,上/下沿) 第二项使用 HAL_GPIO_Init ,…

Linux下的驱动开发一

设备驱动 设备驱动程序(Device Driver)是操作系统中的一种软件组件,负责管理和控制计算机硬件设备的工作。驱动程序通过提供操作系统和硬件设备之间的接口,使得操作系统和应用程序能够与硬件设备进行交互,而无需了解硬…

Elasticsearch基础_5.ES聚合功能

文章目录 一、数据聚合1.1、桶聚合1.1.1、单维度桶聚合1.1.2、聚合结果排序1.1.3、限定聚合范围 1.2、Metric聚合 二、聚合总结 本文只记录ES聚合基本用法,后续有更复杂的需求可以查看相关书籍,如《Elasticsearch搜索引擎构建入门与实战》 一、数据聚合…

Spring Boot+VUE《班级综合测评管理系统》

文章目录 前言 一、总体设计 二、数据库设计 概念模型设计: 教师管理实体图所示: 三、系统功能的详细设计与实现 1 管理员功能模块 2学生功能模块 3教师功能模块 四、资源下载链接 前言 本课题在充分研究了在Springboot框架基础上,采用B/S模式&#xff0…

15分钟学 Python 第34天 :小项目-个人博客网站

Day 34: 小项目-个人博客网站 1. 引言 随着互联网的普及,个人博客已成为分享知识、体验和见解的一个重要平台。在这一节中,我们将使用Python的Flask框架构建一个简单的个人博客网站。我们将通过实际的项目来学习如何搭建Web应用、处理用户输入以及管理…