Collect API logs for Nova placement API
Change-Id: I478225eb4a59e80e4dcef2826203e072236e33ba
diff --git a/nova/files/ocata/nova-placement-api.conf b/nova/files/ocata/nova-placement-api.conf
index 02e88cc..e7cde11 100644
--- a/nova/files/ocata/nova-placement-api.conf
+++ b/nova/files/ocata/nova-placement-api.conf
@@ -14,7 +14,7 @@
</IfVersion>
ErrorLog /var/log/apache2/nova_placement_error.log
- CustomLog /var/log/apache2/nova_placement_access.log combined
+ CustomLog /var/log/apache2/nova_placement_access.log "%v:%p %h %l %u %t \"%r\" %>s %D %O \"%{Referer}i\" \"%{User-Agent}i\""
<Directory /usr/bin>
<IfVersion >= 2.4>
diff --git a/nova/meta/heka.yml b/nova/meta/heka.yml
index 6121039..2ff45c8 100644
--- a/nova/meta/heka.yml
+++ b/nova/meta/heka.yml
@@ -1,3 +1,5 @@
+{% from "nova/map.jinja" import controller with context %}
+{%- set apache_wsgi = controller.get('enabled') and controller.version not in ('juno', 'kilo', 'liberty', 'mitaka', 'newton') %}
log_collector:
decoder:
nova:
@@ -11,6 +13,16 @@
module_file: /usr/share/lma_collector/decoders/libvirt_log.lua
module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
{%- endif %}
+ {%- if apache_wsgi %}
+ nova_placement_wsgi:
+ engine: sandbox
+ module_file: /usr/share/lma_collector/decoders/apache_wsgi_log.lua
+ module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
+ config:
+ logger: openstack.nova_placement
+ apache_log_pattern: >-
+ %v:%p %h %l %u %t \"%r\" %>s %D %O \"%{Referer}i\" \"%{User-Agent}i\"
+ {%- endif %}
splitter:
nova:
engine: token
@@ -33,6 +45,16 @@
decoder: "libvirt_decoder"
splitter: "TokenSplitter"
{%- endif %}
+ {%- if apache_wsgi %}
+ nova_placement_wsgi_log:
+ engine: logstreamer
+ log_directory: "/var/log/apache2"
+ file_match: 'nova_placement_access\.log'
+ differentiator: ['nova-placement-wsgi']
+ priority: ["^Seq"]
+ decoder: "nova_placement_wsgi_decoder"
+ splitter: "TokenSplitter"
+ {%- endif %}
metric_collector:
trigger:
nova_logs_error: