19359 Commits

Author SHA1 Message Date
Rainer Gerhards
8dc8a489ae
maintain ChangeLog 2025-11-28 13:12:18 +01:00
Rainer Gerhards
e6db7c9fc7
Merge pull request #5519 from billie-alsup/dev/balsup/imtcp-netns
imtcp support for NetworkNamespace
2025-11-28 13:07:06 +01:00
Ulrike Gerhards
67d00e9456
Codex/refactor rsyslog module parameter documentation wnkysy (#6311)
omlibdi: improvide doc by parameter split

splitting the monolithic omlibdbi doc into smaller chunks for better 
human and AI understanding. Follows overall rsyslog doc strategy.

With the help of AI Agent: codex
2025-11-25 08:52:12 +01:00
Rainer Gerhards
cbb0688dfe
maintain ChangeLog 2025-11-25 08:48:25 +01:00
Jan Gerhards
fbf0499e51
mmanon: fix races in IPv4 trie and IPv6 hash access (#6315)
Removes a data race on the action instance so anonymization stays
reliable under concurrent workers. This improves stability and makes
mappings deterministic.

Impact: Previously rare nondeterminism or crashes removed; slight extra
contention possible at very high event rates.

Before/After:
BEFORE: concurrent updates to IPv4 trie and IPv6 caches raced.
AFTER: caches are mutex-protected; mappings remain consistent.

Technical:
- Add ipv4Mutex for the IPv4 consistency trie; ipv6Mutex for IPv6 and
  embedded-IPv4 hash tables.
- Initialize both in createInstance; destroy in freeInstance.
- Lock around lookup/insert paths in findip() and findIPv6(); ensure
  unlock on all ABORT/finalize paths.
- No change to algorithms, ABI, or randConsis semantics.

With the help of AI agent: codex
2025-11-25 08:41:45 +01:00
Rainer Gerhards
c327c574b2
Merge pull request #6316 from alorbach/cursor/add-regex-support-for-trailing-data-removal-default-1d66
mmsnareparse: add parameter ignoreTrailingPattern.regex
2025-11-24 17:20:19 +01:00
Cursor Agent
0c20a26d68 mmsnareparse: add parameter ignoreTrailingPattern.regex
Add ignoreTrailingPattern.regex parameter to support POSIX extended
regular expressions for dynamic trailing data removal. This enables
matching patterns with variable prefixes (e.g., numeric prefixes) that
cannot be handled by the static ignoreTrailingPattern parameter.

The new parameter is mutually exclusive with ignoreTrailingPattern.
When a regex pattern is provided, it is compiled during action instance
creation using regcomp with REG_EXTENDED. Compilation errors are reported
via regerror and cause configuration load to abort. The compiled regex
is freed in freeInstance using regfree.

The detect_and_truncate_trailing_extradata function now checks
ignoreTrailingPattern_isRegex to determine whether to use strstr
(static) or regexec (regex) for pattern matching. For regex matches,
the entire last token (including the matched prefix) is truncated and
stored in $!extradata_section, consistent with static pattern behavior.

Documentation updated to clarify truncation behavior and provide regex
examples. Test suite extended with mmsnareparse-trailing-extradata-regex.sh
covering various numeric prefix scenarios. All test cases updated to use
"custom_section" terminology for consistency.

Impact:
- Backward compatible: existing ignoreTrailingPattern continues to work
- New functionality: regex support for dynamic pattern matching
- Configuration validation: mutual exclusivity enforced at load time

Tests:
- mmsnareparse-trailing-extradata.sh (regression test)
- mmsnareparse-trailing-extradata-regex.sh (new regex test)

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-11-24 13:23:21 +01:00
Rainer Gerhards
d20fa48d23
Merge pull request #6312 from alorbach/cursor/ignore-trailing-enrichment-section-in-mmsnareparse-a3f6
mmsnareparse: add ignoreTrailingPattern parameter
2025-11-21 18:50:43 +01:00
Cursor Agent
6681c3bea6 mmsnareparse: add ignoreTrailingPattern parameter
... for trailing extra-data removal.

Add configurable mechanism to detect and remove trailing extra-data sections
from messages before parsing. This addresses cases where third-party enrichers
append non-standard data (e.g., "enrichment_section: fromhost-ip=...") that
can interfere with Snare event parsing.

The ignoreTrailingPattern parameter can be set at both module and action
levels, with action-level values overriding module defaults. When configured,
the parser searches for the pattern in trailing positions (after the last
tab-separated token). If found, the message is truncated at the start of the
last token, removing the entire trailing section including any preceding
content in that token (e.g., dynamic numeric prefixes).

The truncated extra-data section is optionally exposed as a !extradata_section
message property, allowing downstream processing to access the removed content
if needed (e.g., for extracting sender IP addresses).

Implementation details:
- Pattern matching is literal string-based (not regex)
- Truncation only occurs when pattern appears in valid trailing positions
- Conservative detection for non-tab messages (last 20% or 200 chars)
- Proper memory management for pattern strings and extra-data sections
- No changes to existing behavior when parameter is not set

Added test case mmsnareparse-trailing-extradata.sh with anonymized sample
data validating Event ID 13 parsing with trailing enrichment section.

Updated documentation in doc/source/configuration/modules/mmsnareparse.rst
with parameter description and usage notes.

docs: enhance AGENTS.md with WSL build/test instructions
Added complete dependency installation, module-specific configure examples,
test execution patterns, and debugging workflow based
on actual development sessions.

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-11-21 15:48:43 +01:00
Rainer Gerhards
a3623dec6e
Merge pull request #6306 from rgerhards/fix-history
doc: some nitfixes to historical doc
2025-11-18 17:17:38 +01:00
Rainer Gerhards
2ff11571b3
doc: some nitfixes to historical doc
which I unfortunaltey overlooked pre-merge
2025-11-18 16:15:51 +01:00
Rainer Gerhards
fee6b66873
Merge pull request #6299 from rsyslog/codex/combine-rsyslog-history-pages-into-one
doc: restore pre-rsyslog lineage in history page
2025-11-18 15:51:39 +01:00
Ulrike Gerhards
9471372d7f
Codex/refactor omdtls documentation for parameters (#6298)
* omdtls: split parameter docs into reference pages; add summary list-tables; fix anchors

- Split Module/Input parameters into per-parameter files in reference/parameters
- Replace inline tables with list-tables + included summaries
- Add hidden toctree with new parameter pages
- Fix anchors and add usage examples for all parameters

With the help of AI-Agent: ChatGPT
2025-11-18 15:50:48 +01:00
Rainer Gerhards
33b659b422
Merge pull request #6305 from rsyslog/codex/analyze-documentation-for-conceptual-model-candidates
Add conceptual model summaries to documentation
2025-11-18 15:40:45 +01:00
Rainer Gerhards
bf684016ac doc: add conceptual model summaries
* add concise conceptual model sections to queue, parser, and ruleset docs for CS readers\n* extend log pipeline pattern and stage pages with abstract semantics\n* summarize reliability and syslog whitepapers with core models for ingestion\n\nAI-Agent: ChatGPT
2025-11-18 15:16:27 +01:00
0e586a9dce
Merge pull request #6304 from alorbach/cursor/investigate-sysmon-event-support-for-mmsnareparse-543c
mmsnareparse: add Sysmon event support via JSON definition file
2025-11-18 14:38:02 +01:00
Cursor Agent
a15af53796 mmsnareparse: add Sysmon event support via JSON definition file
Add support for Microsoft Sysinternals Sysmon events to the mmsnareparse
plugin using an external JSON definition file (sysmon_definitions.json).
This enables generic parsing of Sysmon events without hardcoding
event-specific logic, making it extensible for other event channels.

Key changes:
- Enhanced locate_snare_payload() to detect Sysmon events when MSWinEventLog
  is in syslog tag (RFC3164 parsing scenario)
- Updated populate_event_metadata() to extract Channel from raw message
  when version/channel fields are removed by syslog parser
- Fixed key-value parsing to handle single-space-separated pairs in
  Sysmon descriptions (e.g., "User: CORP\NETWORK SERVICE")
- Improved pattern selection to prefer EventData section patterns when
  sectionName is NULL, fixing User field storage location
- Added sysmon_definitions.json with event type mappings and field patterns
- Added test case mmsnareparse-sysmon.sh validating Event IDs 1, 3, and 5

The implementation is generic and extensible - other event channels can
be added by creating additional JSON definition files following the same
structure.

Co-authored-by: alorbach <alorbach@adiscon.com>
2025-11-18 13:04:06 +01:00
Rainer Gerhards
99d08b60f6
doc: restructure and modernize project history; add origins page and xrefs
- Split legacy history content into two focused documents:
  * about/history.rst – rsyslog history (2004–present, reverse-chronological)
  * about/origins.rst – syslog heritage (1983–2003)
- Added missing cross-references to existing docs (Beginner’s Guide,
  omelasticsearch, modules index, containers).
- Strengthened 1983 BSD syslogd heritage statement.
- Created redirect stub for old doc/history.rst.
- Updated about/index.rst to include new origins page.
- Polished timelines, wording, and structure for clarity and long-term maintainability.

With the help of AI-Agent: ryslog doc assistant (openai based)
2025-11-17 19:09:21 +01:00
Rainer Gerhards
4cd7f528a8
doc: add json-ld (basic schema) (#6303)
* doc: add json-ld to doc set (base schema)

This adds basic json-ld to the doc set so that articles are properly flagged as techArticle or FAQ.
This also adds a toggle switch and user doc on how to disable json-ld generation. That is expected to be done when building versions for distro packages for offline consumption.

Note that while this method improves semantic understanding, we do not expect a notable improvement in large-scale RAG systems, as the chunking/indexing usually works well enough. This is not yet graph-RAG json-ld - we need to work more on the ontology.

With the help of AI-Agent: ChatGPT
2025-11-17 18:07:08 +01:00
Rainer Gerhards
cecee8b4b8
Merge pull request #6302 from rgerhards/git-subproject-fix
Fix: Remove stray/unwanted 'rsyslog' subproject
2025-11-16 11:14:55 +01:00
Rainer Gerhards
77bfd9e705
Merge pull request #6300 from rgerhards/devcontainer-yaml
container: add libyaml to some dev containers
2025-11-14 13:24:34 +01:00
Rainer Gerhards
ab815b24e1
Fix: Remove stray/unwanted 'rsyslog' subproject
This was introduced in 78541ff, which I accidentally merged with the
subproject (I should have rejected merge unless this was fixed.).

Now that I notice, this is the clean-up. Sorry for any confusion this
might have caused.

Thanks for Juha Kallioinen for alerting me.

see also: https://github.com/rsyslog/rsyslog/discussions/6301
2025-11-14 13:19:16 +01:00
Rainer Gerhards
a7ab569868
container: add libyaml to some dev containers
- openeuler
- ubuntu 24.04
2025-11-14 12:47:47 +01:00
Ulrike Gerhards
d64964530d
Codex/refactor rsyslog module documentation parameters (#6296)
* omhdfs: split parameter docs into reference pages

- Split module parameter documentation into dedicated reference pages for OMHDFSFileName, OMHDFSHost, OMHDFSPort, and OMHDFSDefaultTemplate
- Replace inline parameter tables with summary list-table includes and add hidden toctree plus casing note on module page
- Document legacy directive names and provide usage examples with camelCase configuration snippets
- Verified new pages with docutils to ensure markup parses cleanly

With the help of AI-Agent: ChatGPT
2025-11-14 10:18:23 +01:00
Rainer Gerhards
2d18c58873
maintain ChangeLog 2025-11-12 19:03:14 +01:00
Rainer Gerhards
f670d53802
fix codestyle issue (minor) 2025-11-12 18:58:07 +01:00
shinigami35
7e4aeffd67
omhttp - Add two profile for Splunk HEC (#6150)
* PR add profile SPLUNK HEC event and raw

 Auteur :     Shini <adrien.gandarias@gmail.com>
2025-11-12 18:52:52 +01:00
Ulrike Gerhards
9e55d219b5
Codex/refactor rsyslog module parameter documentation omgssapi (#6294)
* omgssapi: split parameter docs into reference pages

- Introduce dedicated parameter reference files for GssForwardServiceName, GssMode, and ActionGSSForwardDefaultTemplate

- Replace inline module parameter description with list-table summaries and add hidden toctree on module page

- Link imgssapi documentation to the omgssapi module reference without duplicating toctree entries

- AI-Agent: ChatGPT

* omgssapi: correct parameter default documentation

Fix parameter reference defaults to omit erroneous module= prefixes.

With the help of AI-Agent: ChatGPT
2025-11-12 15:22:45 +01:00
Ulrike Gerhards
b4240fe580
Codex/refactor rsyslog parameter documentation fvn43p (#6290)
* omclickhouse: split parameter docs into reference pages

- move each action parameter into a dedicated reference file with proper anchors
- replace inline CSV tables with summary list-table and hidden toctree includes
- carry over descriptions, defaults, and usage examples for all module parameters

With the help of AI-Agent: ChatGPT
2025-11-12 15:08:32 +01:00
Rainer Gerhards
4bce708b4b
Merge pull request #6295 from rgerhards/faq-windows
doc: add FAQ if rsyslog runs on windows
2025-11-10 11:08:22 +01:00
Rainer Gerhards
af5f6bfb3f
doc: add FAQ if rsyslog runs on windows
Web log results show this is often searched for. Added FAQ with viable
options from rsyslog ecosystem.

Plus some fixes for existing sphinx nits.
2025-11-10 10:55:17 +01:00
MRedbourne
26e1ef8987
Implement Kafka Metrics, new pstats format (#6154)
* imkafka: enhance stats support, including zabbix format

Adapted omkafka pstats counters to the consumer imkafka modules for pstats tracking. Implements both global (module-level) and local (topic+cg-level) metrics. Implements librdkafka metrics (rtt_avg_usec, throttle_avg_msec, int_latency_avg_usec) variables, global categorized (ctrKafkaRespTimedOut, ctrKafkaRespTransport, ctrKafkaRespBrokerDown, ctrKafkaRespAuth, ctrKafkaRespSSL, ctrKafkaRespOther) as well as the normal kafka stats (KafkaFail, Submitted, Received, EOF, PollEmpty, MaxLag).

MaxLag is a consumer metric only.

JSON helpers implemented to handle librdkafka's JSON emissions for time-window stats. Uses the traditional libfastjson library which is already needed for compilation. (parse librdkafka emission -> output as Ctr)

Updated docs to highlight changes around the new format "zabbix". Listed notice that log.syslog is not recommended/log.file is recommended, along with suggestions if log.syslog is necessary.

Updated impstats.c to include new formatting compatible with Zabbix LLD protocols. Implemented arrayed JSON support under the format="zabbix".

Docs should reflect that large pstats records in an arrayed-json object (single object per pstats interval) should not be used in conjunction with log.syslog="on" due to truncation issues. Small emissions are usually OK.

log.file is recommended as it bypasses the traditional $MaxMsgSize limitations.
2025-11-07 11:41:21 +01:00
Rainer Gerhards
f51225cc9b
doc: clarify release channels in versioning guide (#6289)
* doc: clarify release tracks
Highlight that the daily and scheduled channels are both production-ready and note the long-running CI and review process backing the daily stable stream.

With the help of AI-Agent: ChatGPT
2025-11-06 11:41:57 +01:00
Rainer Gerhards
3457b27352
fix typo in European mirror link (https vs. http) 2025-11-06 09:29:05 +01:00
Ulrike Gerhards
10161e1626
Codex/refactor rsyslog module parameter documentation bn356b (#6287)
* omazureeventhubs: split parameter docs into reference pages; add summary list-tables; fix anchors

- Split action parameter documentation into dedicated reference pages with scope-correct anchors, summaries, and usage examples.

- Replace the module page's inline parameter blocks with a list-table that includes the new summaries and a hidden toctree.

- Preserve existing narrative content while aligning case-sensitivity guidance with camelCase recommendations.

With the help of AI-Agent: ChatGPT
2025-11-05 17:27:15 +01:00
Ulrike Gerhards
d959521d9d
Codex/refactor rsyslog module documentation b6q3fv (#6281)
* omhttp: split parameter docs into reference pages; add summary list-tables; fix anchors

- Split module parameters into per-parameter reference pages with summary metadata
- Replace inline parameter section with list-table and hidden toctree on the module page
- Update module overview references and usage examples to the new anchors
- Preserve existing descriptions, notes, and examples for all parameters

With the help of AI-Agent: ChatGPT
2025-11-05 17:23:33 +01:00
Rainer Gerhards
91f9525d4e
doc: add release version number semantic info (#6286)
* docs: clarify calendar-based release cadence

- record the bi-monthly Tuesday schedule and why December ships early\n- explain that v8 stays the major digit unless the numbering scheme itself changes\n- relate the 8.yymm.0 format to other calendar-based projects and update the newcomer guide note

AI-Agent: ChatGPT

* Update doc/source/about/release_versioning.rst

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-05 16:52:29 +01:00
Ulrike Gerhards
2e504217e2
Codex/refactor rsyslog module parameter documentation khpye2 (#6276)
* imsolaris: split parameter docs into reference pages; add summary list-tables; fix anchors

- Split IMSolarisLogSocketName docs into reference/parameters entry with scoped anchors
- Replace inline module parameter text with list-table summary and hidden toctree
- Document legacy directive usage and provide module example

With the help of AI-Agent: ChatGPT
2025-11-05 10:34:44 +01:00
Ulrike Gerhards
aaa7f4c59c
Codex/refactor rsyslog module parameter documentation s7jgy3 (#6277)
* imrelp: split parameter docs into reference pages

- Split Module/Input parameters into per-parameter reference pages with scoped anchors and summaries
- Replace inline parameter descriptions with list-tables that include summary includes and add hidden toctree
- Preserve TLS guidance, legacy aliases, and usage examples while aligning casing and anchor conventions

With the help of AI-Agent: ChatGPT
2025-11-05 10:32:05 +01:00
Ulrike Gerhards
27d488b05f
Codex/refactor rsyslog module parameter documentation p47sz4 (#6285)
* omsendertrack: split parameter docs into reference pages

- replace inline parameter tables with summary list-table includes and add hidden toctree
- create per-parameter reference pages with preserved descriptions and usage examples
- update internal references to new scoped anchors for senderid, statefile, interval, and cmdfile

With the help of AI-Agent: ChatGPT
2025-11-05 10:30:25 +01:00
Rainer Gerhards
87235853a6
Enhance README with Table of Contents and new sections (#6283)
* Enhance README with Table of Contents and new sections

Added a Table of Contents and sections for Global Accessibility and Collaboration.
2025-11-03 13:18:47 +01:00
Rainer Gerhards
82d5ce5d27
README.md Updates for clarity and content (#6282)
* Revise README for clarity and formatting improvements

Updated formatting and improved clarity in README content, including section titles and descriptions.
2025-11-03 12:19:40 +01:00
Rainer Gerhards
7274c46f0e
Merge pull request #6280 from rgerhards/i6267-workaround
CI: skip a potentially buggy test
2025-11-01 17:51:19 +01:00
Rainer Gerhards
70cefe02b5
CI: skip a potentially buggy test
Test imrelp-tls-cfgcmd.sh seems to fail but still report success, which
can create a false impression.

Suspected root cause is in librelp. It may also be that the test
actually succeeds, where it just looks like it failed because of abort
of tcpflood testing tool (due to librelp bug).

The whole point of the test is that an error is generated, and this may
very well happen. And only tcpflood aborts because of the librelp bug.
Core file detection than jumps in, and invalidly treats the tcpflood
core file as a test failure.

While this is investigated, the test will be skipped. Highly like that
this needs to be forwarded either to librelp or is a native tcpflood
bug.

Thanks to Chris Hofstaedtler for reporting the bug and Michael Biebl for
forwarding it upstream.

see also: https://github.com/rsyslog/rsyslog/issues/6267
2025-11-01 14:58:56 +01:00
shinigami35
77745412dd
omhttp - Stats by destination server (#6141)
omhttp: Implement optional per destination server stats
2025-10-30 18:23:30 +01:00
Rainer Gerhards
5e57c454c8
Merge pull request #5349 from Appla/omhiredis-support-uds
OMHIREDIS: supported UDS redis server address
2025-10-30 18:18:26 +01:00
Ulrike Gerhards
be43eb8417
Codex/refactor module name parameters documentation (#6250)
* immark: split parameter docs into reference pages

- add an Interval parameter reference page with metadata, usage,
  and the legacy alias
- replace the module parameter table with a summary list-table
  that includes the new page
- add a hidden toctree entry and update the casing guidance to
  match the parameter ref split

With the help of AI-Agent: ChatGPT
2025-10-30 17:25:12 +01:00
Ulrike Gerhards
a9f96be891
Codex/refactor rsyslog module parameter documentation rgp0jv (#6256)
impstats: split parameter docs into reference pageS

- Split impstats module parameters into dedicated reference pages with scoped anchors and usage examples
- Replace inline parameter content with summary list-table and hidden toctree on the module page
- Preserve defaults, notes, and formatting while aligning example casing per policy

With the help of AI-Agent: ChatGPT
2025-10-30 17:21:23 +01:00
Rainer Gerhards
5a3838524a
Merge pull request #6274 from BurramsettyAkshayaPranathi/spelling-fix
Fix typos: corrected 'intial' to 'initial' and 'intialize' to 'initia…
2025-10-30 17:11:50 +01:00
Rainer Gerhards
7e0a25a1b2
doc: add FAQ for sending data to vespa.ai
First FAQ to tell how to support vespa.ai from rsyslog. With sample
and clear outline of benefits.
2025-10-30 15:37:21 +01:00