summaryrefslogtreecommitdiffstats
path: root/nfvparser/toscaparser/tests/artifacts/logstash
diff options
context:
space:
mode:
Diffstat (limited to 'nfvparser/toscaparser/tests/artifacts/logstash')
-rw-r--r--nfvparser/toscaparser/tests/artifacts/logstash/configure_collectd.py28
-rw-r--r--nfvparser/toscaparser/tests/artifacts/logstash/configure_elasticsearch.py26
-rw-r--r--nfvparser/toscaparser/tests/artifacts/logstash/configure_rsyslog.py25
-rw-r--r--nfvparser/toscaparser/tests/artifacts/logstash/create.sh20
-rw-r--r--nfvparser/toscaparser/tests/artifacts/logstash/start.sh4
5 files changed, 103 insertions, 0 deletions
diff --git a/nfvparser/toscaparser/tests/artifacts/logstash/configure_collectd.py b/nfvparser/toscaparser/tests/artifacts/logstash/configure_collectd.py
new file mode 100644
index 0000000..18fdacf
--- /dev/null
+++ b/nfvparser/toscaparser/tests/artifacts/logstash/configure_collectd.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+# This script configures the logstash input using the udp protocol on
+# port 25826. This is intended to receive data from collectd from
+# any source
+with open("/etc/logstash/conf.d/collectd.conf", "w") as fh:
+ fh.write("""
+ input {
+ udp {
+ port => 25826 # 25826 is the default for collectd
+ buffer_size => 1452 # 1452 is the default for collectd
+ codec => collectd { }
+ tags => ["metrics"]
+ type => "collectd"
+ }
+ }""")
diff --git a/nfvparser/toscaparser/tests/artifacts/logstash/configure_elasticsearch.py b/nfvparser/toscaparser/tests/artifacts/logstash/configure_elasticsearch.py
new file mode 100644
index 0000000..2e5389c
--- /dev/null
+++ b/nfvparser/toscaparser/tests/artifacts/logstash/configure_elasticsearch.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+# This script configures the logstash output to forward to elasticsearch
+# The environment variable elasticsearch_ip is expected to be set up
+import os
+with open("/etc/logstash/conf.d/elasticsearch.conf", 'w') as fh:
+ fh.write("""
+ output {
+ elasticsearch {
+ action => index
+ host => "%s"
+ protocol => "http"
+ }
+ }""" % (os.environ['elasticsearch_ip']))
diff --git a/nfvparser/toscaparser/tests/artifacts/logstash/configure_rsyslog.py b/nfvparser/toscaparser/tests/artifacts/logstash/configure_rsyslog.py
new file mode 100644
index 0000000..fc610c2
--- /dev/null
+++ b/nfvparser/toscaparser/tests/artifacts/logstash/configure_rsyslog.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+# This script configures the logstash input using the RELP protocol on
+# port 2514 This is intended to receive logs from rsyslog from
+# any source
+with open("/etc/logstash/conf.d/rsyslog.conf", "w") as fh:
+ fh.write("""
+ input {
+ relp {
+ port => 2514
+ tags => ["logs"]
+ }
+ }""")
diff --git a/nfvparser/toscaparser/tests/artifacts/logstash/create.sh b/nfvparser/toscaparser/tests/artifacts/logstash/create.sh
new file mode 100644
index 0000000..77cc8fd
--- /dev/null
+++ b/nfvparser/toscaparser/tests/artifacts/logstash/create.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# This script installs java, logstash and the contrib package for logstash
+# install java as prereq
+
+apt-get update
+apt-get install -y openjdk-7-jre-headless
+mkdir /etc/logstash
+
+# install by apt-get from repo
+wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | apt-key add -
+echo "deb http://packages.elasticsearch.org/logstash/1.4/debian stable main" | tee -a /etc/apt/sources.list
+
+apt-get update
+apt-get install -y logstash
+
+# install contrib to get the relp plugin
+/opt/logstash/bin/plugin install contrib
+
+# set up to run as service
+update-rc.d logstash defaults 95 10
diff --git a/nfvparser/toscaparser/tests/artifacts/logstash/start.sh b/nfvparser/toscaparser/tests/artifacts/logstash/start.sh
new file mode 100644
index 0000000..a73cf61
--- /dev/null
+++ b/nfvparser/toscaparser/tests/artifacts/logstash/start.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+# Run logstash as service in init.d
+service logstash stop
+service logstash start