Nginx 日志分析

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分析
图:Top 分析页面

来路排行

统计访客来源域名/Referer,了解流量来源。

TopIPs
图:来路 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
  • 查看后端日志的详细错误信息