为Golang应用安装探针
在为Golang应用手动安装ARMS探针并部署到SAE之后,您就可以通过ARMS监控该应用。通过ARMS,您可以查看包括应用拓扑、调用链路分析、SQL性能分析等在内的多种监控数据。本文主要介绍为应用手动安装ARMS探针并部署至SAE。
前提条件
-
确保您的镜像构建环境和公网或阿里云内网连通,且编译环境所在安全组已开放8080、9990、80、443的TCP出方向权限。
-
检查您的网络环境。具体要求,请参见Golang应用监控网络配置。
-
检查您的镜像构建环境操作系统和架构,以及Go版本和框架版本。具体要求,请参见ARMS应用监控支持的Go组件和框架。
限制条件
此功能仅适用于通过镜像部署的Go语言应用。
步骤概述
-
准备项目:本文以Demo项目为例进行说明。
-
制作镜像并上传至ACR镜像仓库:把项目制作成镜像,并推送至阿里云ACR仓库,为在SAE上创建微服务应用做准备。
-
创建应用:将上传到镜像仓库的镜像部署到SAE,并访问应用。
-
查看应用监控:查看应用产生的多种监控数据。
1. 准备项目
上传Go语言项目至您准备好的环境中。
2. 制作镜像并推送至镜像仓库
2.1 制作镜像
本文只介绍下载编译工具和构建应用的命令。
-
下载编译工具。
# 下载wget命令。 RUN yum -y install wget # 本文以从杭州公网地址下载编译工具为例进行说明。 RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo在实际的生产环境中,请根据构建机所在地域,选择对应的下载地址。具体的下载地址,请参见各地域对应的下载命令。
说明各地域下载的编译工具是相同的,如果您的公网环境可以访问OSS地址,可以直接使用对应操作系统和架构的杭州公网地址获取编译工具。
-
为二进制文件添加可执行权限。
RUN chmod +x instgo -
通过OpenAPI获取LicenseKey。具体方法,请参见列出LicenseKey。
-
使用
./instgo build替换go build命令构建应用。# 使用./instgo build命令编译Go项目。 # 把{licenseKey}替换为上一步获取到的LicenseKey。 RUN ./instgo build --licenseKey="{licenseKey}" --cacheDir=./如果您需要测试编译效果,或暂时无法获取到LicenseKey,可以添加
--dev来开启Dev编译模式,此模式下不需要传入LicenseKey。说明如果您原本编译命令中含有后续的编译参数,请在所有选项添加完毕后,添加
--分隔符,并将编译参数按照原有格式添加在后面。例如:RUN ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ -- {arg1} {arg2} ...-
-
初次编译时,探针会默认被下载到
/opt目录下,可以使用--cacheDirflag指定缓存目录。
-
2.2 推送镜像至镜像仓库
将制作成功的Go语言镜像推送至阿里云镜像仓库。具体操作,请参见推送拉取镜像(企业版)或推送拉取镜像(个人实例版)。
3. 创建Go应用
本文只介绍关键步骤。创建应用的详细步骤,请参见使用镜像部署应用。
3.1 创建应用
-
在设置镜像面板,选择技术栈语言为Go,然后选择具体的镜像版本。
选择 我的阿里云镜像 页签和 镜像服务个人版,在 选择镜像版本 下拉框中选择 go-demo-2。
-
在高级设置页面的应用监控区域,开启应用监控。
开启前需先修改应用的自定义镜像,在编译构建过程中手动安装探针。ARMS 为 SAE 用户每月提供 200 GB 免费额度。启用后,SAE 可提供请求数、错误数、耗时、实例 GC、堆内存等实时监控信息,并支持调用链分析功能。
-
单击创建应用。
3.2 访问测试
-
为应用添加公网访问地址。具体操作,请参见为应用绑定CLB并生成应用的公网或私网访问IP。
配置完成后,在应用访问设置页面的公网访问地址区域,可查看已添加的公网 CLB 访问记录,包括 IP 地址、端口(如
2222)及协议(如HTTP)。 -
复制公网访问地址,在浏览器进行访问测试。
5. 查看应用监控
在SAE侧查看
进入目标应用的基础信息页面,然后在左侧导航栏单击应用监控,最后在应用监控页面查看监控数据。
应用概览 页面展示请求数、错误数、平均耗时、实例数等监控指标及对应趋势图表,表明应用监控数据已正常采集。
在ARMS侧查看
登录ARMS控制台。
-
在左侧导航栏选择,然后在顶部菜单栏选择目标地域。
页面将展示已接入应用的 每秒请求数、错误率、平均响应时间、CVE漏洞数、智能洞察 及 响应时间趋势 等监控指标,确认应用数据采集正常。
-
在应用列表页面的搜索框,搜索目标应用,然后单击目标应用名称。
-
在监控详情页面查看监控数据。
