远程服务器抓取apache的http日志

远程服务器抓取apache的http日志(有OSSEC的模式)

1、 遇到的问题:http登录的日志,本地可以抓到,但是远程服务器抓取失败。

2、需了解的知识点:
1)httpd的配置 /etc/httpd/conf/httpd.conf
ErrorLog logs/error_log 记录登录失败的日志
CustomLog logs/access_log combined 记录登录成功的日志
Httpd的日志可以自定义,输出的LogFormat也能自定义。

2)syslog vi /etc/rsyslog.conf
a)可以把syslog内核日志通过UDP发送到syslog服务器的514端口:
kern.* @192.168.X.X
b) 可以把syslog消息通过TCP方式发送:
kern.* @@192.168.X.X
c) *.info;mail.none;authpriv.none;cron.none /var/log/safelog.log
info及info以上级别,除了mail,authpriv, cron日志外,均记录至本地自定义日志中/var/log/ safelog.log

3、设置思路:
先将httpd登录日志集成,通过自定义syslog,发送到远端服务器

4、 配置方法:
1)配置httpd日志
/etc/httpd/conf/httpd.conf
找到如下日志:
ErrorLog logs/error_log
CustomLog logs/access_log combined
LogLevel warn
修改成以下内容:
ErrorLog “| /usr/bin/logger -t kernel -p local7.info
CustomLog “|/usr/bin/logger -t kernel -p local8.info” combined
LogLevel notice
2)vi /etc/rsyslog.conf
Local7.* @@192.168.X.XXX
Local8.* @@192.168.X.XXX
3)重启httpd和rsyslog服务

5、总结:
必须搞清楚apache日志的syslog本地记录和远程发送两种模式。
OSSEC可将日志转发到远程服务器上,远程服务器无需配置rsyslog

远程服务器抓取apache的http日志(不带OSSEC的模式)
1、服务器端rsyslog
1)通过TCP传输,放开以下的注释
$ModLoad imtcp
$InputTCPServerRun 514

2)通过UDP传输,放开以下的注释
$ModLoad imudp
$UDPServerRun 514

3)配置日志模板:
#创建日志模板
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *
#匹配日志模板
. ?RemoteLogs
#重定向
& ~

4)重启rsyslog

2、配置客户端的httpd和rsyslog
1)vi /etc/httpd/conf/httpd.conf
ErrorLog syslog#错误日志放到 syslog中
LogLevel notice
CustomLog “|/usr/bin/logger -p local4.info” combined
重启httpd
2)vi /etc/rsyslog.conf
local7.* @@192.168.XX.XX #syslog默认为local7
local4.* @@192.168.XX.XX #如是udp传输,只要配置1个@符号
重启rsyslog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值