在为Golang应用手动安装ARMS探针并部署到SAE之后,您就可以通过ARMS监控该应用。通过ARMS,您可以查看包括应用拓扑、调用链路分析、SQL性能分析等在内的多种监控数据。本文主要介绍为应用手动安装ARMS探针并部署至SAE。
前提条件
确保您的镜像构建环境和公网或阿里云内网连通,且编译环境所在安全组已开放8080、9990、80、443的TCP出方向权限。
检查您的网络环境。具体要求,请参见Golang应用监控网络配置。
检查您的镜像构建环境操作系统和架构,以及Go版本和框架版本。具体要求,请参见Golang探针兼容性要求。
限制条件
此功能仅适用于通过镜像部署的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。具体方法,请参见DescribeTraceLicenseKey - 列出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
目录下,可以使用--cacheDir
flag指定缓存目录。
2.2 推送镜像至镜像仓库
将制作成功的Go语言镜像推送至阿里云镜像仓库。具体操作,请参见推送拉取镜像(企业版)或推送拉取镜像(个人实例版)。
3. 创建Go应用
本文只介绍关键步骤。创建应用的详细步骤,请参见通过镜像部署微服务应用。
3.1 创建应用
在设置镜像面板,选择技术栈语言为Go,然后选择具体的镜像版本。
在高级设置页面的应用监控区域,开启应用监控。
单击创建应用。
3.2 访问测试
为应用添加公网访问地址。具体操作,请参见为应用绑定CLB。
复制公网访问地址,在浏览器进行访问测试。
5. 查看应用监控
在SAE侧查看
进入目标应用的基础信息页面,然后在左侧导航栏单击应用监控,最后在应用监控页面查看监控数据。
在ARMS侧查看
登录ARMS控制台。
在左侧导航栏选择
,然后在顶部菜单栏选择目标地域。在应用列表页面的搜索框,搜索目标应用,然后单击目标应用名称。
在监控详情页面查看监控数据。