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.

Reply via email to