[openstack-dev] [kolla] Can Heka solve all the deficiencies in the current rsyslog implementation: was Re: [kolla] Introduction of Heka in Kolla

Lei Zhang zhang.lei.fly at gmail.com
Mon Jan 25 01:01:05 UTC 2016


Just FYI.

Docker support multi log driver now[0].

Version New Logging Drivers
1.6.0 json-file, syslog, none
1.7.0 journald
1.8.0 fluentd, gelf
1.9.0 awslogs

For the stdout from container, we can use gelf/syslog driver to forward.

[0] https://docs.docker.com/engine/reference/logging/overview/

On Fri, Jan 15, 2016 at 8:28 AM, Steven Dake (stdake) <stdake at cisco.com>
wrote:

> Eric,
>
> Comments inline.
>
> On 1/14/16, 3:31 AM, "Eric LEMOINE" <elemoine at mirantis.com> wrote:
>
> >On Wed, Jan 13, 2016 at 1:27 PM, Steven Dake (stdake) <stdake at cisco.com>
> >wrote:
> >> Eric,
> >
> >
> >Hi Steven
>
>
> Feel free to call me Steve
>
> >
> >
> >>
> >> Apologies for top post, not really sure where in this thread to post
> >>this
> >> list of questions as its sort of a change in topic so I changed the
> >> subject line :)
> >>
> >> 1.
> >> Somewhere I read when researching this Heka topic, that Heka cannot log
> >> all details from /dev/log.  Some services like mariadb for example don't
> >> log to stdout as I think Heka requires to operate correctly.  Would you
> >> mind responding on the question "Would Heka be able to effectively log
> >> every piece of information coming off the system related to OpenStack
> >>(our
> >> infrastructure services like ceph/mariadb/etc as well as the OpenStack
> >> services)?
> >
> >
> >My first reaction to this is: if we have services, such as mariadb,
> >that can only send their logs to syslog then let's continue using
> >Rsyslog.  And with Rsyslog we can easily store logs on the local
> >filesystem as well (your requirement #3 below).
>
> Rsyslog may be the best tool for this job.  I'll be looking to your POC to
> get a feel for the validity of that claim :)
>
> >
> >That being said, it appears that Heka supports reading logs from
> >/dev/log.  This can be done using the UdpInput plugin with "net" set
> >to "unixgram".  See
> ><https://github.com/mozilla-services/heka/issues/790> for the original
> >issue.  Heka also supports writing logs to files on the local
> >filesystem, through the FileOutput plugin.  We do not currently use
> >the UdpInput plugin, so we need to test it and see if it can work for
> >Kolla.  We will work on these tests, and report back to the list.
> >
> >
> >
> >> 2.
> >> Also, I want to make sure we can fix up the backtrace defeciency.
> >> Currently rsyslog doesn't log backtraces in python code.  Perhaps Sam or
> >> inc0 know the reason behind it, but I want to make sure we can fix up
> >>this
> >> annoyance, because backtraces are mightily important.
> >
> >
> >I've had a look on my AIO Kolla.  And I do see Python tracebacks in
> >OpenStack log files created by Rsyslog (in
> >/var/lib/docker/volumes/rsyslog/_data/nova/nova-api.log for example).
> >They're just on a single line, with "#012" used as the separator [*].
> >So they are hard to read, but they are there.  I think that is
> >consistent with what SamYaple and inc0 said yesterday on IRC.
> >
> >[*] This is related to Rsyslog's $EscapeControlCharactersOnReceive
> >setting. See
> ><
> http://www.rsyslog.com/doc/master/configuration/input_directives/rsconf1_
> >escapecontrolcharactersonreceive.html>.
> >
>
> Apparently the one-lining of the tracebacks is a new feature because of a
> bug fix in oslo.log that dims fixed for us.  So my original comments about
> missing backtraces was dated information from December.
>
> >
> >> 3.
> >> Also I want to make sure each node ends up with log files in a data
> >> container (or data volume or whatever we just recently replaced the data
> >> containers with) for all the services for individual node diagnostics.
> >> This helps fill the gap of the Kibana visualization and Elasticsearch
> >> where we may not have a perfect diagnostic solution at the conclusion of
> >> Mitaka and in need of individual node inspection of the logs.  Can Heka
> >>be
> >> made to do this?  Our rsyslog implementation does today, and its a hard
> >> requirement for the moment.  If we need some special software to run in
> >> addition to Heka, I could live with that.
> >
> >
> >That "special software" could be Rsyslog :)  Seriously, Rsyslog
> >provides a solution for getting logs from services that only log to
> >syslog.  We can also easily configure Rsyslog to write logs on the
> >local filesystem, as done in Kolla already today.  And using Heka we
> >can easily make Python tracebacks look good in Kibana.
> >
> >I would like to point out that our initial intent was not to remove
> >Rsyslog.  Our intent was to propose a scalable/decentralized log
> >processing architecture based on Heka running on each node, instead of
> >relying on a centralized Logstash instance.  Using Heka we eliminate
> >the need to deploy and manage a resilient Logstash/Redis cluster.  And
> >it is to be noted that Heka gives us a lot of flexibility.  In
> >particular, Heka makes it possible to collect logs from services that
> >don't speak syslog (RabbitMQ for example, whose logs are not currently
> >collected!).
>
>
> FWIW the concern that logstash isn't scalable is unsubstantiated.  IMNSHO
> the reason to use Heka is it does two things we need with one component
> while removing JVMs from each compute node.  This is my main attraction to
> the adoption of Heka.
>
> >
> >As mentioned above Heka provides plugins that we could possibly
> >leverage to remove Rsyslog completely, but at this point we cannot
> >guarantee that they will do the job.  Our coming tests will tell.
>
> If the plugins work in a way in which we can remove rsyslog completely, I
> would prefer that outcome.  Less dependencies in software systems are
> better.
>
> Regards
> -steve
>
> >
> >Thanks.
> >
> >__________________________________________________________________________
> >OpenStack Development Mailing List (not for usage questions)
> >Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> >http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Jeffrey Zhang
Blog: http://xcodest.me
twitter/weibo: @jeffrey4l
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160125/780c2552/attachment.html>


More information about the OpenStack-dev mailing list