Hello,

I appreciate all the responses.
Im not sure how can I can acconplish options 1) and 2) automatically.
For option 3) the thing is I need "combined" log type so I cannot reform this.

Im trying to centralize an access_log file from one server to the rsyslog 
server and I need to completely remove the tags I mentioned on my previous post.
I have also tried using a perl script mentioned at the botton of this email, 
but it salso arriving with a tag, "apache_syslog:" as showed below,

"apache_syslog: XXX.XXX.XXX.XXX - - [26/Nov/2009:18:23:02 -0600] \"GET /.."

Basically, this log will be parsed by awstats which is pretty much stricted 
with the log format so that's why I need a clean log sent from the apache 
server to the rsyslog server.

Thank you very much for all the help.

Below is the Perl script: 

#!/usr/local/bin/perl
# script: apache-access-logger

use Sys::Syslog;
$SERVER_NAME = shift || '';

$PRIORITY = 'info';
$FACILITY = 'local1';

Sys::Syslog::setlogsock('unix');
openlog ($SERVER_NAME,'ndelay', $FACILITY);

while (<>) {
  chomp;
  syslog($PRIORITY,$_);
}
closelog;

--- On Thu, 11/26/09, [email protected] <[email protected]> wrote:

> From: [email protected] <[email protected]>
> Subject: Re: [rsyslog] filter logger tags from syslog
> To: "rsyslog-users" <[email protected]>
> Date: Thursday, November 26, 2009, 2:21 AM
> On Wed, 25 Nov 2009, Jose Sanchez
> wrote:
> 
> > Hello,
> >
> > I've been using classic syslog for centralizing apache
> access logs from one server to a remote syslog server, the
> thing is syslog adds some nasty tags before the lines in the
> access logs and I cant get them off, ie:
> >
> > "Nov 25 21:25:37 server1 logger:"
> >
> > I would like to know if rsyslog has the option to
> filter this kind of stuff, I just want to have the logs sent
> to the syslog server exactly like I was saving them in a
> local access.log file.
> >
> > Thanks in advance.
> 
> 'logger:' is added by the logger program that apache is
> using to send the 
> logs to syslog.
> 
> a properly formatted syslog message will include a
> timestamp and what 
> server it came from (note that the apache logs do _not_
> tell you what 
> virtual server the log comes from, it usually uses a
> different file for 
> each log, so when you mix them into syslog you won't be
> able to tell them 
> apart)
> 
> so you have three basic options
> 
> 1. let logger do it's default thing and then use a
> formatting command to 
> strip off the 'syslogie' parts to get back to the apache
> default in the 
> file
> 
> 2. leave the 'syslogie' parts in when you write it to a
> file and have your 
> analysis tool strip them out
> 
> 3. reformat the apache log message so that you put useful
> information in 
> the 'syslogie' parts of the message.
> 
> you can move the timestamp to the beginning (you can do
> this with or 
> without the timezone, the format obviously differs
> slightly)
> 
> you can put the name of the virtual host in the server
> field
> 
> you can replace 'logger:' with something like apache[80]:
> or apache[443]:
> 
> I am going to be setting up something along the lines of #3
> in the next 
> few weeks. I figure I will also want to tinker with other
> things in the 
> log message. there are items that apache can log, but does
> not log by 
> default (I believe that how long it took to process the
> request is one of 
> these), and also since syslog defaults to limiting log
> messages to 1-2K 
> (depending on your impementation), there are some fields
> that I would want 
> to move late in the message so that if they get very long
> they don't cause 
> other fields to be lost due to truncation (URL and referrer
> fields can be 
> several K long by themselves)
> 
> David Lang
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com
> 
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to