我很难设置流利的vhosts转发httpd访问日志。我有五个vhosts,我想为每个单独记录访问和错误,其次,能够流畅地拖尾这些文件并将日志转发到日志记录服务器。第一个没问题,但第二个是。
使用此conf文件,来自所有vhost的所有httpd日志都将写入单个文件,并正确转发到日志记录服务器。
<source>
type tail
format apache2
tag apache.access
path /var/log/apache/access_log
pos_file /var/log/apache/access_log.pos
</source>
<match apache.access>
type forward
send_timeout 60s
recover_wait 10s
heartbeat_interval 1s
phi_threshold 16
hard_timeout 60s
<server>
name internal-1
host 192.168.0.245
port 24224
</server>
</match>
但是,当我在httpd-vhosts.conf中更改日志文件的路径时,如下所示:
CustomLog "/var/log/apache/internal-wiki/access_log" combined
并将td-agent.conf更改为:
<source>
type tail
format apache2
tag internalwiki.access
path /var/log/apache/internal-wiki/access_log
pos_file /var/log/apache/internal-wiki/access_log.pos
</source>
<match internalwiki.access>
type forward
send_timeout 60s
recover_wait 10s
heartbeat_interval 1s
phi_threshold 16
hard_timeout 60s
<server>
name internal-1
host 192.168.0.245
port 24224
</server>
</match>
日志正确写入CustomLog,但未转发到日志记录服务器。
td-agent.log的输出是
2015-11-09 12:23:44 +0900 [warn]: no patterns matched tag="internalwiki.access"
如果我在本地计算机上将匹配类型更改为stdout和tail td-agent.log,这很好。
td-agent在两台服务器上以root用户身份运行,文件权限为666,因此td-agent应该能够读取access_log
日志记录服务器上的端口24224已打开,我已使用nmap进行检查,我可以telnet到端口24224并查看日志服务器上td-agent.log中的条目,因此网络没有问题
那么,我做错了什么?
答案 0 :(得分:0)
这是一个基本错误...... Web服务器配置正确,但接收服务器未正确配置。
我没有在日志记录服务器上的td-agent.conf中包含源和匹配模式。
添加这个解决了我的问题。
<source>
type forward
</source>
<match *.access>
type stdout
</match>
所以我会将此标记为已解决。