File: mmexternal-interface-input.rst

package info (click to toggle)
rsyslog 8.2512.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,464 kB
  • sloc: ansic: 123,809; sh: 42,109; makefile: 5,962; javascript: 1,842; python: 1,222; lex: 607; yacc: 193; perl: 162; sql: 103; tcl: 9; ruby: 2
file content (64 lines) | stat: -rw-r--r-- 1,720 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
.. _param-mmexternal-interface-input:
.. _mmexternal.parameter.input.interface-input:

interface.input
===============

.. index::
   single: mmexternal; interface.input
   single: interface.input

.. summary-start

Selects which message representation mmexternal passes to the external
plugin.

.. summary-end

This parameter applies to :doc:`../../configuration/modules/mmexternal`.

:Name: interface.input
:Scope: input
:Type: string
:Default: msg
:Required?: no
:Introduced: 8.3.0

Description
-----------
This parameter controls what part of the message is passed to the external
program's standard input. It can be set to one of the following values:

* ``"msg"`` (default): Passes the MSG part of the syslog message.
* ``"rawmsg"``: Passes the complete, original syslog message as received by
  rsyslog, including headers.
* ``"fulljson"``: Passes the complete rsyslog message object (with all
  properties) as a JSON object string. This corresponds to the ``jsonmesg``
  dynamic message property.

This setting **must** match the external plugin's expectations. Check the
external plugin documentation for what needs to be used.

.. note::
   When processing multi-line messages, you **must** use ``"fulljson"``. This
   ensures that embedded line breaks are encoded properly and do not cause
   parsing errors in the external plugin interface.

Input usage
-----------
.. _param-mmexternal-input-interface-input:
.. _mmexternal.parameter.input.interface-input-usage:

.. code-block:: rsyslog

   module(load="mmexternal")

   action(
       type="mmexternal"
       binary="/path/to/mmexternal.py"
       interfaceInput="fulljson"
   )

See also
--------
See also :doc:`../../configuration/modules/mmexternal`.