Add logstreamer

Change-Id: Ie6e87290b8503e8d5d793454445c1186cbba9822
diff --git a/horizon/files/openstack-dashboard.conf.Debian b/horizon/files/openstack-dashboard.conf.Debian
index 5882391..f903c08 100644
--- a/horizon/files/openstack-dashboard.conf.Debian
+++ b/horizon/files/openstack-dashboard.conf.Debian
@@ -26,8 +26,9 @@
     Require all granted
   </Directory>
   ServerSignature Off
+  LogFormat "{{ server.apache_log_format }}" horizon
   ErrorLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_error.log"
-  CustomLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_access.log" combined
+  CustomLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_access.log" horizon
 
 </VirtualHost>
 
@@ -61,8 +62,9 @@
   </Directory>
 
   ServerSignature Off
-  ErrorLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_ssl_error.log"
-  CustomLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_access_ssl.log" combined
+  LogFormat "{{ server.apache_log_format }}" horizon
+  ErrorLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_error_ssl.log"
+  CustomLog "{{ server.apache_log_dir }}/{{ server.apache_log_filename }}_access_ssl.log" horizon
 </VirtualHost>
 
 {% endif %}
diff --git a/horizon/map.jinja b/horizon/map.jinja
index b896fa1..5c70160 100644
--- a/horizon/map.jinja
+++ b/horizon/map.jinja
@@ -11,6 +11,7 @@
         'apache_config': '/etc/apache2/conf-available/openstack-dashboard.conf',
         'apache_log_dir': '/var/log/apache2',
         'apache_log_filename': 'openstack_dashboard',
+        'apache_log_format': '%h %t %m \\"%U%q\\" %H %>s %O %D \\"%{Referer}i\\" \\"%{User-Agent}i\\"',
         'certs_dir': '/etc/ssl/certs',
         'private_dir': '/etc/ssl/private',
         'port_config_file': '/etc/apache2/ports.conf',
@@ -29,6 +30,7 @@
         'apache_config': '/etc/httpd/conf.d/openstack-dashboard.conf',
         'apache_log_dir': '/var/log/httpd',
         'apache_log_filename': 'openstack_dashboard',
+        'apache_log_format': '%h %t %m \\"%U%q\\" %H %>s %O %D \\"%{Referer}i\\" \\"%{User-Agent}i\\"',
         'certs_dir': '/etc/pki/tls/certs',
         'private_dir': '/etc/pki/tls/private',
         'port_config_file': '/etc/httpd/conf/httpd.conf',
diff --git a/horizon/meta/heka.yml b/horizon/meta/heka.yml
new file mode 100644
index 0000000..100488f
--- /dev/null
+++ b/horizon/meta/heka.yml
@@ -0,0 +1,22 @@
+{%- from "horizon/map.jinja" import server with context %}
+log_collector:
+  decoder:
+    horizon_apache_access:
+      engine: sandbox
+      module_file: /usr/share/lma_collector/decoders/lma_apache_access.lua
+      module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
+      adjust_timezone: true
+      config:
+        type: "log"
+        log_format: '{{ server.apache_log_format }}'
+        user_agent_transform: true
+        payload_keep: true
+  input:
+    horizon_apache_access:
+      engine: logstreamer
+      log_directory: "{{ server.apache_log_dir}}"
+      file_match: '{{ server.apache_log_filename }}_access(?P<Service>.*)\.log\.?(?P<Seq>\d*)'
+      differentiator: [ 'openstack.horizon', 'Service' ]
+      priority: ["^Seq"]
+      decoder: "horizon_apache_access_decoder"
+      splitter: "TokenSplitter"
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
index 2ebbaee..4f19089 100644
--- a/metadata/service/support.yml
+++ b/metadata/service/support.yml
@@ -4,7 +4,7 @@
       collectd:
         enabled: false
       heka:
-        enabled: false
+        enabled: true
       sensu:
         enabled: true
       sphinx: