Json 编解码器插件
编辑Json 编解码器插件编辑
- 插件版本:v3.1.1
- 发布时间:2022-10-03
- 更新日志
有关其他版本,请参阅版本化插件文档。
获取帮助编辑
如果您对该插件有任何疑问,请在论坛中打开一个主题。如有错误或功能请求,请在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 通用架构的行为(在未设置target
时发出警告)
-
-
默认值取决于运行的 Logstash 版本
- 当 Logstash 提供
pipeline.ecs_compatibility
设置时,其值将用作默认值 - 否则,默认值为
disabled
- 当 Logstash 提供
控制此插件与Elastic 通用架构 (ECS)的兼容性。