一、项目简介

AccessLog 是ClkLog下的一款针对Web服务器日志数据分析的软件,技术人员可快速完成私有化部署。

AccessLog 的核心是系统日志的采集与清洗、系统日志数据的分析与展示。

AccessLog 主要是通过采集工具vector对服务器(如nginx、iis)日志进行采集,通过相关服务对采集数据进行处理,然后在可视化的日志查询分析界面对服务器日志进行查询分析。

二、系统架构

标准模式

采集日志数据先存入kafka,经由flink处理后再存入clickhouse.

快速模式

采集日志直接存入clickhouse.

模式区别

标准模式
快速模式
模式区别
采集的埋点数据通过中间件进行队列缓冲和流式计算然后写入数据库
采集的埋点数据直接写入数据库,不需要中间件系统缓存和处理
满足高可用性能要求
满足一般性能要求
采集数据不会丢失
采集数据可能会丢失
部署流程相对复杂
部署流程简单
二开门槛相对较高
二开门槛较低
适用场景
网站访问量极大、业务场景复杂、 数据安全性可靠性较高、性能要求较高
网站访问量较小、业务场景比较简单

三、技术栈

后端:Redis、Kafka、Flink

前端:Vue、Vue-Element-Admin、Element-UI、Echarts

数据Clickhouse

四、项目组成

处理服务【accesslog-processing-sample】直接将数据写入clickhouse。

处理服务【accesslog-processing】依托flink,消费kafka数据并存入clickhouse。

统计接口【accesslog-api】:提供多维度数据统计接口。

统计展示【accesslog-ui】:基于vue-element-admin实现的统计分析数据界面展示。

五、功能介绍
功能模块
子模块
功能简介
核心功能
数据概览
按时间段、主机(host),对各个服务器采集的WEB服务器系统日志,从各种不同维度进行数据统计和图表展示。
日志访问量基础指标项(访问量PV、用户数UV、IP数、平均相应时间、流出流量)进行统计展示

根据所选时间范围,选择按时、按日、按周、按月对用户数(UV)、访问量(PV)、流出流量的变化趋势进行展示
地图模式和列表模式显示客户端IP的访问位置及位置占比信息
根据响应时长显示响应时间最长的10个url信息
根据访问量显示访问量最大的10个url信息及url对应的平均耗时时长
根据客户端IP显示访问量最高的10条IP信息
根据请求UA, 识别用户浏览器,横向柱状图显示用户最大的10个浏览器,列表显示所有的浏览器及浏览器对应的用户数
http请求返回的状态码,统计各类型的状态码返回数量
根据访问来源页面的访问量,现在访问量对大的10个
根据请求类型,通过饼状图展示各类型请求数量及占比
趋势分析
从时间段、主机(host),按时、按日、按周、按月查询展示web服务器请求的各项指标数据变化趋势及数据详情
WEB服务器请求的各项指标(访问用户数、访问量、流出流量)数据的变化趋势
WEB服务器请求的各项指标(访问用户数、访问量、流出流量)的数据详情
性能分析
耗时分析
对采集的受访页面URL的访问次数、耗时较长(>=1s)的次数、最大耗时、访问量展览、平均耗时指标进行统查询统计。
WEB请求的访问次数、耗时较长的次数(>=1秒)、最大耗时、耗时较长次数、平均耗时数据的查看与统计

WEB请求数据类型、耗时超过1秒的请求数据过滤
超100毫秒时序图
耗时超过{100毫秒/1分钟}的Url序图
指定小时内请求耗时超过{100毫秒/1分钟}的Url序图,用于对API的运行质量进行分析,监控运行耗时较长的URL,分析运行时间较长的原因。
状态码分析
对各服务器http请求返回的状态数据分析,对于有问题的状态码数据进行统计查询。
通过饼状图、柱状图展示http请求的状态码及占比信息

二维表格展示应用相关的host以及各个host相关的状态码数据总量
各个状态码对应的url请求数据访问次数、耗时较长次数、最大耗时、平均耗时等信息查看分析

IP分析
按时间段、主机(host),按省份及国家对WEB服务器访问流量指标数据进行统计分析
按省份(仅限中国)统计分析各省份的访问用户各项指标(访客数、浏览量、IP数)数据。
按国家统计分析各个国家的访问用户的各项指标(访客数、浏览量、IP数)数据
按访问IP统计分析单个IP的访问详细数据(浏览量,访问页面、请求次数、请求耗时等)

六、安装

环境

操作系统:Ubuntu(建议版本 22.04)

软件依赖:

docker(建议版本24+)

docker compose (建议使用最新的版本2.27.0)

服务器最低配置要求:

处理器:双核2.5GHz或更高

内存:8GB RAM或更高

存储空间:至少50GB可用硬盘空间

网络:可靠的网络连接,带宽至少为10Mbps

部署步骤

下载 AccessLog Docker Compose配置文件,参考代码如下

curl -O https://clklog.com/res/docker/accesslog-docker-compose.tar.gz
  2. 拷贝镜像,并解压镜像文件,参考代码如下:
tar -zxvf accesslog-docker-compose.tar.gzcd accesslog-docker-compose 

 3. 执行目录初始化脚本,代码如下:

mkdir -p accesslog_dc_data/redischown 999 accesslog_dc_data/redismkdir -p   accesslog_dc_data/processing/checkpointschown 9999 accesslog_dc_data/processing/checkpointschgrp 9999 accesslog_dc_data/processing/checkpointsmkdir -p   accesslog_dc_data/zookeeperchown 1001 accesslog_dc_data/zookeeperchgrp 1001 accesslog_dc_data/zookeepermkdir -p   accesslog_dc_data/kafkachown 1001 accesslog_dc_data/kafkachgrp 1001 accesslog_dc_data/kafka

启动

  1. 执行安装命令

    accesslog-docker-compose目录下执行以下命令:

docker compose -f docker-compose-accesslog-simple.yml up -d

2. 查看容器状态

docker compose -f docker-compose-accesslog-simple.yml ps -a

3. 验证镜像是否安装成功

   登录账号/密码:admin/accesslog

   前端地址: http://YOUR_DOMAIN/

统计接口说明地址: http://YOUR_DOMAIN/api/doc.html

日志采集配置

使用vector采集工具采集nginx的access日志,写入kafka,topic为accesslog。

七、UI展示

版权声明:
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!