nginx的日志内容很多,一条条分析很累,也不实际。于是按自己的需求写了个面板,方便自己了解nginx运行情况。该项目免费开放使用。
- log_format jsonlog escape=json '{'
'"time_local":"$time_iso8601",'
'"timestamp":"$msec",'
'"remote_addr":"$remote_addr",'
'"host":"$host:$server_port",'
'"request":"$request",'
'"status": "$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"http_referer":"$http_referer",'
'"http_user_agent":"$http_user_agent",'
'"request_time":"$request_time",'
'"cache_status":"$upstream_cache_status",'
'"gzip_ratio":"$gzip_ratio"'
'}';
- #下载程序和IP定位库文件解压后(ipv4.bin,ipv6.bin)放在同一个目录下
- #port=服务端口(默认876)
- #token=自定义token(默认123)
- #log=你的nginx路径
- #logkeep=日志内容保留小时数(默认0,禁用本功能)
- #放置您自己的ssl证书到程序目录下,名字为cat.crt,cat.key.
- #访问https://您自己的IP:服务端口/?mytoken=您设置的token
- #例如下面的运行方式
- ./nginx_alog log=/var/log/nginx/access.log logkeep=375 token=123
- 系统变量说明:
- logkeep = 375
- token = 123
- 挂载目录说明:
- /nginx/log挂载到/home/nginx/log
- 暴露端口tcp 876
- 镜像下载:
- https://pcdn.ros6.com:9443/docker/nginx_alog_amd64.tar
- https://pcdn.ros6.com:9443/docker/nginx_alog_arm64.tar
更新日期:2025/06/28
更新内容:修正了日志文件大小计算有误差的BUG。调整了缓存数据存储到硬盘逻辑,避免每次分析都存储到硬盘,提高页面展示效率。新增zstd压缩方案,当数据量缓存超过50000条时,自动切换为zstd压缩方案。(大数据量情况下zstd压缩比和压缩速度均大幅优于gzip。)新增nginx日志内的gzip信息分析,方便运维人员用于优化nginx的压缩策略。大幅优化日志分析模块的IO占用效率,提升日志分析效率。大幅降低docker镜像大小,从172M降低至43M,节约下载镜像时间。
更新日期:2025/06/23
更新内容:新增多个应用的浏览器标识识别。优化缓存数据库读写逻辑,页面输出逻辑,日志文件读取逻辑,大大提高在面对超大日志时的处理效果和展示效率。(在处理80W+条日志时,缓存后的效率提升接近5倍。新增的非缓存数据分析效率提高10倍以上。)
更新日期:2025/06/12
更新内容:nginx面板优化了缓存日志的识别逻辑,优化了趋势图展示细节。favicon.ico制作一个小logo展示。http客户端版本分布展示。中国地区和国家分布图合并显示。
更新日期:2025/06/08
更新内容:可展示回复状态码,访问者来源TOP15,入口地址TOP15,IP传输占用TOP15,路径访问TOP50的最后若干条详细记录,方便排查故障和诊断体验。点击对图内数据即可展示详细日志。
更新日期:2025/06/07
更新内容:支持主机名解析,按主机名流量分布画饼图。支持在输出流量趋势图里区分缓存流量和未缓存流量分别显示。
更新日期:2025/05/25
更新内容:优化分析耗时模块。优化分析缓存逻辑(新增'"timestamp":"$msec",')。新增路径输出量,时流量,和其他趋势图合并在一起,可以手动切换显示。
更新日期:2025/05/08
更新内容:调整回复状态的颜色定义,能更加直观快速的排查问题。更新为最新的IP定位库。
更新日期:2025/03/28
更新内容:新增Docker版本,支持amd64及arm64平台。也可以在MikroTik的容器内运行哟。
更新日期:2025/02/09
更新内容:修正了IP类型分布鼠标悬停没有显示数据单位的BUG。更新了IP定位库到最新版。
更新日期:2024/10/22
更新内容:调整了IP类型分布饼图,能够同时显示IPV4,IPV6类型的访问次数及流量。修复了日期统计流量不准确的BUG,更新程序后请清空缓存重新计算。
更新日期:2024/09/27
更新内容:修复了不会自动裁剪日志的BUG,修正了日志总长度在纯IPV4或IPV6环境里天数计算不正确的BUG。
更新日期:2024/09/24
更新内容:修复了日输出流量趋势日期排序可能不正确的BUG。
更新日期:2024/09/19
更新内容:新增一部分浏览器标识的特征识别。
更新日期:2024/09/07
更新内容:优化日志裁剪模块的效率,日志裁剪功能改为每天最多只触发一次。日志保留小时数允许区间为1-720。调整部分趋势图颜色为固定,修复了统计日志总长度显示不正确的BUG。
更新日期:2024/09/03
更新内容:新增日IPV4,IPV6流量统计,和日流量合并到一个趋势图显示。
更新日期:2024/09/02
更新内容:新增日缓存量统计,和日流量合并到一个趋势图显示。
更新日期:2024/09/01
更新内容:程序可以按需自动重新加载IP定位库,开始支持热更新IP定位库。修复部分计数器BUG。
更新日期:2024/08/31
更新内容:新增路径流量统计,和路径访问量合并到一个趋势图显示。丰富图表,提升显示细节。
更新日期:2024/08/28
更新内容:新增日访问量统计,和日输出流量合并到一个趋势图显示。
更新日期:2024/08/27
更新内容:修复了路径统计量未包含缓存量的BUG,内置SSL私有证书,如果用户没有放置自己的证书,将会自动启用内置私有证书运行。优化页面加载内容,提升页面加载速度。
更新日期:2024/08/23
更新内容:进入公测阶段,开放下载。
更新日期:2024/08/22
更新内容:新增一部分浏览器标识的特征识别。
更新日期:2024/08/16
更新内容:新增日志文件裁切功能,默认不裁切日志文件,当配置裁切后,将删除超出配置小时期限的日志,避免累积大量日志占用磁盘空间。
更新日期:2024/08/13
更新内容:新增分析结果缓存功能,避免每次打开页面时重新分析全部数据,而是仅分析新增的数据。缓存会以文件的形式保存,即使程序重启后依然可以读取分析的缓存结果。新增清空缓存功能,可以从头分析日志文件,丢弃不在日志文件里的全部分析结果。程序已进入内测阶段。
更新日期:2024/08/12
更新内容:新增缓存状态识别,路径访问量中会显示缓存和未缓存的数量。
更新日期:2024/08/11
更新内容:新增日志日期长度在页面底部显示,对定位的国家和地区进行汉化,最后30天输出流量表里新增合计流量显示。将分析逻辑模块化并拆分为多线程并行计算,分析效率提升2倍以上。
更新日期:2024/08/02
更新内容:新增每日流量统计,路径访问统计。日志大小,分析时间在页面底部显示。
更新日期:2024/07/31
更新内容:完成基础日志数据分析,并使用web展示分析结果。