Nginx 日志分析
Nginx 日志分析插件提供全面的访问日志采集、分析和可视化功能,帮助运维团队深入了解网站访问情况。
功能概览
图:Nginx 统计概况
数据源管理
支持主机 Nginx 数据源,通过 SSH 采集访问日志
实时统计
实时访客数、PV/UV、今昨对比、趋势图表
Top 分析
来路排行、受访页面、入口页面、地域分布
地理位置解析
使用 GeoLite2 自动解析 IP 地理位置
数据源配置
图:数据源配置列表
添加主机 Nginx 数据源
| 字段 | 说明 |
|---|---|
| 名称 | 数据源名称,如「生产环境官网」 |
| 类型 | 选择「主机 Nginx」 |
| 关联主机 | 选择已添加的主机资产 |
| 日志路径 | Nginx 访问日志路径,如 /var/log/nginx/access.log |
| 日志格式 | 日志格式类型:combined / json / custom |
| 采集间隔 | 日志采集周期,默认 60 秒 |
图:新增数据源配置
高级配置
| 选项 | 说明 |
|---|---|
| 地理位置解析 | 启用后自动解析 IP 的国家、省份、城市 |
| 会话跟踪 | 用于更精确的 UV 统计(开发中) |
| 数据保留天数 | 自动清理过期数据,默认 30 天 |
概况统计
图:概况统计详情
核心指标
| 指标 | 说明 |
|---|---|
| 实时访客 | 5 分钟内活跃的独立访客数 |
| 今日 PV | 今日页面浏览量 |
| 今日 UV | 今日独立访客数 |
| 实时 QPS | 当前每秒请求数 |
| 状态码分布 | 2xx/3xx/4xx/5xx 请求占比 |
今昨对比
自动对比今日与昨日同期数据,显示增长或下降趋势。
图:今昨数据对比
趋势图表
支持按小时和按天查看 PV/UV 趋势变化。
图:PV/UV 趋势图表
新老访客
分析新访客与回访访客的比例,了解用户粘性。
图:新老访客分析
Top 分析
图:Top 分析页面
来路排行
统计访客来源域名/Referer,了解流量来源。
图:来路 Top 10
受访页面
访问量最高的页面排行。
图:受访页面 Top 10
终端设备
分析访客使用的浏览器、操作系统、设备类型。
图:终端设备分布
数据日报
图:数据日报
查看每日汇总统计数据:
| 字段 | 说明 |
|---|---|
| 日期 | 统计日期 |
| 请求数 | 当日总请求数 |
| UV | 独立访客数 |
| 带宽 | 响应数据总量 |
| 平均响应时间 | 请求平均处理时间 |
| 2xx/3xx/4xx/5xx | 各状态码数量 |
访问明细
图:访问明细列表
筛选条件
| 条件 | 说明 |
|---|---|
| 时间范围 | 默认显示当天数据 |
| 客户端 IP | 按 IP 地址筛选 |
| 请求 URI | 按请求路径筛选 |
| 状态码 | 按 HTTP 状态码筛选 |
| 请求方法 | GET/POST/PUT/DELETE 等 |
日志详情
每条日志显示以下信息:
| 字段 | 说明 |
|---|---|
| 时间 | 请求时间 |
| 客户端 IP | 访客 IP 地址 |
| 地理位置 | 国家/省份/城市 |
| 请求 | 请求方法 + URI |
| 状态码 | HTTP 响应状态 |
| 响应大小 | 响应数据大小 |
| 响应时间 | 请求处理耗时 |
| 浏览器 | User-Agent 解析结果 |
| 设备类型 | Desktop/Mobile/Tablet |
日志格式配置
Combined 格式(默认)
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
JSON 格式(推荐)
log_format json_combined escape=json '{'
'"time_local":"$time_local",'
'"remote_addr":"$remote_addr",'
'"request":"$request",'
'"status": "$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"request_time":"$request_time",'
'"http_referer":"$http_referer",'
'"http_user_agent":"$http_user_agent"'
'}';
JSON 格式解析更可靠,推荐生产环境使用。
最佳实践
合理采集间隔
高流量站点建议 60 秒,低流量可设置更长
数据保留策略
根据磁盘空间设置合理的保留天数
指定时间范围
查询访问明细时务必指定时间范围,避免全表扫描
使用 JSON 格式
JSON 日志格式解析更稳定,推荐生产环境使用
常见问题
数据源状态显示错误?
检查以下几点:
- 主机是否可以 SSH 连接
- 日志文件路径是否正确
- 日志文件是否有读取权限
- 查看数据源的「最后错误」信息
地理位置显示"未知"?
可能原因:
- GeoLite2 数据库未下载或路径错误
- IP 地址为内网地址(如 192.168.x.x)
- IP 地址不在 GeoLite2 数据库中
概况页加载缓慢?
优化建议:
- 确保数据库表有正确的索引
- 检查是否有大量未聚合的原始数据
- 适当减少数据保留天数
日志解析失败?
检查以下几点:
- 日志格式配置是否与实际 Nginx 配置匹配
- 日志文件编码是否为 UTF-8
- 查看后端日志的详细错误信息