Json 编解码插件
编辑Json 编解码插件
编辑- 插件版本: v3.1.1
- 发布日期: 2022-10-03
- 更新日志
对于其他版本,请参阅版本化插件文档。
获取帮助
编辑如有关于该插件的问题,请在Discuss论坛中开启一个主题。如需报告错误或提出功能请求,请在Github中开启一个问题。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑此编解码器可用于解码(通过输入)和编码(通过输出)完整的 JSON 消息。如果发送的数据是根级别的 JSON 数组,则会创建多个事件(每个元素一个)。
如果您正在流式传输以 \n 分隔的 JSON 消息,请参阅 json_lines
编解码器。
编码将生成紧凑的 JSON 表示形式(没有行终止符或缩进)
如果此编解码器从输入接收到的负载不是有效的 JSON,则它将回退到纯文本并添加标签 _jsonparsefailure
。在 JSON 失败时,负载将存储在 message
字段中。
Json 编解码器配置选项
编辑设置 | 输入类型 | 必需 |
---|---|---|
字符串,以下之一 |
否 |
|
否 |
||
否 |
charset
编辑- 值可以是以下任何一个:
ASCII-8BIT
、UTF-8
、US-ASCII
、Big5
、Big5-HKSCS
、Big5-UAO
、CP949
、Emacs-Mule
、EUC-JP
、EUC-KR
、EUC-TW
、GB2312
、GB18030
、GBK
、ISO-8859-1
、ISO-8859-2
、ISO-8859-3
、ISO-8859-4
、ISO-8859-5
、ISO-8859-6
、ISO-8859-7
、ISO-8859-8
、ISO-8859-9
、ISO-8859-10
、ISO-8859-11
、ISO-8859-13
、ISO-8859-14
、ISO-8859-15
、ISO-8859-16
、KOI8-R
、KOI8-U
、Shift_JIS
、UTF-16BE
、UTF-16LE
、UTF-32BE
、UTF-32LE
、Windows-31J
、Windows-1250
、Windows-1251
、Windows-1252
、IBM437
、IBM737
、IBM775
、CP850
、IBM852
、CP852
、IBM855
、CP855
、IBM857
、IBM860
、IBM861
、IBM862
、IBM863
、IBM864
、IBM865
、IBM866
、IBM869
、Windows-1258
、GB1988
、macCentEuro
、macCroatian
、macCyrillic
、macGreek
、macIceland
、macRoman
、macRomania
、macThai
、macTurkish
、macUkraine
、CP950
、CP951
、IBM037
、stateless-ISO-2022-JP
、eucJP-ms
、CP51932
、EUC-JIS-2004
、GB12345
、ISO-2022-JP
、ISO-2022-JP-2
、CP50220
、CP50221
、Windows-1256
、Windows-1253
、Windows-1255
、Windows-1254
、TIS-620
、Windows-874
、Windows-1257
、MacJapanese
、UTF-7
、UTF8-MAC
、UTF-16
、UTF-32
、UTF8-DoCoMo
、SJIS-DoCoMo
、UTF8-KDDI
、SJIS-KDDI
、ISO-2022-JP-KDDI
、stateless-ISO-2022-JP-KDDI
、UTF8-SoftBank
、SJIS-SoftBank
、BINARY
、CP437
、CP737
、CP775
、IBM850
、CP857
、CP860
、CP861
、CP862
、CP863
、CP864
、CP865
、CP866
、CP869
、CP1258
、Big5-HKSCS:2008
、ebcdic-cp-us
、eucJP
、euc-jp-ms
、EUC-JISX0213
、eucKR
、eucTW
、EUC-CN
、eucCN
、CP936
、ISO2022-JP
、ISO2022-JP2
、ISO8859-1
、ISO8859-2
、ISO8859-3
、ISO8859-4
、ISO8859-5
、ISO8859-6
、CP1256
、ISO8859-7
、CP1253
、ISO8859-8
、CP1255
、ISO8859-9
、CP1254
、ISO8859-10
、ISO8859-11
、CP874
、ISO8859-13
、CP1257
、ISO8859-14
、ISO8859-15
、ISO8859-16
、CP878
、MacJapan
、ASCII
、ANSI_X3.4-1968
、646
、CP65000
、CP65001
、UTF-8-MAC
、UTF-8-HFS
、UCS-2BE
、UCS-4BE
、UCS-4LE
、CP932
、csWindows31J
、SJIS
、PCK
、CP1250
、CP1251
、CP1252
、external
、locale
- 默认值是
"UTF-8"
此编解码器中使用的字符编码。示例包括“UTF-8”和“CP1252”。
JSON 需要有效的 UTF-8 字符串,但在某些情况下,发出 JSON 的软件会使用其他编码(例如 nxlog)。在这种情况很奇怪的情况下,您可以将 charset
设置设置为文本的实际编码,Logstash 会为您转换。
对于 nxlog 用户,您可以将其设置为“CP1252”。
ecs_compatibility
编辑- 值类型为 字符串
-
支持的值为
-
disabled
:根级别添加的 JSON 文档数据 -
v1
、v8
:符合 Elastic Common Schema 的行为(当未设置target
时发出警告)
-
-
默认值取决于正在运行的 Logstash 版本
- 当 Logstash 提供
pipeline.ecs_compatibility
设置时,其值将用作默认值 - 否则,默认值为
disabled
- 当 Logstash 提供
控制此插件与Elastic Common Schema (ECS)的兼容性。