码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 用GoAccess可视化监控npm日志


    在这里插入图片描述

    什么是 GoAccess?

    GoAccess 是一个开源实时 Web 日志分析器和交互式查看器,可在 *nix 系统的终端中或通过浏览器运行。它为需要动态可视化服务器报告的系统管理员提供快速且有价值的 HTTP 统计信息。

    什么是 GoAccess for Nginx Proxy Manager Logs?

    GoAccess for Nginx Proxy Manager 是专用于 Nginx Nginx Proxy Manager 日志分析的 GoAccess 的 Docker 镜像。

    准备

    本来老苏是打算用 GoAccess 来分析 npm 的日志,但是没搞定。后来发现了 GoAccess for Nginx Proxy Manager Logs,优点是基本上开箱即用,不用研究参数和命令,缺点就是只能用于 npm,如果你还需要分析其他软件的日志,那就只能去啃 GoAccess 的文档了

    关于 npm 的安装,可以参考最近的文章

    文章传送门: 用自定义域名访问Tailscale节点

    所以 npm 日志的路径是 /volume1/docker/npm/data/logs

    在这里插入图片描述

    安装

    在群晖上以 Docker 方式安装。

    在注册表中搜索 xavierh ,选择第一个 goaccess-for-nginxproxymanager,版本选择 latest。

    本文写作时, latest 版本对应为 v1.1.19;

    在这里插入图片描述

    卷

    文件夹装载路径说明
    docker/npm/data/logs/opt/log挂载 npm 的日志目录

    在这里插入图片描述

    端口

    本地端口不冲突就行,不确定的话可以用命令查一下

    # 查看端口占用
    netstat -tunlp | grep 端口号
    
    • 1
    • 2
    本地端口容器端口
    78807880

    在这里插入图片描述

    环境

    可变值
    PUID设为 1000
    PGID设为 1000
    TZ时区,设置为 Asia/Shanghai
    SKIP_ARCHIVED_LOGS是否跳过存档日志,设为 False 不跳过
    DEBUG设为 False
    EXCLUDE_IPS排除的 IP 为 127.0.0.1
    LOG_TYPE设置为读取 NPM 日志
    LANG语言本地化,设置为 zh_CN.UTF-8
    LANGUAGE语言本地化,设置为 zh_CN.UTF-8

    在这里插入图片描述

    更多的环境变量可以参考官方的文档:https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager#github-repo

    命令行安装

    如果你熟悉命令行,可能用 docker cli 更快捷

    # 运行容器
    docker run -d \
       --restart unless-stopped \
       --name goaccess \
       -p 7880:7880 \
       -v /volume1/docker/npm/data/logs:/opt/log \
       -e PUID=1000 \
       -e PGID=1000 \
       -e TZ=Asia/Shanghai \
       -e SKIP_ARCHIVED_LOGS=False \
       -e DEBUG=False \
       -e EXCLUDE_IPS=127.0.0.1 \
       -e LOG_TYPE=NPM \
       -e LANG=zh_CN.UTF-8 \
       -e LANGUAGE=zh_CN.UTF-8 \
       xavierh/goaccess-for-nginxproxymanager:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

    version: '3'
    
    services:
        goaccess:
            image: xavierh/goaccess-for-nginxproxymanager:latest
            container_name: goaccess
            restart: always
            ports:
              - 7880:7880
            volumes:
              - /volume1/docker/npm/data/logs:/opt/log
            environment:
              - PUID=1000
              - PGID=1000
              - TZ=Asia/Shanghai         
              - SKIP_ARCHIVED_LOGS=False
              - DEBUG=False
              - EXCLUDE_IPS=127.0.0.1
              - LOG_TYPE=NPM
              - LANG=zh_CN.UTF-8 
              - LANGUAGE=zh_CN.UTF-8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    然后执行下面的命令

    # 新建文件夹 goaccess 和 子目录
    mkdir -p /volume1/docker/goaccess
    
    # 进入 goaccess 目录
    cd /volume1/docker/goaccess
    
    # 将 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行

    在浏览器中输入 http://群晖IP:7880 就能看到主界面

    在这里插入图片描述

    界面很漂亮,虽然很多指标并不清楚能用来干嘛,不过我觉得网管应该是懂的

    在这里插入图片描述

    参考文档

    allinurl/goaccess: GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.
    地址:https://github.com/allinurl/goaccess

    GoAccess - Visual Web Log Analyzer
    地址:https://goaccess.io/

    xavier-hernandez/goaccess-for-nginxproxymanager: GoAccess Docker Image for Nginx Proxy Manager and more…
    地址:https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager

  • 相关阅读:
    【笔记】结合P02项目——maven继承与聚合
    人工智能在电力系统中的应用值得思考的问题
    示例:WPF中TreeView自定义TreeNode泛型绑定对象来实现级联勾选
    数据模型是什么,有哪些常见的分析方法? 财务、人力、运营等数据分析人士必看!(内附2000+套数据可视化模版)
    GeoDa与R语言的空间数据回归
    【C++】C++ 类中的 this 指针用法 ③ ( 全局函数 与 成员函数 相互转化 | 有参构造函数设置默认参数值 | 返回匿名对象与返回引用 )
    Fastdfs图片上传 配置Fastdfs在linux------基于SpringBoot
    源码安装python
    Win11分磁盘怎么分?Win11系统怎么分磁盘?
    java面试100题(应届生必备)
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/134026211
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号