svn commit: r463971 - in head/sysutils/logstash6: . files
Mark Felder
feld at FreeBSD.org
Fri Mar 9 16:27:37 UTC 2018
Author: feld
Date: Fri Mar 9 16:27:35 2018
New Revision: 463971
URL: https://svnweb.freebsd.org/changeset/ports/463971
Log:
sysutils/logstash6: Many improvements
- all config files are now in ETCDIR
- rc script is updated to use logsearch.yml to locate logging config (logstash.conf)
This will not break existing setups that used the ETCDIR/logstash.conf file, as that is
now part of the default logstash.yml file
- added configtest to rc script
- sample logstash.conf file no longer includes invalid syntax
- pkg-message had historical messages removed
Added:
head/sysutils/logstash6/files/patch-config_logstash.yml (contents, props changed)
Modified:
head/sysutils/logstash6/Makefile
head/sysutils/logstash6/files/logstash.conf.sample
head/sysutils/logstash6/files/logstash.in
head/sysutils/logstash6/pkg-message
Modified: head/sysutils/logstash6/Makefile
==============================================================================
--- head/sysutils/logstash6/Makefile Fri Mar 9 16:20:58 2018 (r463970)
+++ head/sysutils/logstash6/Makefile Fri Mar 9 16:27:35 2018 (r463971)
@@ -3,6 +3,7 @@
PORTNAME= logstash
PORTVERSION= 6.2.2
+PORTREVISION= 1
CATEGORIES= sysutils java
MASTER_SITES= http://artifacts.elastic.co/downloads/logstash/
PKGNAMESUFFIX= 6
@@ -34,15 +35,23 @@ SUB_LIST= JAVA_HOME=${JAVA_HOME} \
LOGSTASH_HOME=${LOGSTASH_HOME}
LOGSTASH_BIN_FILES= logstash
+LOGSTASH_CONF_FILES= jvm.options log4j2.properties logstash.yml pipelines.yml
LOGSTASH_JRUBY_SUBDIR= vendor/jruby/bin
LOGSTASH_JRUBY_BIN_FILES= ast irb jirb jruby jruby.sh rdoc testrb gem \
jgem jirb_swing jruby.bash jrubyc rake ri
+post-patch:
+ ${REINPLACE_CMD} 's|%%ETCDIR%%|${ETCDIR}|g' ${WRKSRC}/config/logstash.yml
+
do-install:
@${FIND} ${WRKSRC} -name '*.bat' -delete
${MKDIR} ${STAGEDIR}${ETCDIR}
- @(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${LOGSTASH_DIR})
${INSTALL_DATA} ${FILESDIR}/logstash.conf.sample ${STAGEDIR}${ETCDIR}
+.for x in ${LOGSTASH_CONF_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/config/${x} ${STAGEDIR}${ETCDIR}/${x}.sample
+.endfor
+ ${RM} -rf ${WRKSRC}/config
+ @(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${LOGSTASH_DIR})
.for x in ${LOGSTASH_BIN_FILES}
@${CHMOD} ${BINMODE} ${STAGEDIR}${LOGSTASH_DIR}/bin/${x}
.endfor
@@ -52,6 +61,9 @@ do-install:
post-install:
${ECHO} "@sample ${ETCDIR}/logstash.conf.sample" >> ${TMPPLIST}
+.for x in ${LOGSTASH_CONF_FILES}
+ ${ECHO} "@sample ${ETCDIR}/${x}.sample" >> ${TMPPLIST}
+.endfor
${FIND} -s ${STAGEDIR}${PREFIX}/logstash -not -type d | ${SORT} | \
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
${ECHO} "@dir logstash/data" >> ${TMPPLIST}
Modified: head/sysutils/logstash6/files/logstash.conf.sample
==============================================================================
--- head/sysutils/logstash6/files/logstash.conf.sample Fri Mar 9 16:20:58 2018 (r463970)
+++ head/sysutils/logstash6/files/logstash.conf.sample Fri Mar 9 16:27:35 2018 (r463971)
@@ -14,16 +14,8 @@ filter {
#
# if [type] == "syslog" {
# grok {
-# match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} (%{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}|%{GREEDYDATA:syslog_message})" }
-# add_field => [ "received_at", "%{@timestamp}" ]
-# add_field => [ "received_from", "%{@source_host}" ]
-# }
-#
-# if !("_grokparsefailure" in [tags]) {
-# mutate {
-# replace => [ "@source_host", "%{syslog_hostname}" ]
-# replace => [ "@message", "%{syslog_message}" ]
-# }
+# #patterns_dir => ["/usr/local/etc/logstash/patterns"]
+# match => { "message" => "(<%{POSINT:syslog_pri}>)?%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} (%{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}|%{GREEDYDATA:syslog_message})" }
# }
# mutate {
# remove_field => [ "syslog_hostname", "syslog_message" ]
Modified: head/sysutils/logstash6/files/logstash.in
==============================================================================
--- head/sysutils/logstash6/files/logstash.in Fri Mar 9 16:20:58 2018 (r463970)
+++ head/sysutils/logstash6/files/logstash.in Fri Mar 9 16:27:35 2018 (r463971)
@@ -16,8 +16,8 @@
# Logstash installation directory.
#
# logstash_config (string):
-# Default value: /usr/local/etc/${name}/${name}.conf
-# Logstash configuration file path.
+# Default value: /usr/local/etc/${name}
+# Logstash configuration path.
#
# logstash_log (bool):
# Set to "NO" by default.
@@ -56,21 +56,18 @@ logdir="/var/log"
: ${logstash_enable="NO"}
: ${logstash_home="%%LOGSTASH_HOME%%"}
-: ${logstash_config="%%ETCDIR%%/${name}.conf"}
+: ${logstash_config="%%ETCDIR%%"}
: ${logstash_log="YES"}
: ${logstash_log_dir="${logdir}/${name}"}
: ${logstash_java_home="%%JAVA_HOME%%"}
: ${logstash_java_opts=""}
: ${logstash_opts=""}
-piddir=/var/run/${name}
-pidfile=${piddir}/${name}.pid
+pidfile=/var/run/${name}/${name}.pid
-if [ -d $piddir ]; then
- mkdir -p $piddir
-fi
-
+extra_commands=configtest
start_precmd="logstash_precmd"
+configtest_cmd=configtest
logstash_cmd="${logstash_home}/bin/logstash"
procname="${logstash_java_home}/bin/java"
@@ -82,7 +79,7 @@ if checkyesno logstash_log; then
logstash_log_options=" -l ${logstash_log_dir}"
fi
-logstash_args="-f ${logstash_config} ${logstash_log_options} ${logstash_opts}"
+logstash_args="--path.settings ${logstash_config} ${logstash_log_options} ${logstash_opts}"
JAVA_OPTS="${logstash_java_opts}"
JAVA_HOME="${logstash_java_home}"
@@ -99,9 +96,19 @@ PATH=/usr/local/bin:$PATH
logstash_precmd()
{
+ /usr/bin/install -d -o root -g wheel -m 755 ${pidfile%/*}
/usr/bin/install -d -o root -g wheel -m 755 ${logstash_log_dir}
/usr/bin/install -d -o root -g wheel -m 755 /var/db/logstash
/usr/bin/install -d -o root -g wheel -m 755 /var/run/logstash
+}
+
+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
}
Added: head/sysutils/logstash6/files/patch-config_logstash.yml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/logstash6/files/patch-config_logstash.yml Fri Mar 9 16:27:35 2018 (r463971)
@@ -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
+ #
Modified: head/sysutils/logstash6/pkg-message
==============================================================================
--- head/sysutils/logstash6/pkg-message Fri Mar 9 16:20:58 2018 (r463970)
+++ head/sysutils/logstash6/pkg-message Fri Mar 9 16:27:35 2018 (r463971)
@@ -5,10 +5,3 @@ To start logstash as an agent during startup, add
to your /etc/rc.conf.
Extra options can be found in startup script.
-
-NOTE: Since version 1.5.0, logstash is started in agent mode.
-The Kibana web application is no longer embedded in this Logstash
-distribution.
-
-NOTE: Since version 2, logstash does not support an embedded
-ElasticSearch instance.
More information about the svn-ports-head
mailing list