分析与监控 #

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