diff --git a/files/event_pipeline_alarm.yaml b/files/event_pipeline_alarm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..626006fae1bd1c9842bfd2026b6e4dd2aa2f1ed4
--- /dev/null
+++ b/files/event_pipeline_alarm.yaml
@@ -0,0 +1,13 @@
+---
+sources:
+    - name: event_source
+      events:
+          - "*"
+      sinks:
+          - event_sink
+sinks:
+    - name: event_sink
+      transformers:
+      publishers:
+          - notifier://
+          - notifier://?topic=alarm.all
diff --git a/hooks/ceilometer_hooks.py b/hooks/ceilometer_hooks.py
index 7f18c0afd15cbf9dc5596853450906cf63aede07..afd6cd0d6787ef1c9401daa7b0401fb51cd03f25 100755
--- a/hooks/ceilometer_hooks.py
+++ b/hooks/ceilometer_hooks.py
@@ -184,6 +184,7 @@ def config_changed():
         if openstack_upgrade_available('ceilometer-common'):
             status_set('maintenance', 'Upgrading to new OpenStack release')
             do_openstack_upgrade(CONFIGS)
+    install_event_pipeline_setting()
     update_nrpe_config()
     CONFIGS.write_all()
     # NOTE(jamespage): Drop when charm switches to apache2+mod_wsgi
@@ -204,6 +205,14 @@ def config_changed():
         ha_joined(rid)
 
 
+def install_event_pipeline_setting():
+    src_file = 'files/event_pipeline_alarm.yaml'
+    dest_file = '/etc/ceilometer/event_pipeline_alarm.yaml'
+    if not os.path.isdir(os.path.dirname(dest_file)):
+        os.makedirs(os.path.dirname(dest_file))
+    shutil.copy(src_file, dest_file)
+
+
 @hooks.hook('upgrade-charm')
 @harden()
 def upgrade_charm():
diff --git a/templates/mitaka/ceilometer.conf b/templates/mitaka/ceilometer.conf
index dc64536150ded9f98c7afc607e41242f629c0deb..6c7c920daf3d166242cf8cb82ac8904c0c156012 100644
--- a/templates/mitaka/ceilometer.conf
+++ b/templates/mitaka/ceilometer.conf
@@ -8,6 +8,7 @@
 debug = {{ debug }}
 verbose = {{ verbose }}
 use_syslog = {{ use_syslog }}
+event_pipeline_cfg_file = /etc/ceilometer/event_pipeline_alarm.yaml
 
 [api]
 port = {{ port }}
diff --git a/unit_tests/test_ceilometer_hooks.py b/unit_tests/test_ceilometer_hooks.py
index 878496a15084c2f5b1429d6da16dc862898cf9cd..5bd4f823090bb2f4c89a7c07c380a86017cb911e 100644
--- a/unit_tests/test_ceilometer_hooks.py
+++ b/unit_tests/test_ceilometer_hooks.py
@@ -147,44 +147,51 @@ class CeilometerHooksTest(CharmTestCase):
         self.assertTrue(changed.called)
         self.assertTrue(install.called)
 
+    @patch.object(hooks, 'install_event_pipeline_setting')
     @patch('charmhelpers.core.hookenv.config')
     @patch.object(hooks, 'ceilometer_joined')
     @patch.object(hooks, 'install_ceilometer_ocf')
     def test_config_changed_no_upgrade(self, ocf,
-                                       joined, mock_config):
+                                       joined, mock_config, event_pipe):
         self.openstack_upgrade_available.return_value = False
         hooks.hooks.execute(['hooks/config-changed'])
         self.openstack_upgrade_available.\
             assert_called_with('ceilometer-common')
         self.assertFalse(self.do_openstack_upgrade.called)
+        self.assertTrue(event_pipe.called)
         self.assertTrue(self.CONFIGS.write_all.called)
         self.assertTrue(joined.called)
         self.assertTrue(self.reload_systemd.called)
         self.assertTrue(ocf.called)
 
+    @patch.object(hooks, 'install_event_pipeline_setting')
     @patch('charmhelpers.core.hookenv.config')
     @patch.object(hooks, 'ceilometer_joined')
     @patch.object(hooks, 'install_ceilometer_ocf')
     def test_config_changed_upgrade(self, ocf,
-                                    joined, mock_config):
+                                    joined, mock_config, event_pipe):
         self.openstack_upgrade_available.return_value = True
         hooks.hooks.execute(['hooks/config-changed'])
         self.openstack_upgrade_available.\
             assert_called_with('ceilometer-common')
         self.assertTrue(self.do_openstack_upgrade.called)
+        self.assertTrue(event_pipe.called)
         self.assertTrue(self.CONFIGS.write_all.called)
         self.assertTrue(joined.called)
         self.assertTrue(self.reload_systemd.called)
         self.assertTrue(ocf.called)
 
+    @patch.object(hooks, 'install_event_pipeline_setting')
     @patch.object(hooks, 'install_ceilometer_ocf')
-    def test_config_changed_with_openstack_upgrade_action(self, ocf):
+    def test_config_changed_with_openstack_upgrade_action(self, ocf,
+                                                          event_pipe):
         self.openstack_upgrade_available.return_value = True
         self.test_config.set('action-managed-upgrade', True)
 
         hooks.hooks.execute(['hooks/config-changed'])
 
         self.assertFalse(self.do_openstack_upgrade.called)
+        self.assertTrue(event_pipe.called)
         self.assertTrue(ocf.called)
 
     @patch.object(hooks, 'canonical_url')