背景:
最近货仓的访问服务器超时了。
需求:
需要捕捉客户端访问请求的特定id及其时间消耗。
解决:
1.使用仓库服务器中的一个虚拟机作为代理,让操作客户端通过代理访问服务器,并通过日志记录具体的请求信息和响应耗时。
在代理服务器上安装squid
yum -y install squidcat >> /etc/squid/squid.conf << EOFlogfor***t combined %tl %6tr %>a "%rm %ru %rp HTTP/%rv" %>Hs %<st %Ss:%Sh/%<aaccess_log /var/log/squid/access.log combinedEOFsystemctl enable squid --now
具体的logfor***t定义如下:
自纪元以来的ts秒
tu亚秒时间(毫秒)
tr响应时间(毫秒)
& gt客户端源IP地址
来自ident的ui用户名
取消用户名。扩展到第一个可用的名称
从以下信息来源列表中:
–已验证的用户名,如%ul
–由外部ACL提供的用户名,如%ue
–SSL客户端名称,如%us
–识别用户名,如%ui
当地时间tl。可选strftime格式参数
默认%d/%b/%Y:%H:%M:%S %z
[http::]rm请求方法(GET/POST等)
[http::]来自客户端的ru请求URL(历史记录,已过滤用于日志记录)
不包括主机名的rp请求URL路径
[http::]rv请求协议版本
[http::]>发送到客户端的Hs HTTP状态代码
[http::]<发送到客户端的回复的总大小(自适应后)
[http::]>原始接收请求报头。
通常不同于发送的请求标头
鱿鱼,虽然大部分领域经常保存。
接受可选的标题字段名/值过滤器
使用名称[:[分隔符]元素]格式的参数。
Ss Squid请求状态(TCP_MISS等)
Sh Squid层级状态(默认_父级等)
在客户端pc上设置代理服务器:
l直接搜索“代理”,点击“代理服务器设置”。
l打开使用代理;输入代理服务器设置10.168.79.227 3128并保存。当代理关闭时,开关也关闭。
l打开客户端正常操作,即配置成功。
服务器上/var/log/squid/access.log的输出日志如下所示,
通过filebeat收集内网elk。
它可以通过各种维度分析请求的数据,比如分析url请求的统计排序、请求的耗时分布等。,对分析系统问题很有帮助!
本文来自倾心之夏投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/597838.html