APM Insight Go agent 安装
了解如何安装 Site24x7 APM Insight Go Agent 以监控 Golang 应用程序。
使用场景
假设您有一个基于 Golang 的零售应用程序(go_retail),该应用程序运行在以下端口上:
- 端口 8483:用于库存和定价的内部 API。
- 端口 8484:面向公众的结账或支付网关。
此应用程序对业务至关重要—这些端口上的任何速度减慢或宕机都会直接影响客户浏览、下订单或完成支付的能力,从而造成收入损失。
通过安装 Site24x7 的 Go agent 并跟踪服务器响应时间、请求吞吐量、Apdex 和 SQL/Redis 查询等指标,可以及早发现事务处理缓慢问题,确保最佳性能、快速故障排除以及不间断的用户体验。
前提条件
在为 Go 应用程序设置监控之前,请确保以下各项:
- 确保您的 Go 应用程序(例如 go_retail)正在运行。
- 所需端口已打开且可用于监控(例如 8483 和 8484)。
- 确认您拥有 Site24x7 许可证密钥。
- 使用以下命令安装 Site24x7 APMDataExporter:
wget -O InstallDataExporter.sh https://staticdownloads.site24x7.com/apminsight/S247DataExporter/linux/InstallDataExporter.sh
sudo -E sh InstallDataExporter.sh -license.key
- 使用以下命令下载 apm-insight-go-agent-install.sh 脚本,并确保该脚本具有执行权限:
wget https://staticdownloads.site24x7.com/apminsight/agents/golang/linux/amd64/apm-insight-go-agent-install.sh -O apm-insight-go-agent-install.sh
chmod +x apm-insight-go-agent-install.sh
步骤 1:验证正在运行的 Go 应用程序及端口
首先,确认您的 Go 应用程序正在运行,并监听预期端口:
sudo lsof -i -nP | grep -i go_
验证输出是否类似于:
go_retail 722628 user-001 7u IPv4 4619876 0t0 TCP *:50051 (LISTEN)
go_retail 722628 user-001 9u IPv4 4616579 0t0 TCP *:8483 (LISTEN)
go_retail 722628 user-001 10u IPv4 4616580 0t0 TCP *:8484 (LISTEN)

步骤 2:运行安装命令
命令如下:
sudo ./apm-insight-go-agent-install.sh -i -license_key=-apps="Retail_Application=go_retail:8484,8483;"
安装 Go agent
执行以下命令以安装 agent:
sudo ./apm-insight-go-agent-install.sh -i -license_key=license_key-apps=app_definitions
参数详情:
| 选项 | 描述 |
|---|---|
| -h | 显示帮助信息 |
| -i | 安装 agent(必填) |
| -license_key | 您的 Site24x7 APM Insight 许可证密钥(必填) |
| -apps | 定义要监控的 Go 应用程序(必填)。格式说明如下。 |
使用 -apps 定义应用程序
在安装 Go agent 部分所示的安装命令中,-apps 参数需要提供要监控的 Go 应用程序列表。请使用以下格式,通过进程名称和端口定义此列表。
<app_name>=<process_name>:<port1>[,<port2>];<app_name2>=<process_name2>:<port3>
详情:
- app_name:应用程序在 Site24x7 中的显示名称
- process_name:确切的进程名称
- port:应用程序使用的端口(多个端口用逗号分隔)
- 多个应用程序之间用分号分隔
示例:
-apps="my_go_app=my_process:8087;go_retail_app=go_retail:8088,8089"
支持的指标
Go agent 为您的应用程序监控以下指标:
| 指标 | 描述 |
|---|---|
| Application Server Response Time | 服务器响应时间的详细组件级细分 |
| Apdex | 基于响应时间的用户满意度评分 |
| Request Throughput | 每分钟处理的请求数量 |
| Top 5 Transactions by Avg. Response Time | 平均响应时间最高的事务 |
| Web Transactions | 包含计数、Apdex 和平均响应时间 |
| Service Map | 带有组件级细分的可视化地图 |
| MySQL queries | 查询执行详情和响应时间 |
| Redis queries | 查询执行详情和响应时间 |
基本配置文件
| 配置选项 | 描述 |
|---|---|
| Capture Database SQL Queries | 收集已执行的 SQL 查询 |
| Obfuscate SQL Parameters | 隐藏敏感的 SQL 参数值 |
| Stacktrace Threshold for SQLs in Transaction Trace | 设置堆栈跟踪捕获的最短执行时间 |
| Display Instance Port Number | 在 Site24x7 控制台中显示实例端口 |
| Enable Down Alert | 当实例宕机时发送告警 |
| Suppress Instance Alerts | 抑制所选实例的告警 |
| Normalize DB Operation Names | 对相似的数据库操作进行分组 |
| Logging Level | 调整日志详细程度 |
| Skip URL extensions | 排除对静态资源的跟踪 |
| Skip transactions | 从监控中排除特定事务 |
| Exclude grouping in transaction name | 防止事务名称聚合 |
Web 事务配置
| 配置选项 | 描述 |
|---|---|
| Apdex threshold | 定义 Apdex 计算的阈值 |
| Sampling factor | 控制采样事务的百分比 |
| Enable transaction tracing | 捕获详细的事务跟踪 |
| Transaction trace threshold | 触发跟踪捕获的最短响应时间 |
| Track HTTP error codes | 要监控的错误代码列表 |
| Ignore HTTP error codes | 要跳过的错误代码列表 |
| Capture HTTP bytes | 启用/禁用 HTTP 有效载荷大小的捕获 |
后续步骤
安装完成后,您的 Go 应用程序将开始向 Site24x7 控制台的 APM > Applications 下报告性能数据。
