Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于腾讯云CLS统计分析nginx的access.log

基于腾讯云CLS统计分析nginx的access.log

原创
作者头像
Vicwan
修改于 2021-02-07 06:21:51
修改于 2021-02-07 06:21:51
1.5K0
举报

一、简介

很多个人站长在搭建网站时使用nginx作为服务器,为了了解网站的访问情况,一般有两种手段:

1、使用CNZZ之类的方式,在前端页面插入js,用户访问的时候触发js,记录访问请求。

2、分析nginx的access log,从日志中挖掘有用信息。

两种方式各有优缺点:

1、CNZZ使用起来比较简单,各种指标定义清楚。但这种方式只能记录页面的访问请求,像ajax之类的请求是无法记录的,还有爬虫信息也不会记录。

2、access log对所有的请求都有记录,可以说信息非常详细,但需要站长对访问日志具备详细的了解和动手能力。

两种手段相互补充,才能对网站的状况有更加深入的了解。

腾讯云日志服务产品CLS在最新版中增强查询分析功能,支持对日志数据实时索引与查询分析,能够在秒级别对亿级别数据完成统计,极大的降低了站长们分析access log的门槛。本文将详细介绍如何使用腾讯云日志服务CLS分析access log中的各种指标。

一个典型的访问日志,包括了以下几个字段:

代码语言:txt
AI代码解释
复制
1. remote_addr : 客户端地址
2. remote_user : 客户端用户名
3. time_iso8601 : 服务器本地时间
4. method : HTTP 请求方法
5. url : url地址
6. protocol : 协议类型
7. status : 返回的http状态码
8. body_bytes_sent : 发送给客户端的字节数
9. request_time : 整体请求延时(单位:秒)
10. http_referer : 访问来源的页面链接地址
11. http_user_agent : 客户端信息
12. http_x_forwarded_for : 当前端有代理服务器时,追踪记录客户端真实 IP 地址的配置

下面是一段访问日志的样例:

代码语言:txt
AI代码解释
复制
180.171.159.132 - - [2020-02-11T15:34:27+08:00] "GET / HTTP/1.1" 304 0 0.000 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36" "-"

腾讯云日志服务CLS中原始日志展示:

二、利用SQL进行统计样例

1、UV统计:

代码语言:txt
AI代码解释
复制
select HISTOGRAM(CAST(time_iso8601 AS TIMESTAMP), INTERVAL 1 MINUTE) AS dt, count(distinct(remote_addr)) as uv group by dt order by dt 

2、PV统计:

代码语言:txt
AI代码解释
复制
select HISTOGRAM(CAST(time_iso8601 AS TIMESTAMP), INTERVAL 1 MINUTE) AS dt, count(*) as pv group by dt order by dt

3、状态码占比统计:

代码语言:txt
AI代码解释
复制
select count(*) as count, status where url like '/%' group by status

4、TOP URL统计:

代码语言:txt
AI代码解释
复制
select url as "t-url", count(*) as uc group by url limit 10
select url as "t-url", count(*) as uc group by url order by uc desc limit 10

5、带宽曲线图:

代码语言:txt
AI代码解释
复制
 select HISTOGRAM(CAST(time_iso8601 AS TIMESTAMP), INTERVAL 1 MINUTE) AS dt, round(SUM(body_bytes_sent)*8/1000.0, 2) AS "带宽(Kb/min)" group by dt order by dt limit 50 

select HISTOGRAM(CAST(time_iso8601 AS TIMESTAMP), INTERVAL 1 MINUTE) AS dt, round(SUM(body_bytes_sent) * 1.0 / SUM(request_time),2) AS "下载速度(KB/s)" group by dt order by dt limit 50

代码语言:txt
复制

7、请求类型分布:

代码语言:txt
AI代码解释
复制
 select HISTOGRAM(CAST(time_iso8601 AS TIMESTAMP), INTERVAL 1 MINUTE) AS dt, count(*) as pv, method group by dt, method order by dt limit 200

三、日志监控告警

CLS还支持各种监控统计指标,如HTTP状态码等

有任何问题欢迎大家加入企业微信群咨询:【云原生日志服务CLS】技术社区群(或者联系:v_ltvli加入)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【日志服务CLS】Nginx日志数据全方位大解析
Nginx 是一个高性能的HTTP和反向代理web服务器,透过Nginx日志可以挖掘非常大的价值,比如诊断调优网站,监控网站稳定性,运营数据统计等。今天我们一起通过日志服务CLS,看看如何对Nginx做全方位日志数据挖掘。
日志服务CLS小助手
2021/12/01
8230
CDN访问日志质量性能监控与运营统计分析最佳实践
CDN是非常重要的互联网基础设施,用户可以通过CDN,快速的访问网络中各种图片,视频等资源。在访问过程中,CDN会产生大量的日志数据,通过对CDN访问日志的分析,可以挖掘出大量有用的信息用于CDN质量和性能的分析,错误诊断,客户端分布, 用户行为分析。
日志服务CLS小助手
2021/11/19
1.1K0
千万级日活量,斗鱼如何基于日志实现秒级监控告警?
「斗鱼」作为品类中的头部平台,斗鱼直播APP的日活用户量超千万量级,高峰时段有上万名主播同时在线开播。
日志服务CLS小助手
2022/02/23
1.7K0
腾讯云7层负载均衡日志分析与监控
建议:按照业务实际情况区分不同的日志主题,比如http层,缓存层,数据层或者按照业务维度,金融业务,主站业务,订单业务等,因CLS也同时是一个管道,对应不同的日志主题可以选择不同的路径,到COS,CKAFKA,SCF等等进一步处理,归档数据。
tinkerli
2021/03/23
2.8K1
腾讯云7层负载均衡日志分析与监控
日志服务Grafana可视化实践——从自建ELK到使用CLS
互联网时代的公司业务种类繁多,在这些业务每日工作的背后,是各类日志系统承担日志记录和检索排障的工作。 在业务上云的大趋势之下,越来越多的团队开始选择使用腾讯云日志服务CLS来解决他们的日志采集与存储、排障检索、数据分析、告警监控、可视化展示的系列诉求。很多公司团队已经开始将日志服务从自建的ELK转移到CLS,通过LogListener采集日志并上传,使用CLS的检索分析功能。
日志服务CLS小助手
2022/03/31
2.4K1
CLS 对接 Grafana
日志服务(Cloud Log Service,CLS)与 Grafana 打通,支持将 CLS 的原始日志数据与 SQL 聚合分析结果导出,并在 Grafana 展示。您只需安装 CLS 日志服务 Grafana 插件,并在 Grafana 填写检索分析的语句,即可在 Grafana 上展示结果。
日志服务CLS小助手
2021/02/05
2.4K4
【日志服务CLS】HTTP code 304引申出来的故事
公司开发环境内部开发。路由器做了设置只允许访问特定资源网站。自从做了限制后内网隔离网络环境出现特定资源pending现象。一直也没有做深入的研究。因为同一内网vlan中有能上网的小伙伴。一般情况下他手动去刷新一下就好了。最近频繁出现。记录一下排查问题过程和腾讯云cls日志服务的使用过程。
对你无可奈何
2021/04/21
1.1K1
【日志服务CLS】Nginx 访问日志检索、分析示例
看到小编鼓励作者写连载,趁着截稿日期延长并且还有Apple Watch大奖的诱惑就又有动力再肝一篇出来了 2333……
远哥制造
2021/05/22
8500
【日志服务CLS】Nginx 访问日志检索、分析示例
【玩转 EdgeOne】 使用EdgeOne实时日志+cls 自动生成网站访客信息
嗨,大家好,我是Eagle Yao。好久不见,我好久没有在这里分享我最近的一些体验。最近我看到了EdgeOne的征文活动,作为一名老用户,我觉得应该也要好好宣传一下EdgeOne的某一个产品。我是从个人版/基础版内测期间就开始使用EdgeOne,这半年来见证了EdgeOne的不断进步和完善,整体来说,我对腾讯云的新一代CDN非常满意。
鹰瑶
2023/10/04
8412
【CLS数据淘金第五期】 云产品 CLB 日志抽样,独家发布
点击蓝字 关注我们 导语 负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台云服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。 CLB 访问日志当前支持基于 7 层负载均衡,访问日志内容丰富,可以涵盖多种场景的内容。 「CLS数据淘金第一期」介绍过 CLB 两大主要场景:运维监控场景与运营统计场景;本期我们将对运维监控场景做进一步的补充,并将重磅推出腾讯云 CL
云存储
2023/03/30
2880
【CLS数据淘金第五期】 云产品 CLB 日志抽样,独家发布
腾讯云CLB日志接入/分析/可视化/告警
建议:按照业务实际情况区分不同的日志主题,比如http层,缓存层,数据层或者按照业务维度,金融业务,主站业务,订单业务等,因CLS也同时是一个管道,对应不同的日志主题可以选择不同的路径,到COS,CKAFKA,SCF等等进一步处理,归档数据。
tinkerli
2021/04/08
1.6K1
腾讯云CLB日志接入/分析/可视化/告警
nginx Access日志格式「建议收藏」
默认,access日志路径是./logs/access.log, 默认的日志格式为combined格式; 使用log_format指令可以自定义日志格式;
全栈程序员站长
2022/06/28
1.5K0
【4月新功能速递】CLS 独家:索引字段支持别名、云产品日志中心一站式管理
在索引配置中,支持为字段设置别名,使用别名代替原始字段名称进行日志检索及统计分析,以简化日志检索与统计分析操作流程。例如,为__SOURCE__字段设置别名ip。
日志服务CLS小助手
2024/05/27
1460
【4月新功能速递】CLS 独家:索引字段支持别名、云产品日志中心一站式管理
CLS日志服务如何对接 Grafana图形展示?
日志服务(Cloud Log Service,CLS)与 Grafana 打通,支持将 CLS 的原始日志数据与 SQL 聚合分析结果导出,并在 Grafana 展示。您只需安装 CLS 日志服务 Grafana 插件,并在 Grafana 填写检索分析的语句,即可在 Grafana 上展示结果。
TCS-F
2021/11/30
9190
CLS日志服务如何对接 Grafana图形展示?
【1月新功能速递】告警配置优化&支持屏蔽,仪表盘新增热力图
可以通过点击的方式直接配置告警触发条件,无需手动输入表达式;还可以直接为原始日志配置告警,无需使用 SQL 语句。优化了告警配置过程,提升运维工作效率。
日志服务CLS小助手
2024/03/06
1820
【1月新功能速递】告警配置优化&支持屏蔽,仪表盘新增热力图
【日志服务CLS】对接Grafana
CLS 对接 Grafana的博文。个人就也想尝试一下。当然了我的grafana是 Prometheus-oprator方式搭建在kubernetes集群中的。详见:https://cloud.tencent.com/developer/article/1807805。
对你无可奈何
2021/04/16
1.4K0
【日志服务CLS】全新Grafana数据源,一键安装,功能升级
Grafana是一个开源的可视化工具,同时也是一个时序性统计和分析监控平台,提供了多种数据源的对接,拥有丰富的图表和美观的布局展示,功能齐全的仪表盘和图形编辑器。
日志服务CLS小助手
2022/04/01
9400
【日志服务CLS】CLS+CLB整合初体验
很早之前就使用过腾讯云版本的日志服务cls。个人的应用场景主要是想采集clb负载均衡的日志。但是早些时候腾讯云的负载均衡clb只能挂载单个ssl证书,早期域名比较混乱,不想使用多个的clb服务。个人采用了自建的kubernetes服务。采用了腾讯云cls +tcp的方式代理应用,tls证书作为secret的方式交由kubernetes管理。这样就不能在clb层收集日志了(到现在也是这样仅支持http https方式收集日志,不能使用tcp方式收集)。因此仅仅是试用了一下就放弃了。
对你无可奈何
2021/04/12
2.2K1
SQL内置函数手册
本文中总结了SQL中常用的内置函数,包含通用聚合函数、安全检测函数、数学统计函数、字符串函数等
皮大大
2021/03/01
3.8K0
SQL内置函数手册
Hive 在多维统计分析中的应用 & 技巧总结
多维统计一般分两种,我们看看 Hive 中如何解决: 1、同属性的多维组合统计 (1)问题: 有如下数据,字段内容分别为:url, catePath0, catePath1, catePath2, unitparams https://cwiki.apache.org/confluence 0 1 8 {"store":{"fruit":[{"weight":1,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":1
用户1177713
2018/02/24
1.9K0
推荐阅读
相关推荐
【日志服务CLS】Nginx日志数据全方位大解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档