GoAccess安装及分析nginx实时日志
GoAccess是一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作),终端输出是默认输出,但它能够生成完整的,独立的实时 HTML报告(非常适合分析,监控和数据可视化),以及a JSON和CSV报告。
所有面板和指标都定时在终端输出上每200毫秒更新一次,在HTML输出上每秒更新一次。
GoAccess允许任何自定义日志格式字符串。预定义选项包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等
跟踪提供请求所需的时间。如果您想跟踪减慢网站速度的网页,则非常有用。
数据持久性强,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志。
GoAccess是用C语言编写的,要运行它,你只需要将ncurses作为依赖项,它甚至还具有自己的RFC6455兼容Web Socket服务器。
您可以针对访问日志文件运行它,选择日志格式并让GoAccess解析访问日志并显示统计信息。
按小时或日期确定最慢运行请求的匹配数,访问者数,带宽数和指标数。
多个虚拟主机,一个面板,显示哪个虚拟主机正在消耗大部分Web服务器资源。
定制GoAccess以适合您自己的色彩品味。通过终端,或者只是更新HTML输出上的样式表。
GoAccess安装部署:
方案一:Yum安装部署
yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-develyum install gcc -y
yum -y install GeoIP-update
yum install goaccess
#修改/etc/nginx/nginx.conf文件的日志存储格式
log_format main '$remote_addr - $remote_user [$time_local] requesthost:"$http_host"; "$request" requesttime:"$request_time"; '
'$status $body_bytes_sent "$http_referer" - $request_body'
'"$http_user_agent" "$http_x_forwarded_for"';
#修改文件/etc/goaccess.conf改成goaccess格式标准对应为
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] requesthost:"%v"; "%r" requesttime:"%T"; %s %b "%R" - %^"%u"
#测试生成页面
goaccess -f /var/log/nginx/access.log -c -a>/usr/share/nginx/html/go.html
方案二:源码安装部署
#yum安装依赖包
yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel
yum install gcc -y
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum -y install GeoIP-update
#下载goaccess源码包,并解压编译安装
wget https://tar.goaccess.io/goaccess-1.2.tar.gz
tar xzvf goaccess-1.2.tar.gz
cd goaccess-1.2/./configure --enable-geoip --enable-utf8make && make install
#修改/etc/nginx/nginx.conf文件的日志存储格式
log_format main '$remote_addr - $remote_user [$time_local] requesthost:"$http_host"; "$request" requesttime:"$request_time"; '
'$status $body_bytes_sent "$http_referer" - $request_body'
'"$http_user_agent" "$http_x_forwarded_for"';
#修改文件/usr/local/etc/goaccess.conf改成goaccess格式标准对应为
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] requesthost:"%v"; "%r" requesttime:"%T"; %s %b "%R" - %^"%u"
#测试生成页面
goaccess -f /var/log/nginx/access.log -c -a>/usr/share/nginx/html/go.html
#后台实时生成数据到goaccess页面
/usr/local/bin/goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/go.html --real-time-html &
安装常见问题:
问题1:安装时提示:Missing development files for the GeoIP library
解决方法: 下载GeoIP library包,执行 yum -y install GeoIP-update
问题2:
Fatal error has occurred
Error occurred at: src/parser.c - parse_log - 2764
No time format was found on your conf file.
问题解析: 配置文件goaccess.conf中time format格式不正确,只需把所需要对应日志格式前的#去掉即可,最后格式如下:
time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b
Goaccess支持实时查看access日志,Linux执行:goaccess -f access.log -o go.html --real-time-html -p goaccess.conf,按enter执行
解释如下:access.log处要改成access.log的绝对路径 go.html表示生成的Html文件,这里也要用绝对路径代替,goaccess.conf表示配置文件,也要写绝对路径,否则会提示找不到这个文件
实时日志命令执行后提示如下:
这样就可以查看go.html文件了。
可以在windows本地打开浏览器访问实时的go.html文件,如果你的服务器访问地址是www.xxx.com,则只需访问www.xx.com/go.html即可
如想查看goaccess访问对应的端口,执行netstat -antp | grep goaccess,结果如下:
如果端口被占用,无法启动,可以执行如下命令关闭端口:
su - root #切换到root用户
lsof -i :端口号 #得到PID号
kill -9 PID
转载于:https://www.cnblogs.com/wx170119/p/11226268.html
GoAccess安装及分析nginx实时日志相关推荐
- 执行tail –f 输出nginx实时日志,回车时无反应
安装openresty,在/usr/local/openresty/nginx/logs 下执行tail –f 输出nginx实时日志,回车时无反应,且查看access.log里面无数据. 一.首先确 ...
- 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx...
为什么80%的码农都做不了架构师?>>> 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx 脚本如下: ...
- 在Linux中使用GoAccess分析Nginx的日志
一 GoAccess简介 GoAccess是一款日志分析工具,可以用来分析Apache,IIS,Nginx的日志,或者一些其他web服务的日志.其特点是安装简单,使用方便,分析速度快 二 GoAcce ...
- awstats linux日志分析,(总结)Linux下使用awstats分析Nginx的日志详情
系统环境为CenoOS 5.6,详细请参考之前的日志<CentOS 5.x使用yum安装Nginx+PHP(FastCGI)+MySQL生产环境>. Awstats 是目前最流行的日志分析 ...
- ELK 分析 nginx access 日志
注意:修改配置后建议重新创建index 1.nginx 日志文件格式 1 2 3 log_format elk "$http_clientip | $http_x_forwarded_for ...
- python 实时日志监控_python监控nginx实时日志并实现钉钉报警
# !/usr/bin/python # --*coding:utf-8 -*- ''' auth:kilig desc:监控Nginx后端服务响应的状态,一旦响应时间超过2ms,累计次数超过1次,将 ...
- 使用GoAccess分析Nginx日志
下载 GoAccess 的源代码.编译和安装: http://www.goaccess.io/download # wget http://tar.goaccess.io/goaccess-0.9.6 ...
- nginx log response_python+pandas分析nginx日志的实例
需求 通过分析nginx访问日志,获取每个接口响应时间最大值.最小值.平均值及访问量. 实现原理 将nginx日志uriuriupstream_response_time字段存放到pandas的dat ...
- Python 分析Nginx 日志并存入MySQL数据库(单线程)
使用Python 分析Nginx access 日志,根据Nginx日志格式进行分割并存入MySQL数据库.(参考网上一些文章) Nginx access日志格式如下: #使用的nginx默认日志格式 ...
最新文章
- 基于流程管理,提高工作质量和效率
- Office 365有个AI「工作场所分析」掌握组织人力资源
- Html5不允许修改但允许赋值,JavaScript | 引用类型变量的赋值问题
- python拆分字符串函数_Python字符串操作-拆分,切片,从HEX转换为DEC
- CCF201609试题
- 关于“undefined reference to”错误
- 字符串 -- 3.15 Length of Last Word -- 图解
- js src 变量_人人都能看懂的鸿蒙 “JS 小程序” 数据绑定原理
- git 和gitHup工具笔记的详细教程
- 两个表格数据合并怎么完成?
- 最常用激活函数公式(更新中)
- 概率论与数理统计的基本概念
- 你需要了解的JS框架
- 2023年西安Java培训机构十强榜单出炉,快来看看哪家榜上有名~
- R语言plotly可视化:使用plotly可视化模型预测真阳性率(True positive)TPR和假阳性率(False positive)FPR在不同阈值(threshold)下的曲线
- 星星下落_与星星共舞
- re:Invent最重磅的演讲,AWS CEO透露了哪些关键信息?
- 4G:SIM7600CE-CNSE 4G模组调试
- Jetson nano GPIO的使用
- 光影盛宴闪耀“影视之都” 2020青岛影视博览会26日启幕
热门文章
- java停车管理系统中期检查_java毕业设计_springboot框架的停车场收费管理系统
- c语言程序开平方,关于开平方的c程序
- 智能手环功能模块设计_智能手环的设计的方案.doc
- 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...
- 计算机图画大赛作品六年级,小学学生电脑绘画比赛活动方案
- java 密钥工厂 desede_20145212 实验五《Java网络编程》
- java中collection方法_Java 8中的Collector toCollection()方法
- overflow超出显示_[CSS]text-overflow: ellipsis;什么时候可能不生效?
- php最近还热门么,2018什么开发语言热门 PHP开发语言火侯还会持续吗
- php jwt token过期时间,php – 动态设置laravel jwt的到期时间