diff --git a/heka/_service.sls b/heka/_service.sls
index f509f45..687b30d 100644
--- a/heka/_service.sls
+++ b/heka/_service.sls
@@ -2,13 +2,6 @@
 
 {%- if server.enabled is defined and server.enabled %}
 
-heka_{{ service_name }}_log_file:
-  file.managed:
-  - name: /var/log/{{ service_name }}.log
-  - user: heka
-  - mode: 644
-  - replace: false
-
 heka_{{ service_name }}_conf_dir:
   file.directory:
   - name: /etc/{{ service_name }}
@@ -53,6 +46,45 @@
 
 {%- if not systemd_enabled %}
 
+heka_{{ service_name }}_log_file:
+  file.managed:
+  - name: /var/log/{{ service_name }}.log
+  - user: heka
+  - mode: 644
+  - replace: false
+
+{%- set logrotate_conf = "/etc/logrotate_" ~ service_name ~ ".conf" %}
+
+{{ logrotate_conf }}:
+  file.managed:
+  - source: salt://heka/files/heka_logrotate.conf
+  - template: jinja
+  - defaults:
+    service_name: {{ service_name }}
+  - user: root
+  - group: root
+  - mode: 644
+
+{%- set logrotate_command = "/usr/local/bin/" ~ service_name ~ "_logrotate" %}
+
+{{ logrotate_command }}:
+  file.managed:
+  - source: salt://heka/files/heka_logrotate.cron
+  - template: jinja
+  - defaults:
+    service_name: {{ service_name }}
+    logrotate_conf: {{ logrotate_conf }}
+  - user: root
+  - group: root
+  - mode: 755
+  - require:
+    - file: {{ logrotate_conf }}
+  cron.present:
+  - identifier: {{ service_name }}_logrotate_cron
+  - minute: '*/30'
+  - require:
+    - file: {{ logrotate_command }}
+
 heka_{{ service_name }}_service_wrapper:
   file.managed:
   - name: /usr/local/bin/{{ service_name }}_wrapper
diff --git a/heka/files/heka_logrotate.conf b/heka/files/heka_logrotate.conf
new file mode 100644
index 0000000..2e290ad
--- /dev/null
+++ b/heka/files/heka_logrotate.conf
@@ -0,0 +1,21 @@
+/var/log/{{ service_name }}.log {
+  # Heka cannot be told to close its log file and re-open it so we need to
+  # use the copytruncate option
+  copytruncate
+  compress
+  delaycompress
+  missingok
+  notifempty
+  # logrotate allows to use only year, month, day and unix epoch
+  dateext
+  dateformat -%Y%m%d-%s
+  # number of rotated files to keep
+  rotate 10
+  # do not rotate files unless both size and time conditions are met
+  hourly
+  minsize 20M
+  # force rotate if filesize exceeded 100M
+  maxsize 100M
+  # this must map the /var/log directory group ownership
+  su root syslog
+}
diff --git a/heka/files/heka_logrotate.cron b/heka/files/heka_logrotate.cron
new file mode 100644
index 0000000..cc3e249
--- /dev/null
+++ b/heka/files/heka_logrotate.cron
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+test -x /usr/sbin/logrotate || exit 0
+
+LOCK_FILE="/var/lock/logrotate.{{ service_name }}.lock"
+
+lock() {
+    exec 903>$LOCK_FILE
+    flock -n 903 && return 0 || return 1
+}
+
+unlock() {
+    flock -u 903
+}
+
+fail() {
+    if [ -z "$1" ]
+    then
+        MESSAGE="WARNING logrotate failed, no reason provided"
+    else
+        MESSAGE=$1
+    fi
+    /usr/bin/logger -t logrotate "{{ service_name }} ${MESSAGE}"
+    unlock
+    exit 1
+}
+
+lock || fail "WARNING {{ service_name }} logrotate flock failed, exiting"
+
+
+TMP_FILE=$(/bin/mktemp)
+nice ionice -c3 /usr/sbin/logrotate -s /var/lib/logrotate/{{ service_name }}.status {{ logrotate_conf }} >& $TMP_FILE
+EXITVALUE=$?
+
+if [ -f /etc/redhat-release ] || [ -f /etc/centos-release ];
+then
+    # Due to bug in logrotate on centos/rhel, it always returns 0. Use grep for
+    # detect errors; exit code 1 is considered a success as no errors were
+    # found.
+    grep -q error $TMP_FILE
+    EXITVALUE=$?
+    EXPECTEDVALUE=1
+else
+    EXPECTEDVALUE=0
+fi
+rm $TMP_FILE
+
+if [ "${EXITVALUE}" != "${EXPECTEDVALUE}" ]; then
+    fail "ALERT exited abnormally with [${EXITVALUE}] (${EXPECTEDVALUE} was expected)"
+fi
+
+unlock
+exit 0
diff --git a/heka/files/lma_alarm.lua b/heka/files/lma_alarm.lua
index b826112..56530d3 100644
--- a/heka/files/lma_alarm.lua
+++ b/heka/files/lma_alarm.lua
@@ -35,6 +35,9 @@
             {%- endfor %}
           },
           {%- endif %}
+          {%- if _rule.value is defined %}
+          ['value'] = '{{ _rule.value }}',
+          {%- endif %}
         },
         {%- endfor %}
       },
diff --git a/heka/files/lua/decoders/collectd.lua b/heka/files/lua/decoders/collectd.lua
index 8762b54..b206100 100644
--- a/heka/files/lua/decoders/collectd.lua
+++ b/heka/files/lua/decoders/collectd.lua
@@ -260,6 +260,7 @@
                 end
             elseif metric_source == 'nova' then
                 if sample['plugin_instance'] == 'nova_services' or
+                   sample['plugin_instance'] == 'nova_services_percent' or
                    sample['plugin_instance'] == 'nova_service'  then
                     msg['Fields']['name'] = 'openstack_' .. sample['plugin_instance']
                     msg['Fields']['service'] = sample['meta']['service']
@@ -276,6 +277,7 @@
                 end
             elseif metric_source == 'cinder' then
                 if sample['plugin_instance'] == 'cinder_services' or
+                   sample['plugin_instance'] == 'cinder_services_percent' or
                    sample['plugin_instance'] == 'cinder_service' then
                     msg['Fields']['name'] = 'openstack_' .. sample['plugin_instance']
                     msg['Fields']['service'] = sample['meta']['service']
@@ -308,6 +310,7 @@
                 elseif sample['type_instance'] == 'subnets' then
                     msg['Fields']['name'] = 'openstack'  .. sep .. 'neutron' .. sep .. 'subnets'
                 elseif sample['type_instance'] == 'neutron_agents' or
+                       sample['type_instance'] == 'neutron_agents_percent' or
                        sample['type_instance'] == 'neutron_agent' then
                     msg['Fields']['name'] = 'openstack_' .. sample['type_instance']
                     msg['Fields']['service'] = sample['meta']['service']
diff --git a/heka/files/lua/decoders/lma_apache_access.lua b/heka/files/lua/decoders/lma_apache_access.lua
index 704e4d8..bf41ff1 100644
--- a/heka/files/lua/decoders/lma_apache_access.lua
+++ b/heka/files/lua/decoders/lma_apache_access.lua
@@ -77,11 +77,11 @@
     end
     if fields.request_time then
         if fields.request_time.representation == 'us' then
-            fields.http_response_size = fields.request_time.value / 1e6
+            fields.http_response_time = fields.request_time.value / 1e6
         elseif fields.request_time.representation == 'ms' then
-            fields.http_response_size = fields.request_time.value / 1e3
+            fields.http_response_time = fields.request_time.value / 1e3
         else
-            fields.http_response_size = fields.request_time.value
+            fields.http_response_time = fields.request_time.value
         end
         fields.request_time = nil
     end
