分析与监控 #
Netlify Analytics #
什么是 Netlify Analytics? #
Netlify Analytics 是内置的站点分析工具,提供访问数据和性能指标。
text
Analytics → 查看站点数据
功能特点 #
| 特点 | 说明 |
|---|---|
| 无需脚本 | 服务器端收集数据 |
| 隐私友好 | 不使用 Cookie |
| 实时数据 | 近实时更新 |
| 无广告拦截 | 数据更准确 |
启用 Analytics #
启用步骤 #
text
Site settings → Build & deploy → Analytics → Enable
定价 #
| 方案 | 价格 |
|---|---|
| Free | 不包含 |
| Pro | $9/站点/月 |
| Business | 包含 |
访问统计 #
访问概览 #
text
Analytics → Overview
显示:
- 页面浏览量
- 独立访客
- 带宽使用
- 请求统计
时间范围 #
可选择:
- 24 小时
- 7 天
- 30 天
- 自定义范围
页面浏览 #
text
Analytics → Pages
查看:
- 热门页面
- 浏览量趋势
- 页面排名
访客来源 #
text
Analytics → Sources
显示:
- 直接访问
- 搜索引擎
- 社交媒体
- 外部链接
地理位置 #
text
Analytics → Geo
查看访客地理分布:
- 国家/地区
- 城市分布
- 地图可视化
设备统计 #
text
Analytics → Devices
显示:
- 设备类型(桌面/移动/平板)
- 浏览器分布
- 操作系统
性能监控 #
响应时间 #
text
Analytics → Performance
监控:
- 平均响应时间
- 响应时间分布
- 慢请求分析
带宽使用 #
text
Analytics → Bandwidth
查看:
- 总带宽使用
- 按文件类型分布
- 趋势图表
函数性能 #
text
Analytics → Functions
监控 Serverless Functions:
- 调用次数
- 执行时间
- 错误率
日志分析 #
部署日志 #
text
Deploys → 选择部署 → Deploy log
查看构建过程:
- 构建命令输出
- 错误信息
- 警告提示
函数日志 #
text
Functions → 选择函数 → Logs
查看函数执行日志:
- console.log 输出
- 错误堆栈
- 执行时间
实时日志 #
bash
netlify functions:log function-name --tail
实时查看函数日志。
Web Vitals #
什么是 Web Vitals? #
Web Vitals 是 Google 定义的核心性能指标:
| 指标 | 全称 | 说明 |
|---|---|---|
| LCP | Largest Contentful Paint | 最大内容绘制时间 |
| FID | First Input Delay | 首次输入延迟 |
| CLS | Cumulative Layout Shift | 累积布局偏移 |
| INP | Interaction to Next Paint | 交互到下一次绘制 |
监控 Web Vitals #
使用 Netlify Analytics 或第三方工具:
javascript
// 在页面中收集 Web Vitals
import { getCLS, getFID, getLCP } from 'web-vitals'
getCLS(console.log)
getFID(console.log)
getLCP(console.log)
第三方监控集成 #
Google Analytics #
html
<!-- 在 HTML 中添加 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || []
function gtag(){dataLayer.push(arguments)}
gtag('js', new Date())
gtag('config', 'G-XXXXXXXXXX')
</script>
Sentry 错误监控 #
javascript
import * as Sentry from '@sentry/browser'
Sentry.init({
dsn: 'YOUR_DSN',
environment: process.env.NODE_ENV
})
LogRocket 会话回放 #
javascript
import LogRocket from 'logrocket'
LogRocket.init('your-app-id')
告警配置 #
部署通知 #
text
Site settings → Build & deploy → Deploy notifications
配置:
- 部署成功通知
- 部署失败通知
- 构建超时通知
函数错误通知 #
text
Site settings → Functions → Error notifications
Webhook 告警 #
json
{
"event": "deploy_failed",
"payload": {
"site_id": "xxx",
"deploy_id": "xxx",
"error_message": "Build failed"
}
}
性能优化建议 #
1. 启用 CDN 缓存 #
toml
[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
2. 压缩资源 #
- 使用构建工具压缩 CSS/JS
- 优化图片大小
- 启用 Gzip/Brotli
3. 减少函数执行时间 #
javascript
// 复用数据库连接
let connection
exports.handler = async () => {
if (!connection) {
connection = await createConnection()
}
// ...
}
4. 使用边缘缓存 #
toml
[[headers]]
for = "/*"
[headers.values]
Cache-Control = "public, max-age=3600"
监控最佳实践 #
1. 设置关键指标告警 #
- 部署失败率
- 函数错误率
- 响应时间
2. 定期审查日志 #
- 每周检查错误日志
- 分析慢请求
- 优化热点问题
3. 使用仪表板 #
创建监控仪表板:
- 关键指标概览
- 趋势分析
- 异常检测
4. 文档化阈值 #
定义正常范围:
- 响应时间 < 200ms
- 错误率 < 1%
- 可用性 > 99.9%
CLI 监控命令 #
查看站点状态 #
bash
netlify status
查看部署列表 #
bash
netlify deploy:list
查看函数日志 #
bash
netlify functions:log function-name
常见问题 #
Q: Analytics 数据不准确? #
Netlify Analytics 不使用客户端脚本,可能与其他工具有差异。
Q: 如何导出 Analytics 数据? #
目前不支持直接导出,建议使用 API 获取数据。
Q: 函数执行时间过长? #
检查:
- 数据库查询优化
- 外部 API 调用
- 代码性能
Q: 如何监控特定页面? #
使用第三方工具如 Google Analytics 进行更详细的页面监控。
下一步 #
掌握了分析与监控后,继续学习 故障排查 了解常见问题的解决方法!
最后更新:2026-03-28