diff --git a/puppet/zulip_ops/manifests/app_frontend_monitoring.pp b/puppet/zulip_ops/manifests/app_frontend_monitoring.pp index 48dcb71c23..a013c7dafc 100644 --- a/puppet/zulip_ops/manifests/app_frontend_monitoring.pp +++ b/puppet/zulip_ops/manifests/app_frontend_monitoring.pp @@ -1,6 +1,7 @@ # @summary Munin monitoring of a Django frontend and RabbitMQ server. # class zulip_ops::app_frontend_monitoring { + include zulip_ops::prometheus::rabbitmq include zulip_ops::prometheus::uwsgi include zulip_ops::munin_node $munin_plugins = [ diff --git a/puppet/zulip_ops/manifests/prometheus/rabbitmq.pp b/puppet/zulip_ops/manifests/prometheus/rabbitmq.pp new file mode 100644 index 0000000000..c266523c62 --- /dev/null +++ b/puppet/zulip_ops/manifests/prometheus/rabbitmq.pp @@ -0,0 +1,12 @@ +# @summary Prometheus monitoring of rabbitmq server. This is done via +# the built-in prometheus plugin which serves on port 15692: +# https://www.rabbitmq.com/prometheus.html +# +class zulip_ops::prometheus::rabbitmq { + exec { 'enable rabbitmq-prometheus': + command => 'rabbitmq-plugins enable rabbitmq_prometheus', + unless => 'grep -q rabbitmq_prometheus /etc/rabbitmq/enabled_plugins', + require => Service['rabbitmq-server'], + } + zulip_ops::firewall_allow { 'rabbitmq': port => '15692' } +}