我们有几个(20多个)跨多个数据中心的应用程序服务器。 我们需要集中日志文件并从一个盒子里监控它们。 要求: 大的日志文件,每个应用程序每天5-10Gb,所以每秒可能有几千行。 延迟很重要 – 如果可能的话,我们需要能够在几秒钟内对日志事件做出反应。 性能足迹应该尽可能低,并应该与日志文件的大小预测。 我想获得关于集中这些日志文件的最佳方法的意见? 我们的一个方法是使用Logstash( http://logstash.net/ )和Graylog2( http://graylog2.org/ ),并通过networking将日志事件发送到监视框,可以是直接的TCP,也可以是通过像RabbitMQ这样的总线。 第二种方法是让所有应用程序服务器将其日志文件写入到的“共享”SAN卷。 上述方法有哪些优点/缺点? 我们应该警惕的任何警告? 最佳实践?
我已经启用logging与iptables。 现在,我需要了解一些缩写。 Feb 23 20:43:08 spiderman kernel [2905.992450]:IN = wlan0 OUT = MAC = ff:ff:ff:ff:ff:ff:00:06:25:09:6a:b5:08:00 SRC = 192.168 .1.100 DST = 192.168.1.255 LEN = 241 TOS = 0x00 PREC = 0x00 TTL = 64 ID = 64564 DF PROTO = UDP SPT = 138 DPT = 138 以下各项是什么意思: [2905.992450] TOS = 0×00 PREC = 0×00 […]
我试图不logging从一个特定的IP地址,如下所示的请求: location = / { index index.php; if ( $remote_addr = "spe.ci.fic.ip" ) { access_log off; } } 但它不起作用,为什么?
从2.2.7升级到Apache 2.4.9后,似乎日志logging无法正常工作。 只有logging的东西是modsecurity和fcgid事件,但没有像Apache文件没有发现错误。 检查Apache的error_log,特别是重新启动后,我已经注意到这一点: [Sun Jul 13 05:16:10.482003 2014] [log_config:warn] [pid 30283:tid 140001085970176] (32)Broken pipe: [client 125.166.227.47:26260] AH00646: Error writing to |/usr/local/cpanel/bin/splitlogs –main=server.mysite.com –suffix=-bytes_log [Sun Jul 13 05:16:10.482047 2014] [log_config:warn] [pid 30283:tid 140001085970176] (32)Broken pipe: [client 125.166.227.47:26260] AH00646: Error writing to |/usr/local/cpanel/bin/splitlogs –main=server.mysite.com –mainout=/usr/local/apache/logs/access_log 我不知道“破pipe”是什么意思。 我启用了pipe道日志logging(在升级Apache之前已启用)。 试图禁用它,但得到了同样的事情,没有logging。 在日志部分检查httpd.conf文件与旧的conf文件比较,但似乎无法find任何不同: <IfModule mod_log_config.c> LogFormat "%v:%p %h %l %u […]
我想能够根据其中发现的模式分割日志文件。 例如,处理所有日志并查找/(\w+)\s以匹配/myresource但排除/myresource/anythingelse ,将所有内容redirect到/var/log/extractedlog/myresource/access.log 。 我可以很容易地使用一些grep来编写脚本,但试图实时执行此操作会使问题变得更加困难。 例如,我想调用该程序两次,而不产生重复。 编辑 这里有一个完整的代码来获得像这样的工作与syslog-ng /etc/syslog-ng/syslog-ng.conf (学分得到接受的答案): # no-parse let syslog load any source source s_unparsed_source { file("/var/log/myservice/access.log" flags(no-parse)); }; # Just protect the input and avoid syslog-ng header to be added in the final log template t_preserve_message { template("$MSG\n"); template_escape(no); }; # This will filter the message only matching the given […]
我在FreeBSD上有Nginx的网站服务器。 上周我们决定放弃对我们网站的SSLv3连接的支持。 不过,我想知道如果nginx有所有不能成功执行SSL握手的客户端的日志。 如果我们有一些关于仍然使用SSLv3连接的IP地址的数据,那将是非常好的。 我试图查看nginx错误日志。 这就是我只能find小日志的地方 2015/03/18 16:55:32 [error] 48792#0: accept4() failed (53: Software caused connection abort) 2015/03/19 19:47:05 [error] 48791#0: accept4() failed (53: Software caused connection abort) 2015/03/19 23:39:54 [error] 48791#0: OCSP_check_validity() failed (SSL: error:2707307D:OCSP routines:OCSP_check_validity:status expired) while requesting certificate status, responder: ocsp2.globalsign.com 没有提到由于SSLv3握手失败而中止的客户端。 nginx能configuration成logging这种错误吗?
我设法成功地从syslogd切换到syslog-ng为我的日志logging。 然而,我想让syslog-ng框从networking上运行syslog的所有盒子接收所有日志。 我如何去做这件事?
他们只是占用太多的磁盘空间,删除它们是否安全? 当我设置一个crontab作业来执行删除操作时,有什么需要特别注意的吗? 谢谢!
最近,我通过防火墙打开SSH端口(并redirect到我的服务器),以便我可以在路上检查(http)服务器。 头一两个星期没有什么不同。 但是现在,三四个星期之后,我看到很多这样的东西: Mar 20 08:38:28 localhost sshd[21895]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=mail.queued.net user=root Mar 20 08:38:31 localhost sshd[21895]: Failed password for root from 207.210.101.209 port 2854 ssh2 Mar 20 15:38:31 localhost sshd[21896]: Received disconnect from 207.210.101.209: 11: Bye Bye Mar 20 08:38:32 localhost unix_chkpwd[21900]: password check failed for user (root) […]
我一直在使用logrotation多年,从来没有想过这是一个问题太多,直到我遇到了一个问题在stackoverflow( https://stackoverflow.com/questions/1508734/disable-java-log-rotation/ )有人想要禁用日志旋转。 对于我有build立服务器,甚至生产服务器手动清理的经验,因为日志不旋转和光盘用完,突然机器停下来,似乎都疯了,但它发生在我后面,也许它不是那么明显所有。 那么日志轮换有什么好处呢? 有什么缺点(比如更难以debugging/分析)? 你认为哪些工具对于处理轮转的日志文件有用? Splunk我假设,但还有什么?