使用GoAccess的Nginx和Apache日志监控

使用开源实时日志分析器监视和分析Web服务器日志– GoAccess


Web故障排除很有趣,如果您没有使用正确的工具,可能会令人沮丧.

如果您支持流量大的网站,那么通常需要分析和监视Web服务器日志的性能 & 容量规划。这对于网络工程师至关重要.

可以手动检查较小的日志大小是可以的,但是如果文件较大,那么遍历数百万行以查找指标并不是一件好事。.

这就是为什么您需要工具来简化管理员的工作并提高工作效率.

GoAccess 是一个 轻量级开源日志分析器 它支持多种日志格式,并且可以与以下任何一种一起使用.

  • Nginx的
  • Apache HTTP
  • AWS ELB,S3,CloudFront
  • 谷歌云存储

您可以使用GoAccess分析哪些指标?

您几乎在日志中捕获的所有内容。给您一个想法:

  • 需要时间来处理请求
  • 访客IP,DNS,主机
  • 访客的浏览器 & 操作系统详细信息
  • 404未找到详细信息
  • 最高要求/访客
  • 带宽
  • 静态文件
  • 地理位置
  • 状态码
  • 和更多..

寻找要监控您网站的这些指标?

好!

您可以在哪个操作系统上安装?

GoAccess只有一个依赖项-ncurses。如果可以安装,则可以在任何操作系统上使用它.

可在分发包中用于:

  • 的Ubuntu
  • 德比安
  • 软呢帽
  • CentOS的
  • FreeBSD / OpenBSD
  • 松弛软件
  • Arch Linux
  • Gentoo
  • 苹果系统
  • Windows通过Cygwin

但是,您也可以从源代码构建或与Docker一起使用.

如果您不熟悉Docker,建议您使用 Docker精通课程.

在Ubuntu上安装GoAccess

  • 以root特权登录到Ubuntu服务器
  • 使用apt-get进行如下安装

apt-get install goaccess

简单.

在CentOS上安装

登录服务器并执行yumcommand

百胜安装goaccess

在CentOS / Ubuntu上使用Source进行安装

喜欢从源头编译?

步骤如下.

  • 如果使用以下安装依赖项 CentOS的

yum install gcc ncurses-devel glib2-devel geoip-devel tokyocabinet-devel

  • 如果使用 的Ubuntu

apt-get install libncursesw5-dev libgeoip-dev make

  • 使用wget下载最新软件包

wget http://tar.goaccess.io/goaccess-1.2.tar.gz

  • 解压缩下载的文件

gunzip –c goaccess-1.2.tar.gz | tar xvf –

  • 转到新创建的文件夹,该文件夹是在提取后获得的

光盘goaccess-1.2

  • 用下面的命令编译

./ configure –enable-geoip =旧版–enable-utf8
使
进行安装

做得好, 您已经安装了GoAccess并已全部设置以分析日志.

验证安装

安装完成后,只需在命令提示符下执行goaccess,它应打印如下用法.

[[受电子邮件保护] goaccess-1.2]#goaccess
GoAccess-1.2
用法:goaccess [文件名] [选项…] [-c] [-M] [-H] [-q] [-d] […]
还可以为命令提供以下选项:
日志记录 & 日期格式选项
  –date-format =-指定日志日期格式。例如,%d /%b /%Y
  –log-format =-指定日志格式。内引号必须是
                                    转义,或使用单引号.
  –time-format =-指定日志时间格式。例如,%H:%M:%S
用户界面选项
  -c –config-dialog-提示日志/日期/时间配置窗口.
  -i –hl-header-颜色突出显示活动面板.
  -m –with-mouse鼠标-在主仪表板上启用鼠标支持.
  –color =-指定自定义颜色。有关更多信息,请参见联机帮助页
                                    详细信息和选项.
  –颜色方案=<1 | 2 | 3>          – 方案:1 => 灰色,2 => 绿色3 => 物界.
  –html-custom-css =-在HTML报告中指定自定义CSS文件.
  –html-custom-js =-在HTML报告中指定自定义JS文件.
  –html-prefs =“-设置默认的HTML报告首选项.
  –html-report-title =-设置HTML报告页面标题和标题.
  –json-pretty-print-使用制表符格式化JSON输出 & 换行符.
  –最大项目数-每个面板显示的最大项目数.
                                    有关限制,请参见手册页.
  –无颜色的-禁用彩色输出.
  –no-column-names-不要在术语输出中写列名.
  –no-csv-summary-在CSV输出上禁用摘要指标.
  –没有进度-禁用进度指标.
  –无选项卡滚动-禁止滚动TAB上的面板.
  –no-html-last-updated-隐藏HTML上次更新的字段.
服务器选项
  –addr =“-指定将服务器绑定到的IP地址.
  –守护程序-作为守护程序运行(如果启用了–real-time-html).
  –fifo-in =“-读取命名管道(FIFO)的路径.
  –fifo-out =-写入命名管道(FIFO)的路径.
  –origin =“-确保客户端发送指定的Origin标头
                                    在WebSocket握手时.
  –port =-指定要使用的端口.
  –实时HTML启用实时HTML输出.
  –ssl-cert =-TLS / SSL证书的路径.
  –ssl-key =“-TLS / SSL私钥的路径.
  –ws-url =-WebSocket服务器响应的URL.
文件选项
  –                               – 从stdin中读取要解析的日志文件.
  -f –log-file =-输入日志文件的路径.
  -l –debug-file =-将所有调试消息发送到指定的
                                    文件.
  -p –config-file =-自定义配置文件.
  –invalid-requests =-将无效请求记录到指定文件.
  –no-global-config-不加载全局配置文件.
解析选项
  -一个–agent-list-按主机启用用户代理列表.
  -d –with-output-resolver-在HTML | JSON输出上启用IP解析器.
  -e –exclude-ip =-排除一个或多个IPv4 / 6。允许IP
                                    范围例如192.168.0.1-192.168.0.10
  -H –http-protocol =-设置/取消设置HTTP请求协议.
  -M –http-method =-设置/解析HTTP请求方法(如果找到).
  -o –output = file.html | json | csv-输出HTML,JSON或CSV文件.
  -q –no-query-string-忽略请求的查询字符串。卸下
                                    查询字符串可以大大减少内存
                                    消费.
  -r –no-term-resolver-在终端输出上禁用IP解析器.
  –444-as-404-将非标准状态码444视为404.
  –4xx到唯一计数-向唯一身份访问者添加4xx客户端错误
                                    计数.
  –全静态文件-包含带有查询字符串的静态文件.
  –仅限爬网程序-仅解析和显示爬网程序.
  –date-spec =-日期特异性。可能的值:`date`
                                    (默认)或“ hr”.
  –双重解码-解码双重编码的值.
  –enable-panel =-启用解析/显示给定面板.
  –hour-spec =每小时-特定时间。可能的值:`hr`
                                    (默认)或`min`(分钟的十分之一).
  –忽略搜寻器-忽略搜寻器.
  –ignore-panel =-忽略解析/显示给定的面板.
  –ignore-referer =-忽略对引用的计数。通配符
                                    被允许。即* .bing.com
  –ignore-status =-忽略解析给定的状态码.
  –num-tests =-要测试的行数. >= 0(默认为10)
  –处理并退出-解析日志并退出而不输出数据.
  –实时操作系统-显示实时操作系统名称。例如Windows XP,Snow
                                    豹.
  –sort-panel = PANEL,METRIC,ORDER-初始加载时的排序面板。例如:
                                    –sort-panel = VISITORS,BY_HITS,ASC。看到
                                    面板/字段列表的联机帮助页.
  –static-file =-添加静态文件扩展名。例如:.mp3.
                                    扩展名区分大小写.
GeoIP选项
  -g –std-geoip-标准GeoIP数据库以减少内存
                                  消费.
  –geoip-database =-指定GeoIP数据库文件的路径。即.,
                                    GeoLiteCity.dat,GeoIPv6.dat …
其他选择
  -h-帮助-此帮助.
  -V-版本-显示版本信息并退出.
  -s-存储-显示当前的存储方法。例如B+
                                    树,哈希.
  –dcf dcf-显示默认配置的路径
                                    不使用-p时的文件.
可以通过运行`man goaccess`找到例子。.
有关更多详细信息,请访问:http://goaccess.io
GoAccess版权所有(C)2009-2016,作者Gerardo Orellana
[[受电子邮件保护] goaccess-1.2]#

分析Nginx & 带有GoAccess的Apache

分析access.log的最快方法之一是使用-fparameter.

例如:

goaccess -f access.log

上面,我指示打开文件access.log。这将显示整个仪表板和以下15个部分.

  • 每天的不重复访客
  • 要求的档案
  • 静态请求(字体,图像,pdf等)
  • 找不到(404)请求
  • 访客的IP /主机详细信息
  • 访问者的操作系统
  • 浏览器详细资料
  • 时间分配
  • 推荐人
  • HTTP状态码
  • 地理位置

如果所选文件正在实时更新,则您会注意到终端上的指标已更新。在这里,您可以查看需要分析的指标.

通过HTTP进行实时监控

GoAccess使您可以将输出重定向到HTML文件,您可以将其用作实时监视。当您不想每次需要验证某些指标时都登录到服务器时,这非常方便.

goaccess /var/log/nginx/access.log -o /var/www/geekflare.com/htdocs/real-time.html –log-format = COMBINED –real-time-html

上面,我将输出重定向到htdocs下可用的real-time.html文件。由于是htdocs,因此只要需要查看指标,我就可以从https://geekflare.com/real-time.html访问此文件。.

漂亮的仪表板!

但是,我不建议在生产中采用这种方式。我确定您不希望有人阅读您的网络服务器日志,并且您可能希望应用以下限制.

  • 用用户名和密码保护文件
  • 只允许从您的IP访问
  • 使用具有自定义端口的其他URL并将其放在防火墙后面,以便仅允许的IP /用户可以访问

GoAccess看起来像功能强大的开源日志分析器。它轻巧且免费,请继续尝试.

您可能也有兴趣查看基于云的日志分析器.

标记:

  • 监控方式

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map