summaryrefslogtreecommitdiff
path: root/sysutils/logstash7/files
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/logstash7/files')
-rw-r--r--sysutils/logstash7/files/logstash.conf.sample17
-rw-r--r--sysutils/logstash7/files/logstash.in121
-rw-r--r--sysutils/logstash7/files/patch-config_logstash.yml11
-rw-r--r--sysutils/logstash7/files/patch-vendor_jruby_bin_jruby11
-rw-r--r--sysutils/logstash7/files/patch-vendor_jruby_bin_jruby.bash11
5 files changed, 171 insertions, 0 deletions
diff --git a/sysutils/logstash7/files/logstash.conf.sample b/sysutils/logstash7/files/logstash.conf.sample
new file mode 100644
index 000000000000..2fa9229d62bf
--- /dev/null
+++ b/sysutils/logstash7/files/logstash.conf.sample
@@ -0,0 +1,17 @@
+# Sample Logstash configuration for creating a simple
+# Beats -> Logstash -> Elasticsearch pipeline.
+
+input {
+ beats {
+ port => 5044
+ }
+}
+
+output {
+ elasticsearch {
+ hosts => ["http://localhost:9200"]
+ index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
+ #user => "elastic"
+ #password => "changeme"
+ }
+}
diff --git a/sysutils/logstash7/files/logstash.in b/sysutils/logstash7/files/logstash.in
new file mode 100644
index 000000000000..a68ee4062264
--- /dev/null
+++ b/sysutils/logstash7/files/logstash.in
@@ -0,0 +1,121 @@
+#!/bin/sh
+
+# Configuration settings for logstash in /etc/rc.conf:
+#
+# PROVIDE: logstash
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+#
+# logstash_enable (bool):
+# Default value: "NO"
+# Flag that determines whether Logstash is enabled.
+#
+# logstash_home (string):
+# Default value: "/usr/local/logstash"
+# Logstash installation directory.
+#
+# logstash_config (string):
+# Default value: /usr/local/etc/${name}
+# Logstash configuration path.
+#
+# logstash_log (bool):
+# Set to "NO" by default.
+# Set it to "YES" to enable logstash logging to file
+# Default output to /var/log/logstash.log
+#
+# logstash_log_file (string):
+# Default value: "${logdir}/${name}.log"
+# Log file path.
+#
+# logstash_java_home (string):
+# Default value: "/usr/local/openjdk8"
+# Root directory of the desired Java SDK.
+# The JAVA_HOME environment variable is set with the contents of this
+# variable.
+#
+# logstash_java_opts (string):
+# Default value: ""
+# Options to pass to the Java Virtual Machine.
+# The JAVA_OPTS environment variable is set with the contents of this
+# variable.
+#
+# logstash_opts (string):
+# Default value: ""
+# Additional command line flags for logstash, eg. "-r"
+#
+
+. /etc/rc.subr
+
+name=logstash
+rcvar=logstash_enable
+
+load_rc_config ${name}
+
+logdir="/var/log"
+
+: ${logstash_enable="NO"}
+: ${logstash_user="logstash"}
+: ${logstash_group="logstash"}
+: ${logstash_home="%%LOGSTASH_HOME%%"}
+: ${logstash_config="%%ETCDIR%%"}
+: ${logstash_log="YES"}
+: ${logstash_log_dir="${logdir}/${name}"}
+: ${logstash_java_home="%%JAVA_HOME%%"}
+: ${logstash_java_opts=""}
+: ${logstash_opts=""}
+
+pidfile=/var/run/${name}/${name}.pid
+
+extra_commands="configtest reload"
+start_precmd="logstash_precmd"
+configtest_cmd=configtest
+
+logstash_cmd="${logstash_home}/bin/logstash"
+procname="${logstash_java_home}/bin/java"
+
+logstash_chdir=${logstash_home}
+logstash_log_options=""
+
+if checkyesno logstash_log; then
+ logstash_log_options=" -l ${logstash_log_dir}"
+fi
+
+logstash_args="--path.settings ${logstash_config} ${logstash_log_options} ${logstash_opts}"
+
+JAVA_OPTS="${logstash_java_opts}"
+JAVA_HOME="${logstash_java_home}"
+export JAVA_OPTS
+export JAVA_HOME
+
+command="/usr/sbin/daemon"
+command_args="-f -p ${pidfile} ${logstash_cmd} ${logstash_args}"
+required_files="${logstash_home} ${logstash_java_home} ${logstash_cmd} ${logstash_config}"
+
+# Include /usr/local/bin in path because Logstash startup scripts
+# assume bash is in path.
+PATH=/usr/local/bin:$PATH
+
+logstash_precmd()
+{
+ /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 ${pidfile%/*}
+ /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 ${logstash_log_dir}
+ /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 /var/db/logstash
+ /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 /var/run/logstash
+
+ if [ -d ${logstash_home}/data/queue ]; then
+ chown ${logstash_user}:${logstash_group} ${logstash_home}/data/queue
+ fi
+}
+
+configtest()
+{
+ echo "${name} configtest:"
+ echo "WARNING: this does not check validity of Grok patterns!"
+ echo "WARNING: this does not check validity of Grok patterns!"
+ echo "WARNING: this does not check validity of Grok patterns!"
+ ${logstash_cmd} --path.settings ${logstash_config} --config.test_and_exit
+}
+
+
+run_rc_command "$1"
diff --git a/sysutils/logstash7/files/patch-config_logstash.yml b/sysutils/logstash7/files/patch-config_logstash.yml
new file mode 100644
index 000000000000..e6d45d08195c
--- /dev/null
+++ b/sysutils/logstash7/files/patch-config_logstash.yml
@@ -0,0 +1,11 @@
+--- config/logstash.yml.orig 2018-03-09 15:21:48 UTC
++++ config/logstash.yml
+@@ -61,7 +61,7 @@
+ #
+ # Where to fetch the pipeline configuration for the main pipeline
+ #
+-# path.config:
++path.config: %%ETCDIR%%/logstash.conf
+ #
+ # Pipeline configuration string for the main pipeline
+ #
diff --git a/sysutils/logstash7/files/patch-vendor_jruby_bin_jruby b/sysutils/logstash7/files/patch-vendor_jruby_bin_jruby
new file mode 100644
index 000000000000..235a818e8c48
--- /dev/null
+++ b/sysutils/logstash7/files/patch-vendor_jruby_bin_jruby
@@ -0,0 +1,11 @@
+--- vendor/jruby/bin/jruby.orig 2018-02-16 20:50:22 UTC
++++ vendor/jruby/bin/jruby
+@@ -244,7 +244,7 @@ do
+ # Match -Xa.b.c=d to translate to -Da.b.c=d as a java option
+ -X*)
+ val=${1:2}
+- if expr "$val" : '.*[.]' > /dev/null; then
++ if expr -- "$val" : '.*[.]' > /dev/null; then
+ java_args=("${java_args[@]}" "-Djruby.${val}")
+ else
+ ruby_args=("${ruby_args[@]}" "-X${val}")
diff --git a/sysutils/logstash7/files/patch-vendor_jruby_bin_jruby.bash b/sysutils/logstash7/files/patch-vendor_jruby_bin_jruby.bash
new file mode 100644
index 000000000000..97a2007b9f07
--- /dev/null
+++ b/sysutils/logstash7/files/patch-vendor_jruby_bin_jruby.bash
@@ -0,0 +1,11 @@
+--- vendor/jruby/bin/jruby.bash.orig 2018-02-16 20:50:22 UTC
++++ vendor/jruby/bin/jruby.bash
+@@ -244,7 +244,7 @@ do
+ # Match -Xa.b.c=d to translate to -Da.b.c=d as a java option
+ -X*)
+ val=${1:2}
+- if expr "$val" : '.*[.]' > /dev/null; then
++ if expr -- "$val" : '.*[.]' > /dev/null; then
+ java_args=("${java_args[@]}" "-Djruby.${val}")
+ else
+ ruby_args=("${ruby_args[@]}" "-X${val}")