From a339be3b8c8b7ba3f8af2f22cdf26ed21258a04c Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Mon, 7 Jul 2014 13:14:01 -0700 Subject: [PATCH] Convert logstash ES output to HTTP. The logstash elasticsearch output seems to degrade over time and slow down. Restarting the logstash daemon temporarily corrects this problem. Switch to the elasticsearch HTTP output to see if that corrects the problem as well. Note the logstash watchdog is disabled by this change as logstash daemons using elasticsearch HTTP output will not join the elasticsearch cluster which will force the watchdog to always trip. To avoid this issue disable the watchdog. Change-Id: I77044b26fa10fb1fc3690a0464d79d55bed2fe00 --- modules/logstash/manifests/watchdog.pp | 2 ++ modules/openstack_project/manifests/logstash_worker.pp | 1 + modules/openstack_project/templates/logstash/indexer.conf.erb | 3 +-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/logstash/manifests/watchdog.pp b/modules/logstash/manifests/watchdog.pp index ff61a0553c..8199192776 100644 --- a/modules/logstash/manifests/watchdog.pp +++ b/modules/logstash/manifests/watchdog.pp @@ -17,6 +17,7 @@ # be a 'host:port' string). class logstash::watchdog ( + $cron_ensure = 'present', $es_api_node = 'localhost' ) { package { 'jq': @@ -36,6 +37,7 @@ class logstash::watchdog ( } cron { 'logstash-watchdog': + ensure => $cron_ensure, minute => '*/10', environment => 'PATH=/bin:/usr/bin:/usr/local/bin', command => "sleep $((RANDOM\%60)) && /usr/local/bin/logstash-watchdog ${es_api_node}", diff --git a/modules/openstack_project/manifests/logstash_worker.pp b/modules/openstack_project/manifests/logstash_worker.pp index e14ea8f09b..8399ba4422 100644 --- a/modules/openstack_project/manifests/logstash_worker.pp +++ b/modules/openstack_project/manifests/logstash_worker.pp @@ -40,6 +40,7 @@ class openstack_project::logstash_worker ( } class { 'logstash::watchdog': + cron_ensure => 'absent', es_api_node => $discover_node, } diff --git a/modules/openstack_project/templates/logstash/indexer.conf.erb b/modules/openstack_project/templates/logstash/indexer.conf.erb index 5369b80f66..0a83a86680 100644 --- a/modules/openstack_project/templates/logstash/indexer.conf.erb +++ b/modules/openstack_project/templates/logstash/indexer.conf.erb @@ -124,9 +124,8 @@ filter { } output { - elasticsearch { + elasticsearch_http { host => "<%= scope.lookupvar("::openstack_project::logstash_worker::discover_node") %>" - node_name => "<%= scope.lookupvar("::hostname") %>" manage_template => false flush_size => 512 }