Hi Alec,
To get around some of the issues with imfile and the default inotify mode,
we changed to module(load="imfile" mode="polling").
We don't see any issues with rotated logs.
Ciprian
--
Performance Monitoring * Log Analytics * Search Analytics
Solr & Elasticsearch Support * http://sematext.com/
On Sun, Dec 13, 2015 at 7:49 PM, Alec Swan <[email protected]> wrote:
> David, cassandra.log file exists when I start rsyslog. However, I
noticed
> that Cassandra recreates the log file every time it restarts. So, that
> explains why I need to restart rsyslog (so that it re-reads the new file
> recreated by Cassandra) after Cassandra restarts.
> Is there a way to configure rsyslog to read files which get periodically
> recreated?
>
> Thanks,
>
> Alec
>
> On Sun, Dec 13, 2015 at 1:07 AM, David Lang <[email protected]> wrote:
>
> > I suspect that no logs are being read from the file before you
restart.
> >
> > does the logfile exist when rsyslog starts?
> >
> > if you do a HUP of rsyslog instead of a restart, does it start reading
> > logs from the file?
> >
> > impstats would show how many logs have been processed from that input.
> >
> > David Lang
> >
> > On Sun, 13 Dec 2015, Alec Swan wrote:
> >
> > Date: Sun, 13 Dec 2015 00:26:40 -0700
> >> From: Alec Swan <[email protected]>
> >> Reply-To: rsyslog-users <[email protected]>
> >> To: rsyslog-users <[email protected]>
> >> Subject: Re: [rsyslog] Delayed batch processing
> >>
> >>
> >> Ciprian, that's correct, I am using imfile to tail cassandra.log.
Sorry
> I
> >> wasn't clear about that. I am not using startmsg.regex setting. My
> >> configuration for imfile, template and liblognorm rule are shown
below.
> >> I'd
> >> like to make clear that it's dozens of log lines, not just the last
one,
> >> that are not being sent. Note that Cassandra log lines start with a
> space,
> >> which I handle in liblognorm rule (see below).
> >>
> >> input(
> >> type = "imfile"
> >> File = "/var/log/cassandra/cassandra.log"
> >> Tag = "cassandra"
> >> readMode = "0"
> >> Facility = "local2"
> >> Ruleset = "cassandra.log"
> >> )
> >>
> >> ruleset(name = "cassandra.log") {
> >> # Properties prefixed with $! will be included in json by
> mmnormalize
> >> #set $!@timestamp = $timereported;
> >> set $!@timestamp = exec_template("timereportedrfc3339");
> >> set $!host = $hostname;
> >> set $!severity = $syslogseverity-text;
> >> set $!facility = $syslogfacility-text;
> >> set $!syslogtag = $syslogtag;
> >> set $!filename = "cassandra.log";
> >>
> >> # Parse logfile using liblognorm
> >>
> >> action(type = "mmnormalize" rulebase =
> >> "/etc/rsyslog.d/rules/cassandra.log.rb")
> >>
> >>
> >> # Output parsed logs
> >> action(type = "omfile" template="es-payload"
> >> file="/var/log/rsyslog/rsyslog-cassandra.log" FileCreateMode="0644")
> >> action(
> >> type = "omelasticsearch"
> >> template = "es-payload"
> >> dynSearchIndex = "on"
> >> searchIndex = "logstash-index"
> >> searchType = "cassandra"
> >> server = "myhost"
> >> serverport = "9200"
> >> errorFile = "/var/log/rsyslog/ES-error.log"
> >> bulkmode = "on"
> >> action.resumeretrycount="5" # retry if ES is unreachable (-1
> for
> >> infinite retries)
> >> action.resumeInterval="60"
> >> queue.dequeuebatchsize="1000" # ES bulk size
> >> queue.type="FixedArray"
> >> queue.size="100000"
> >> queue.workerthreads="5"
> >> queue.spoolDirectory="/var/spool/rsyslog"
> >> queue.filename="plain"
> >> queue.maxfilesize="100m"
> >> queue.maxdiskspace="1g"
> >> # queue.highwatermark="50000"
> >> # queue.lowwatermark="20000"
> >> queue.saveonshutdown="on"
> >> )
> >> stop
> >> }
> >>
> >>
> >> Liblognorm configuration in /etc/rsyslog.d/rules/cassandra.log.rb:
> >>
> >>
> >> # The rule to parse each line in the log file. IMPORTANT: The leading
> >> space
> >> is important (see
> >> http://www.rsyslog.com/log-normalization-and-the-leading-space/)
> >> rule=: %log_level:word% %log_time:word% %message:rest%
> >>
> >> On Sun, Dec 13, 2015 at 12:01 AM, Ciprian Hacman <
> >> [email protected]> wrote:
> >>
> >> I see Alec is using imfile and omelasticsearch so I suppose he is
> tailing
> >>> a
> >>> log file.
> >>> By any chance, are you using Cassandra to capture multiline logs
(using
> >>> the
> >>> startmsg.regex setting)? That would explain why the last log line is
> not
> >>> sent until restart.
> >>>
> >>> Ciprian
> >>>
> >>> --
> >>> Performance Monitoring * Log Analytics * Search Analytics
> >>> Solr & Elasticsearch Support * http://sematext.com/
> >>>
> >>> On Sun, Dec 13, 2015 at 6:45 AM, David Lang <[email protected]> wrote:
> >>>
> >>> On Sat, 12 Dec 2015, Alec Swan wrote:
> >>>>
> >>>> David, I don't have name= attribute in the action statement.
However,
> >>>>
> >>> there
> >>>
> >>>> are log messages from omelasticsearch module after rsyslog restart
> (see
> >>>>>
> >>>> my
> >>>
> >>>> previous email).
> >>>>>
> >>>>> Cassandra does not generate a log of logs and I noticed that the
few
> >>>>>
> >>>> that
> >>>
> >>>> get generated are not sent to elasticsearch until rsyslog is
> restarted.
> >>>>>
> >>>> It
> >>>
> >>>> feels like logs are being buffered and then sent to ES on
subsequent
> >>>>> startup.
> >>>>>
> >>>>> So, here is what I see happening:
> >>>>> 1. I start Rsyslog
> >>>>> 2. I start Cassandra and it generates several dozens of log lines
> >>>>> 3. No logs show up in ES (even if I restart Cassandra several
times)
> >>>>> 4. I restart Rsyslog
> >>>>> 5. The logs generated in step 2 show up in ES
> >>>>>
> >>>>>
> >>>> This does not sound like rsyslog is buffering the logs, but that
there
> >>>> is
> >>>> some other problem.
> >>>>
> >>>>
> >>>> how are the logs getting from Cassandra to rsyslog?
> >>>>
> >>>> can you enable impstats so that you can see how many logs are
> received,
> >>>> and how many are processed by the various actions?
> >>>>
> >>>> it would help to name new style actions so that it's easier to
track
> >>>>
> >>> them.
> >>>
> >>>>
> >>>> in your debug log (the output of -dn), track a known message that
> >>>> Cassandra generates and see exactly what happens to it.
> >>>>
> >>>>
> >>>> David Lang
> >>>> _______________________________________________
> >>>> rsyslog mailing list
> >>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >>>> http://www.rsyslog.com/professional-services/
> >>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
> >>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
> myriad
> >>>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if
you
> >>>> DON'T LIKE THAT.
> >>>>
> >>>> _______________________________________________
> >>> rsyslog mailing list
> >>> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >>> http://www.rsyslog.com/professional-services/
> >>> What's up with rsyslog? Follow https://twitter.com/rgerhards
> >>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
> myriad
> >>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if
you
> >>> DON'T LIKE THAT.
> >>>
> >>> _______________________________________________
> >> rsyslog mailing list
> >> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >> http://www.rsyslog.com/professional-services/
> >> What's up with rsyslog? Follow https://twitter.com/rgerhards
> >> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
myriad
> >> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if
you
> >> DON'T LIKE THAT.
> >>
> >> _______________________________________________
> > rsyslog mailing list
> > http://lists.adiscon.net/mailman/listinfo/rsyslog
> > http://www.rsyslog.com/professional-services/
> > What's up with rsyslog? Follow https://twitter.com/rgerhards
> > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
myriad
> > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
> > DON'T LIKE THAT.
> >
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com/professional-services/
> What's up with rsyslog? Follow https://twitter.com/rgerhards
> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
> DON'T LIKE THAT.
>
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
DON'T LIKE THAT.