Monitor Apache service
Change-Id: Id31a7028138f37f2f491cf3df87349e58a14774d
diff --git a/apache/files/collectd_apache.conf b/apache/files/collectd_apache.conf
index 6521604..9b56951 100644
--- a/apache/files/collectd_apache.conf
+++ b/apache/files/collectd_apache.conf
@@ -1,9 +1,6 @@
-{%- from "apache/map.jinja" import server with context %}
LoadPlugin "apache"
<Plugin "apache">
- <Instance "apache80">
+ <Instance "localhost">
URL "http://127.0.0.1/server-status?auto"
-# User "collectd"
-# Password "hoh2Coo6"
</Instance>
</Plugin>
diff --git a/apache/files/collectd_apache_check.conf b/apache/files/collectd_apache_check.conf
new file mode 100644
index 0000000..9974921
--- /dev/null
+++ b/apache/files/collectd_apache_check.conf
@@ -0,0 +1,5 @@
+Import "collectd_apache_check"
+
+<Module "collectd_apache_check">
+ Url "http://127.0.0.1/server-status?auto"
+</Module>
diff --git a/apache/meta/collectd.yml b/apache/meta/collectd.yml
index e8620a8..2d3018f 100644
--- a/apache/meta/collectd.yml
+++ b/apache/meta/collectd.yml
@@ -1,5 +1,9 @@
-plugin:
+{%- from "apache/map.jinja" import server with context %}
+{%- if server.get('enabled', False) %}
+local_plugin:
apache_server_status:
- plugin: apache
- interval: 60
- template: apache/files/collectd_apache.conf
\ No newline at end of file
+ template: apache/files/collectd_apache.conf
+ collectd_apache_check:
+ plugin: python
+ template: apache/files/collectd_apache_check.conf
+{%- endif %}
diff --git a/apache/meta/heka.yml b/apache/meta/heka.yml
index ebc3b42..e488815 100644
--- a/apache/meta/heka.yml
+++ b/apache/meta/heka.yml
@@ -31,3 +31,75 @@
{%- endfor %}
{%- endif %}
+{%- if server.get('enabled', False) %}
+metric_collector:
+ trigger:
+ apache_check:
+ description: 'Apache service cannot be checked'
+ severity: down
+ rules:
+ - metric: apache_check
+ relational_operator: '=='
+ threshold: 0
+ window: 60
+ periods: 0
+ function: last
+ apache_idle_workers:
+ description: 'There is no Apache idle workers available'
+ severity: warning
+ rules:
+ - metric: apache_idle_workers
+ relational_operator: '=='
+ threshold: 0
+ window: 60
+ periods: 0
+ function: min
+ alarm:
+ apache_check:
+ alerting: enabled
+ triggers:
+ - apache_check
+ dimension:
+ service: apache-check
+ apache_idle_workers:
+ alerting: enabled
+ triggers:
+ - apache_idle_workers
+ dimension:
+ service: apache-idle-workers
+aggregator:
+ alarm_cluster:
+ apache_check:
+ policy: availability_of_members
+ alerting: enabled
+ match:
+ service: apache-check
+ group_by: hostname
+ members:
+ - apache_check
+ dimension:
+ service: apache
+ nagios_host: 01-service-clusters
+ apache_idle_workers:
+ policy: availability_of_members
+ alerting: enabled
+ match:
+ service: apache-idle-workers
+ group_by: hostname
+ members:
+ - apache_idle_workers
+ dimension:
+ service: apache
+ nagios_host: 01-service-clusters
+ apache:
+ policy: highest_severity
+ alerting: enabled_with_notification
+ match:
+ service: apache
+ members:
+ - apache_check
+ - apache_idle_workers
+ dimension:
+ cluster_name: apache
+ nagios_host: 00-top-clusters
+{%- endif %}