文档

接入Go程序性能数据

更新时间:

Pprof是Go语言提供的性能分析工具之一,用于分析和优化Go程序的性能。您可以通过日志服务全栈可观测中的Golang拉取功能采集Go Pprof性能数据,以及在全栈可观测中分析及可视化展示数据。

前提条件

已创建全栈可观测实例。具体操作,请参见创建实例

使用限制

Logtail为Linux Logtail 1.7及以上版本。

工作原理

Go语言已内置Pprof性能数据暴露机制。在Go程序中启动内置的Pprof性能数据暴露机制后,Logtail会通过HTTP接口获取Pprof数据。

image.png

准备工作

在接入Go Pprof性能数据前,您需要先启动Go程序性能数据的暴露机制。您可以通过如下方式启动内置的暴露机制,也可以自定义暴露机制,但需保证Pprof数据暴露于{host}:{port}/debug/pprof/端口。下述示例表示将Pprof性能数据暴露于8080端口。

package main

import (
	"net/http"
	_ "net/http/pprof"
)

func main() {

	// do something...

	_ = http.ListenAndServe(":8080", nil)
}

创建Logtail采集配置

  1. 登录日志服务控制台

  2. 日志应用区域的智能运维页签下,单击全栈可观测

  3. SLS全栈可观测页面,单击目标实例。

  4. 在左侧导航栏中,单击性能监控

    首次在该实例中使用性能监控时,请单击立即开启

  5. 在左侧导航栏中,单击数据接入,然后在数据接入配置页面,找到Golang拉取

    首次创建目标监控项的接入配置时,打开创建开关,可进入配置页面。如果您已创建过接入配置,则单击创建图标,可进入配置页面。

  6. 创建机器组。

    • 如果您已有可用的机器组,请单击使用现有机器组

    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。

      1. ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击创建

        更多信息,请参见安装Logtail(ECS实例)

        重要

        如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您需要手动在目标服务器中安装Linux Logtail 1.7及以上版本。具体操作,请参见安装Logtail(Linux系统)。安装完成后,您还需要在该服务器上手动配置用户标识。具体操作,请参见配置用户标识

      2. 安装完成后,单击确认安装完毕

      3. 创建机器组页面,输入名称,单击下一步

        日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组创建用户自定义标识机器组

    重要

    请确保用于安装Logtail的服务器可连接目标服务器。

  7. 确认目标机器组已在应用机器组区域,单击下一步

    重要

    创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。

  8. 数据源设置配置向导中,配置如下参数,然后单击完成

    参数名称

    说明

    配置名称

    设置Logtail采集配置的名称。

    集群

    设置集群名称。

    设置该参数后,日志服务会为通过该Logtail采集配置采集到的Golang性能数据添加cluster=集群名称的标签。

    重要

    请确保该集群名称唯一,否则可能出现数据冲突。

    服务

    设置服务名称,下述设置的所有静态实例都归属该服务。例如服务名称为sls-mall,则下述设置的所有实例都归属于sls-mall服务。

    Profile白名单

    选择要采集的性能数据类别。

    采集间隔

    设置采集数据间隔时间,单位:秒。

    超时时间

    设置采集数据超时时间,单位:秒。

    最大Body大小

    设置采集数据的最大采集Body大小,单位:KB。

    静态实例数组

    添加实例信息,包括如下配置:

    • 主机:主机地址。

    • 端口:采集端口号。

    • Labels:为实例添加标签。

      重要

      请勿使用service作为标签。

设置完成后,日志服务将自动生成Metricstore等资产。更多信息,请参见资产说明

后续步骤

接入Go Pprof性能数据后,您可以通过性能监控探索功能进行性能问题排查。具体操作,请参见数据查询数据对比

  • 本页导读 (1)
文档反馈