我正在使用Graylog2服务器作为我的应用程序日志服务器.但无法将apache日志连接到graylog2.是否有任何指南将apache日志发送到graylog2服务器或有人可以帮我解决这个问题?
我们有一个庞大的扩展用户网络,我们使用徽章进行跟踪.总流量每月接近6000万印象.我们目前正在考虑从一个相当慢的,基于数据库的日志记录解决方案(基于PHP-messy ...定制)转换为依赖于AmazonS3日志和Splunk的简单的基于日志的替代方案.
在使用Splunk进行其他一些分析任务后,我非常喜欢它.但目前尚不清楚如何在系统中设置S3这样的源代码.似乎远程源需要安装Universal Forwarder,这不是一个选项.
有什么想法吗?
我知道这个问题很愚蠢并且经常被回答,但现在没有解决方案对我有用。我正在使用 OpenSuse 和 Apache2 并添加了
SetEnvIf Remote_Addr "127\.0\.0\.1" loopback
SetEnvIf Remote_Addr "::1" loopback
CustomLog /var/log/apache2/access_log combined env=!loopback
Run Code Online (Sandbox Code Playgroud)
但是如果我重新启动 apache,访问日志会显示我
::1 - - [01/Nov/2012:23:18:06 +0100] "OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy connection)"
::1 - - [01/Nov/2012:23:18:16 +0100] "OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy connection)"
::1 - - [01/Nov/2012:23:18:22 +0100] "OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy connection)"
::1 - - [01/Nov/2012:23:18:34 +0100] "OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy connection)"
::1 …
Run Code Online (Sandbox Code Playgroud) 我看到您可以通过将"logLatency"设置为true或setLogLatency(true),使用NCSARequestLog在Jetty中启用给定HTTP请求的响应时间.如何通过logback实现(ch.qos.logback.access.jetty.RequestLogImpl)来完成?
在此先感谢您的回答!
我的 access.log 文件很大!!!
-rw-r--r-- 1 app dev 745M Sep 24 00:00 access_log.2015-09-23.log
-rw-r--r-- 1 app dev 772M Sep 25 00:00 access_log.2015-09-24.log
-rw-r--r-- 1 app dev 527M Sep 25 17:54 access_log.2015-09-25.log
Run Code Online (Sandbox Code Playgroud)
它们已经每天旋转(默认),但我想弄清楚如何在它们旋转后压缩它们。我能找到的关于 tomcat 访问日志的唯一信息是这个https://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Access_Log_Valve
但它没有提供任何有关压缩的信息。我可以通过 logback 滚动/压缩我的其他日志,但不确定如何使用 logback 配置 tomcat 访问日志(如果可能)。我正在使用带有 Spring-Boot 1.2.6.RELEASE 的嵌入式 Tomcat 7.0.55。
我想我可以每天进行压缩。只想找到“正确”的解决方案。
任何和所有信息将不胜感激。
仅sudo python ./awslogs-agent-setup.py --region us-east-1
在我的Amazon Linux AMI上使用后,我才从AWS文档中找到以下警告提示:
如果您以前使用Python脚本安装代理,请不要使用RPM安装方法更新CloudWatch Logs代理。这样做可能会导致配置问题,从而阻止CloudWatch Logs代理将您的日志发送到CloudWatch。
现在,如何卸载python版本以使用RPM安装?
python amazon-web-services access-log amazon-cloudwatch aws-cli
我们使用的是spring boot框架,通过内嵌的tomcat生成访问日志,访问日志的格式如下属性:
server.tomcat.access-log-enabled=true
server.tomcat.access-log-pattern="%h %l %u %t '%r' %s %b %D"
server.tomcat.basedir=/data/logs/Waijule/SchoolService/access
Run Code Online (Sandbox Code Playgroud)
幸运的是,访问日志生成成功,我们得到了肯定的结果:
"127.0.0.1 - - [01/Mar/2016:11:25:47 +0800] 'POST /school-svc/index-summary HTTP/1.1' 200 127 21"
"127.0.0.1 - - [01/Mar/2016:11:25:47 +0800] 'POST /school-svc/wechat/signature/get HTTP/1.1' 200 238 9"
"127.0.0.1 - - [01/Mar/2016:11:25:47 +0800] 'POST /school-svc/wechat/ticket/get HTTP/1.1' 200 225 148"
Run Code Online (Sandbox Code Playgroud)
为了确保服务健康,我们每 5 秒运行一次健康检查,我们想要过滤的请求以便我们可以获得清晰的访问日志,健康检查 url 如下示例:
"127.0.0.1 - - [01/Mar/2016:12:04:10 +0800] 'GET /school-svc/isHealth HTTP/1.1' 200 6 104"
Run Code Online (Sandbox Code Playgroud)
如何过滤健康检查请求?
感谢帮助。
根据访问日志的文档,我尝试使用conditionIf来解决问题,在我们的spring框架中,我尝试覆盖EmbeddedServletContainerCustomizer类中的customize函数,以便可以设置conditionIf,我们的实现如下示例:
@Configuration
public class Application implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer …
Run Code Online (Sandbox Code Playgroud) 如何在Apache Access Log 中包含毫秒精度的时间格式。
我尝试使用:
pattern="%h %l %u %{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t "%r" %s %b".
Run Code Online (Sandbox Code Playgroud)
但是它不起作用。
我在 Apache Tomcat 8 中运行示例 Spring Security(hello world)Web 应用程序。我试图查看 Tomcat 访问日志中的用户信息,但看起来该信息不存在。访问日志条目示例:
0:0:0:0:0:0:0:1 - - [06/Nov/2019:09:41:57 +0200] "GET / HTTP/1.1" 200 422
0:0:0:0:0:0:0:1 - - [06/Nov/2019:09:41:59 +0200] "GET /hello HTTP/1.1" 200 83
Run Code Online (Sandbox Code Playgroud)
Tomcat中的访问日志配置server.xml
为:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="common" />
Run Code Online (Sandbox Code Playgroud)
pattern="common"
对应于由 '%h %l %u %t "%r" %s %b' 定义的通用日志格式,如此处所述。Tomcat 文档还指出:
%u - 经过身份验证的远程用户(如果有),否则为“-”
我是否应该应用任何其他配置以使用户在访问日志中可见?
我尝试使用 AWK 对每次以“shop/product?traffic=ads”开头的特定 URL 进行访问计数,但失败了。
下面的代码给出了一个 IP 地址访问这些 URL 的频率的计数器:
awk -F'[ "]+' '$7 == "/shop/product?traffic=ads" { ipcount[$1]++ }
END { for (i in ipcount) {
printf "%15s - %d\n", i, ipcount[i] } }' /var/www/vhosts/domain.com/logs/access_ssl_log
Run Code Online (Sandbox Code Playgroud)
access_log(输入文件)的示例如下:
66.249.68.xx- - [19/Dec/2022:09:14:15 +0100] "GET /shop/other-product/1.0" 404 16996 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.5304.xxx Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
109.42.242.xxx - - [19/Dec/2022:09:14:55 +0100] "GET /shop/product?traffic=ads&gclid=Cj0KCQiAtICdBhCLARIsALUBFcFMmvFbA_1EyTTMRDp9IWhDXFA_HCeuEsIBXl886PoaAapen2KdussaAniSEALw_wcB HTTP/1.0" 200 30589 "https://www.google.com/" "Mozilla/5.0 (Linux; Android 11; SM-A515F) AppleWebKit/537.36 (KHTML, …
Run Code Online (Sandbox Code Playgroud)