mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-13 04:50:41 +01:00
Newer Elasticsearch versions reject typed APIs. This adapts the module so shipping works out of the box with modern clusters and keeps the codebase aligned with typeless ES conventions. Impact: bulk metadata no longer includes _type unless explicitly set. Old setups that relied on a default "events" type (ES < 8) may need explicit configuration. Technically, the default searchType is now NULL (OMES_SEARCHTYPE_DEFAULT). setPostURL continues to route requests to the typeless /_doc endpoint, but bulk metadata is generated without a _type field when searchType is unset. The legacy default "events" for ES < 8 is removed. Tests are updated to stop passing searchType, and the searchType-empty test is dropped to reflect the new default. No OMODTX or action-queue semantics change. Closes: https://github.com/rsyslog/rsyslog/issues/5060
42 lines
1.1 KiB
Bash
Executable File
42 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# This file is part of the rsyslog project, released under ASL 2.0
|
|
. ${srcdir:=.}/diag.sh init
|
|
ensure_elasticsearch_ready
|
|
|
|
init_elasticsearch
|
|
curl -H 'Content-Type: application/json' -XPUT localhost:19200/rsyslog_testbench/ -d '{
|
|
"mappings": {
|
|
"properties": {
|
|
"msgnum": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}'
|
|
generate_conf
|
|
add_conf '
|
|
# Note: we must mess up with the template, because we can not
|
|
# instruct ES to put further constraints on the data type and
|
|
# values. So we require integer and make sure it is none.
|
|
template(name="tpl" type="string"
|
|
string="{\"msgnum\":\"x%msg:F,58:2%\"}")
|
|
|
|
module(load="../plugins/omelasticsearch/.libs/omelasticsearch")
|
|
:msg, contains, "msgnum:" action(type="omelasticsearch"
|
|
template="tpl"
|
|
searchIndex="rsyslog_testbench"
|
|
serverport="19200"
|
|
bulkmode="on"
|
|
errorFile="./'${RSYSLOG_DYNNAME}'.errorfile")
|
|
'
|
|
startup
|
|
injectmsg 0 1000
|
|
shutdown_when_empty
|
|
wait_shutdown
|
|
if [ ! -f ${RSYSLOG_DYNNAME}.errorfile ]
|
|
then
|
|
echo "error: error file does not exist!"
|
|
exit 1
|
|
fi
|
|
exit_test
|