<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="新建Nginx_alog项目(公开)">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">熊茂祥</a><br />时间:2026-04-03 11:45<br />分类:<a href="index.php?action=list&amp;cid=5&amp;hash=">技术文档</a><br />标签:<a href="index.php?action=tags&amp;item=linux&amp;hash=">linux</a>, <a href="index.php?action=tags&amp;item=nginx&amp;hash=">nginx</a>, <a href="index.php?action=tags&amp;item=log&amp;hash=">log</a>, <a href="index.php?action=tags&amp;item=%E6%97%A5%E5%BF%97&amp;hash=">日志</a>, <a href="index.php?action=tags&amp;item=%E5%88%86%E6%9E%90&amp;hash=">分析</a><br />内容:
nginx的日志内容很多，一条条分析很累，也不实际。于是按自己的需求写了个面板，方便自己了解nginx运行情况。该项目免费开放使用。











NGINX日志格式配置（2025.12.10更新）


    ##日志格式

    log_format jsonlog escape=json '{'

            '&quot;time_local&quot;:&quot;$time_iso8601&quot;,'

            '&quot;timestamp&quot;:&quot;$msec&quot;,'

            '&quot;remote_addr&quot;:&quot;$remote_addr&quot;,'

            '&quot;host&quot;:&quot;$host:$server_port&quot;,' 

            '&quot;request&quot;:&quot;$request&quot;,'

            '&quot;status&quot;: &quot;$status&quot;,'

            '&quot;body_bytes_sent&quot;:&quot;$body_bytes_sent&quot;,'

            '&quot;http_referer&quot;:&quot;$http_referer&quot;,'

            '&quot;http_user_agent&quot;:&quot;$http_user_agent&quot;,'

            '&quot;request_time&quot;:&quot;$request_time&quot;,'

            '&quot;cache_status&quot;:&quot;$upstream_cache_status&quot;,'

            '&quot;gzip_ratio&quot;:&quot;$gzip_ratio&quot;'

        '}'; 

    

    

    ##文件接收

    access_log /var/log/nginx/access.log jsonlog;

    ##VSOCK接收

    #access_log syslog:server=unix:/tmp/nginx_alog.sock jsonlog;





运行方式（系统内执行）


    #下载程序和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 vcache=100000 conf=/etc/nginx/nginx.conf





运行方式（Docker）（2025.08.03更新）


    系统变量说明：

    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





程序下载地址（2026.04.03更新）


    https://pcdn.ros6.com:9443/file/nginx_alog/linux_x86_64

    https://pcdn.ros6.com:9443/file/nginx_alog/linux_arm64

    https://pcdn.ros6.com:9443/file/nginx_alog/linux_loong64

    https://pcdn.ros6.com:9443/file/nginx_alog/freebsd_x86_64

    https://pcdn.ros6.com:9443/file/nginx_alog/netbsd_x86_64





IP库下载地址（2026.04.03更新）


    https://pcdn.ros6.com:9443/file/nginx_alog/ipk.zip





更新时间：2026/04/03

更新内容：UI界面全面升级，境外地区IP定位解析仅精确到省级/洲。


更新时间：2026/03/14

更新内容：修复了部分数据状态卡在2月28号的BUG，优化状态获取和排序模块。


更新时间：2026/02/20

更新内容：修正了IP历史链接次数过期不会清除的BUG。

                新增页面回复支持ztsd压缩模式。

                路径统计合并，不再区分GET和POST等方式。

                修复了vsock日志缓存只能展示最后200条详细记录的BUG。

                图表模块的JS内置到程序里，不再依赖互联网调用。纯内网也可以正常使用。


更新时间：2026/01/24

更新内容：新增浏览器识别特征。

                优化日志模块分析效率，效率提升50%以上。

                vsock的日志改为记录时间降序搜索和排列。

                修复了展示总日志长度计数器，访问次数特定场景下计算不准确的BUG。

                定时清除大于1个月没有访问的IP速率记录。

                查看国家或者省级地区数据时，数据列表中新增时间，方便以更多维度判断数据可信度。

                减少缓存对内存的占用。

                优化了VSOCK数据落盘和读取的逻辑，提升性能。

                IP传输占用大小改为双图，新增IP链接占用比率饼图。

                由于大幅调整缓存结构，本次更新会导致丢失所有历史缓存记录。


更新时间：2026/01/01

更新内容：提升了日志分析模块的效率。修复了跨年时段趋势图数据不正确的BUG。


更新日期：2025/12/22

更新内容：优化了vsock日志搜索模块的效率。搜索日志时，展示vsock的处理耗时。


更新日期：2025/12/19

更新内容：点击访问者国家或省份分布后，IP列表可以直接点击进行IP日志查询。IP列表可以显示对应IP累计消耗流量,并且支持按流量排序。


更新日期：2025/12/17

更新内容：新增vsock负载状态，性能展示。没有访问成功的路径，不再记录到路径统计里。避免各种探测影响路径统计数据。新增多个应用的浏览器标识识别。


更新日期：2025/12/13

更新内容：新增vsock缓存日志落盘功能，每个小时自动压缩保存最新的vsock数据到硬盘。这样既兼顾了一段时间的日志回溯，也解决了高并发环境的磁盘IO占用，大量磁盘空间占用的问题。并且页面底部新增了&quot;保存&quot;按钮，可以随时手动保存数据到磁盘里。


更新日期：2025/12/12

更新内容：新增内存暂存日志，将VSOCK收到的内容放在内存里。可以回溯一定数量的日志。允许用户自定义缓存区大小，默认10W条。修正当解析日志回复时间为0时无法被回溯搜索到的问题。


更新日期：2025/12/10

更新内容：对境外定位翻译为中文地名（当前已支持几十个热门国家）。新增VSOCK模式(支持linux和netbsd，debian12默认支持，netbsd需要额外安装syslog-ng)，使用该模式接收日志将不再经过磁盘交互，直接通过内存进入统计数据。（本模式具备极高的分析效率，适合超高并发的站点统计分析，但无法回溯日志细节。）


更新日期：2025/12/08

更新内容：调整回复时间占用饼图的颜色（按时间范围固定显示的颜色），方便区分。优化IP定位解析模块，能对境外定位翻译为中文地名（目前仅支持数十个热门国家）。


更新日期：2025/12/05

更新内容：修正了当传输字节为0时没有统计次数的BUG。新增地区时段趋势里的数据列表支持排序，允许显示更多的IP列表数据（从20条扩展到50条），并支持精确解析详细IP地址。更新内置运营商IP段数据库，更新IP定位库数据库。


更新日期：2025/11/27

更新内容：优化了IP定位库缓存逻辑，增加命中率并降低占用率。新增多个应用的浏览器标识识别。


更新日期：2025/10/31

更新内容：修复了缓存容量占用百分比在特定情况下计算错误的BUG。修复了分析模块一处可能会导致程序异常退出的BUG。新增多个应用的浏览器标识识别。更新IP定位库。


更新日期：2025/10/02

更新内容：新增多个应用的浏览器标识识别。更新IP定位库。


更新日期：2025/09/06

更新内容：大幅缩减&quot;裁剪日志&quot;模块所需内存，并在页面底部展示内存占用信息。


更新日期：2025/09/01

更新内容：点击日流量或者时流量可以弹出对应时间范围的日志，方便排查流量来源。修复了已知的BUG。新增多个浏览器识别特征。


更新日期：2025/08/25

更新内容：点击查看国家或者地区详情时，新增列出20个该地区的IP对应速率列表。方便快速判断目标地区的用户到站点的大致速率情况。


更新日期：2025/08/11

更新内容：新增国家，国内省级，国内运营商输出流量统计饼图，合并到访问次数统计图内一起展示。通过读取nginx配置文件自动获取配置的缓存目录空间占用率，方便随时了解缓存可用空间来调整运维方案。程序启动不再依赖工作目录，自动定位程序所在的目录作为工作目录。由于程序读取配置文件需求环境变动，暂不更新docker版本。


更新日期：2025/08/03

更新内容：新增国内运营商分布饼图，并且可以查看按运营商的24小时的带宽吞吐量。新增CPU，内存，硬盘，网卡，连接数历史24小时趋势图。调整计算带宽速率仅包含1M以上内容。（由于系统内核限制的原因，部分功能仅linux可用。）


更新日期：2025/07/12

更新内容：新增国内运营商识别模块(支持V4和V6)。修复当nginx日志里IP包含有重复的时候无法正常处理的BUG。新增国家，国内省级运营商带宽速率均值显示和点击显示24小时趋势图。IP记录搜索时，新增显示IP的地理位置和平均带宽速率。IP类型分布，入口地址分布，IP传输占用大小单位改成自动计算。优化了日志搜索模块。大幅优化了IP库解析模块效率。（日志分析速度较上一版本提升3倍。）


更新日期：2025/07/02

更新内容：回复时间占用可以点击查看分布到这些时间的URL和具体回复时间。gzip搜索日志范围去掉路径相同的内容。修正了当碰到中文路径或特殊符号时无法正确搜索该日志的BUG。


更新日期：2025/07/01

更新内容：大幅优化日志裁剪模块效率。新增缓存大小展示。修正了HTTP版本页面链接返回结果错误的BUG。新增文件类型访问分布。


更新日期：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

更新内容：优化分析耗时模块。优化分析缓存逻辑（新增'&quot;timestamp&quot;:&quot;$msec&quot;,'）。新增路径输出量，时流量，和其他趋势图合并在一起，可以手动切换显示。


更新日期：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展示分析结果。
</p><p>
<a href="index.php?action=comments&amp;articleid=264&amp;hash=">查看评论</a><br />
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
