5 Commits

Author SHA1 Message Date
Steven Dake
8307b06a46 Swift busted with Heka
Swift and heka were broken by an optimization that resulted in
a regression in commit:
0a1486a2c73275009f7158c911e7bfd683e40a58

This patch fixes that problem.

Change-Id: I02c6cf4de4f807c3ec66e2d4f59f182d0b864ea3
Closes-Bug: #1560788
2016-03-23 02:08:29 -04:00
Jenkins
f14b931286 Merge "Copy the logs out of the container" 2016-03-09 04:17:50 +00:00
Jeffrey Zhang
12d6eeceb5 Copy the logs out of the container
Heka logs almost done. When testing, The collected logs can copy
to the /tmp/logs folder, which will be handle by the gate. This
will be very useful for our gate debug.

TrivialFix

Change-Id: I06ca8ebd13933bfd15cb2fb5e53fc3038b17b8c3
2016-03-09 09:34:59 +08:00
Éric Lemoine
491aff0b88 Make Heka send logs to Elasticsearch
This patch includes changes relative to integrating Heka with
Elasticsearch and Kibana.

The main change is the addition of an Heka ElasticSearchOutput plugin
to make Heka send the logs it collects to Elasticsearch.

Since Logstash is not used the enable_elk deploy variable is renamed
to enable_central_logging.

If enable_central_logging is false then Elasticsearch and Kibana are
not started, and Heka won't attempt to send logs to Elasticsearch.

By default enable_central_logging is set to false. If
enable_central_logging is set to true after deployment then the Heka
container needs to be recreated (for Heka to get the new
configuration).

The Kibana configuration used property names that are deprecated in
Kibana 4.2. This is changed to use non-deprecated property names.

Previously logs read from files and from Syslog had a different Type
in Heka. This is changed to always use "log" for the Type. In this
way just one index instead of two is used in Elasticsearch, making
things easier to the user on the visualization side.

The HAProxy configuration is changed to add entries for Kibana.
Kibana server is now accessible via the internal VIP, and also via
the external VIP if there's one configured.

The HAProxy configuration is changed to add an entry for
Elasticsearch. So Elasticsearch is now accessible via the internal
VIP. Heka uses that channel for communicating with Elasticsearch.

Note that currently the Heka logs include "Plugin
elasticsearch_output" errors when Heka starts. This occurs when Heka
starts processing logs while Elasticsearch is not yet started. These
are transient errors that go away when Elasticsearch is ready. And
with buffering enabled on the ElasticSearchOuput plugin logs will be
buffered and then retransmitted when Elasticsearch is ready.

Change-Id: I6ff7a4f0ad04c4c666e174693a35ff49914280bb
Implements: blueprint central-logging-service
2016-03-05 11:51:49 +01:00
Éric Lemoine
88633684a1 Make Heka collect Swift logs
Partially implements: blueprint heka
Change-Id: I893a0c4a4cab9d4d98821634ddd2ff67015c4e3f
2016-02-19 21:56:05 +00:00