检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何通过扩展完成SkyWalking的对接 通过以下对接SkyWalking的示例帮助您理解如何通过扩展API将函数与监控、可观察性、安全性和监管等工具集成。 当用已编译的语言实现扩展时,在本地编译生成二进制文件;使用非编译的语言实现扩展时,需要把对接第三方平台需要的依赖一起打包上传,且需要函数的运行时兼容。
制作扩展依赖包 准备一个zip包,zip包中用于扩展进程的编写,可以拉起一个扩展进程,zip包中限制如下: zip包中必须含有extension命名的文件夹,extension的文件夹中必须包含以extension为前缀,.sh文件类型的脚本文件,用于后续扩展启动扩展进程,例如zip包的文件结构如下:
扩展API参考 整个扩展进程由用户自己编写,扩展进程中必须完成以下工作才能成功启用扩展功能: 启动一个httpClient,向FunctionGraph函数发送注册请求。 启动一个httpServer,接收FunctionGraph函数发送过来的调用请求。 API方法 父主题: 扩展API
Name – 扩展名的完整文件名。必需:是。类型:字符串。 FunctionGraph-Extension-Address – 该扩展用于接收调用事件的服务端地址。必需:是。类型:字符串。例如:127.0.0.1:8081。 FunctionGraph需要使用扩展的完整文件名来验
扩展API 概述 操作步骤 制作扩展依赖包 扩展API参考 如何通过扩展完成SkyWalking的对接 父主题: 扩展及遥测API
接从函数异步发送到自定义目的地。 扩展作为独立进程在函数执行环境中运行。由于扩展作为进程运行,您可以使用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前
应用扩展 本案例展示了函数工作流服务配合使用云日志服务LTS实现日志云端处理并转储消息到LTS的功能。函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对指定LTS日志流中的日志数据进行个性化分析和处理,删除冗余的日志,节省空间和费用。 父主题:
如何在扩展中使用OpenTelemetry API 遥测是一种特殊的扩展,扩展进程中必须完成以下工作才能成功启用遥测功能: 在使用OpenTelemetry API之前,需要先注册拓展,具体内容可参考扩展API使用。 在拓展启动一个httpClient,向FunctionGraph发送注册Telemetry
应用扩展 本案例展示了函数工作流服务+LTS云日志服务实现日志云端处理并推送告警消息的功能,并将告警日志投递至OBS桶中集中存储。函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对存储在OBS桶中的日志数据进行个性化分析和处理。 父主题:
扩展及遥测API 扩展API 遥测API
操作步骤 创建函数,可参考开发指南中的各个语言函数创建流程,此处不再赘述。 创建依赖包,将扩展依赖包按照依赖包的添加规则添加到要执行的函数。 调用函数,则内部已经启动扩展进程。 父主题: 扩展API
通过FunctionGraph的OpenTelemetry API,扩展可以直接从FunctionGraph接收到函数执行期间初始化、调用期间的遥测数据,也可以收集函数执行期间和扩展执行期间的用户打印日志。 在FunctionGraph执行时,您可以从扩展向OpenTelemetry API发送订阅请
遥测API 概述 父主题: 扩展及遥测API
对应目录进行读写等操作,实现计算资源的动态扩展。此类型适合业务不太频繁的场景。 使用文件系统挂载功能具有以下优势: 函数执行空间相比于/tmp,可以极大扩展存储空间。 多个函数之间可以共享访问已经配置好的文件系统。 ECS计算资源动态扩展,利用ECS已有的存储能力实现更大的计算能力。
Event Type 描述 平台事件 platform 函数的执行情况 函数日志 function 来自函数代码的日志 扩展日志 extension 来自扩展代码的日志 platform类型事件包括以下几类: 类别 子类型 含义 数据结构 示例 开始调用事件 platform.initStart
请求体中必须包括上述JSON字段。 protocol为请求类型,限制为POST。 uri为扩展进程中遥测侦听器URI,用于接收FunctionGraph发送的遥测数据,其中PORT可选8081~8090。 Types为您希望扩展订阅的事件类型的信息,可选platform、function、extension。
FunctionGraph函数是否支持扩展? FunctionGraph目前已经集成了一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南。 用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理。 父主题: 通用问题
来及时感知代码运行情况。FunctionGraph支持通过创建告警规则完成对函数运行的实时监控,当函数指标出现满足设定规则时产生告警,通过短信或邮件的方式通知用户。客户收到告警后,可以查看函数日志来分析故障原因,解决故障。 FunctionGraph函数监控信息,提供了调用次数、
通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,过滤出告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。 将函数处理后的日志数据投递至OBS桶中集中存储,便于后续处理。处理流程如图1。 图1 处理流程
通过在函数工作流服务中创建CTS触发器获取订阅的资源操作信息,经由自定义函数对资源操作的信息进行分析和处理,产生告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。处理流程如图1所示。 图1 处理流程 案例价值点 通过CTS云审计服务,快速完成日志分析,对指定IP进行过滤。